2016-03-24 9 views
0

Ich möchte Video in Bilder konvertieren, einige Bildverarbeitung und konvertieren Bilder zurück zu Video.ffmpeg umwandlung bild <-> video verursacht artefacts

Hier ist meine Befehle:

./ffmpeg -r 30 -i $VIDEO_NAME "image%d.png" 

./ffmpeg -r 30 -y -i "image%d.png" output.mpg 

Aber in output.mpg Video, das ich like in jpeg einige Artefakte haben.

Auch ich weiß nicht, wie man fps detrmine, ich setze fps = 30 (-r 30). Wenn ich über ersten Befehl ohne -r erzeugt es eine Menge Bilder> 1kk, aber als ich -r 30 Option verwenden, es gleiche Anzahl von Bildern wie dieser Befehl calculationg Anzahl der Frames erzeugen:

FRAME_COUNT=`./ffprobe -v error -count_frames -select_streams v:0 -show_entries stream=nb_read_frames -of default=nokey=1:noprint_wrappers=1 $VIDEO_NAME` 

meine Fragen sind also:

  1. Wie wird die Bildrate bestimmt?

  2. Wie konvertiert man Bilder in Video und reduziert die anfängliche Qualität nicht?

UPDATE:

scheint dies half, nachdem ich -r Option entfernt Image sequence to video quality

so resultierende Befehl lautet:

./ffmpeg -y -i "image%d.png" -vcodec mpeg4 -b $BITRATE output_$BITRATE.avi 

aber ich bin noch nicht sicher, wie um die Bitrate auszuwählen.

Wie kann ich die Bitrate der ursprünglichen .mp4 Datei sehen?

Antwort

2

Sie können den Parameter qscale anstelle der Bitrate z.

ffmpeg -y -i "image%d.png" -vcodec mpeg4 -q:v 1 output_1.avi 

q:v ist die Abkürzung für qscale:v. 1 kann zu große Dateien erzeugen. 4 - 6 ist eine vernünftige Auswahl zu verwenden.

+0

Kann ich die Bitrate der ursprünglichen '.mp4' Datei sehen? – mrgloom

+0

Durch Ausführen von ffprobe und Analysieren der Ausgabe. – Mulvya