Wie extrahiere ich mit FFmpeg Bilder aus Videodateien ohne Unschärfe?

816
Isa Bek

Ich habe eine X.MTSVideodatei und möchte Bilder daraus extrahieren. Ich habe versucht, mit FFmpeg zu extrahieren, aber die Qualität der extrahierten Bilder ist nicht gut.

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

Dann habe ich versucht, Bilder aus dieser Datei mit VLC- und Totem-Videoplayern (Ubuntus Standardeinstellung) zu extrahieren.

Ergebnisse sind unten gezeigt. Wie Sie sehen, ist der Totem-Screenshot besser als der VLC-Screenshot. Kann man mit FFmpeg Bilder mit guter Qualität aus dem Video extrahieren?

VLC-Screenshot

VLC-Screenshot

Totem-Screenshot

Totem-Screenshot

1
Verwenden Sie Nachverarbeitungsfilter. Ipor Sircer vor 6 Jahren 0
@IporSircer hat versucht, sie zu benutzen. Leider ist das Ergebnis das gleiche. Isa Bek vor 6 Jahren 0
Sowohl Totem als auch vlc basieren auf ffmpeg und verwenden die Nachverarbeitungsfilter von ffmpeg. Finden Sie heraus, welche von ihnen Sie wollen. Ipor Sircer vor 6 Jahren 1

1 Antwort auf die Frage

2
JakeGould

Es scheint, als sei das erste Bild interlaced . Also vielleicht würde Deinterlacing dieses Problem lösen? Um dies mit FFmpeg zu tun, nehmen Sie einfach Ihren Befehl - wie Sie es als Beispiel angegeben haben - und fügen Sie die -deinterlaceOption wie folgt hinzu:

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

Nach einem Kommentar von LordNeckbeard wurde diese -deinterlaceOption zwar weiterhin aktiviert, sie wurde jedoch zugunsten des Yadif-Deinterlacing-Filters abgewertet . So können Sie ähnliche Funktionen mit der folgenden -vf yadifOption erreichen:

ffmpeg -i X.MTS -vf yadif images/%05d.png 
"-deinterlace" wurde lange Zeit für den [yadif-Deinterlacing-Filter] (https://ffmpeg.org/ffmpeg-filters.html#yadif) nicht mehr empfohlen. Wenn dies nicht der Fall ist, verwenden Sie stattdessen "-vf yadif". Wenn Sie die Standardausgabe von yadif nicht mögen, gibt es mehrere Modi, mit denen Sie experimentieren können. Es gibt auch einige andere Deinterlacing-Filter mit schwer zu merkenden Namen wie [bwdif] (https://ffmpeg.org/ffmpeg-filters.html#bwdif), [nnedi] (https://ffmpeg.org/ffmpeg- filters.html # nnedi) und [w3fdif] (https://ffmpeg.org/ffmpeg-filters.html#w3fdif). LordNeckbeard vor 6 Jahren 3
@LordNeckbeard Gut zu wissen! JakeGould vor 6 Jahren 0