Как извлечь изображения из видео файлов с помощью FFmpeg без размытия?

782
Isa Bek

У меня есть X.MTSвидео файл, и я хочу извлечь изображения из. Я пытался извлечь с помощью FFmpeg, но качество извлеченных изображений не очень хорошее.

ffmpeg -i X.MTS images/%05d.png 

Затем я попытался извлечь изображения (сделать снимок экрана) из этого файла с помощью видеоплееров VLC и Totem (по умолчанию в Ubuntu).

Результаты показаны ниже. Как вы видите, скриншот Totem лучше, чем скриншот VLC. Можно ли извлечь изображения из видео с помощью FFmpeg с хорошим качеством?

Скриншот VLC

VLC Screenshot

Скриншот тотем

Totem screenshot

1
Используйте постпроцессные фильтры. Ipor Sircer 6 лет назад 0
@IporSircer пытался их использовать. К сожалению, результат тот же. Isa Bek 6 лет назад 0
И тотем, и vlc основаны на ffmpeg и используют фильтры постобработки ffmpeg. Так что выясни, кого из них ты хочешь. Ipor Sircer 6 лет назад 1

1 ответ на вопрос

2
JakeGould

Похоже, первое изображение чересстрочное . Так что, возможно, просто деинтерлейсинг решит эту проблему? Чтобы сделать это с помощью FFmpeg, просто возьмите свою команду, как вы указали в качестве примера, и добавьте -deinterlaceпараметр, подобный следующему:

ffmpeg -i X.MTS -deinterlace images/%05d.png 

Но, согласно комментарию LordNeckbeard, несмотря на то, что -deinterlaceопция все еще работает, она устарела в пользу фильтра деинтерлейсинга yadif . Таким образом, вы можете достичь аналогичной функциональности, используя такую -vf yadifопцию:

ffmpeg -i X.MTS -vf yadif images/%05d.png 
`-deinterlace` давно устарел для [фильтра деинтерлейсинга yadif] (https://ffmpeg.org/ffmpeg-filters.html#yadif), поэтому, если он когда-либо пропадет, используйте вместо него` -vf yadif`. Если вам не нравится вывод yadif по умолчанию, у него есть несколько режимов, с которыми вы можете поэкспериментировать. Есть также несколько других фильтров деинтерлейсинга с трудно запоминающимися именами, таких как [bwdif] (https://ffmpeg.org/ffmpeg-filters.html#bwdif), [nnedi] (https://ffmpeg.org/ffmpeg- filters.html # nnedi) и [w3fdif] (https://ffmpeg.org/ffmpeg-filters.html#w3fdif). LordNeckbeard 6 лет назад 3
@LordNeckbeard Хорошо знать! JakeGould 6 лет назад 0

Похожие вопросы