Antworten:
Je nachdem, wie Ihre Originaldatei codiert wurde, kann die Dateigröße möglicherweise nicht beibehalten werden.
ffmpeg -i infile.avi youroutput.mp4
sollte die Framegröße und -rate beim Erstellen einer mp4-Datei beibehalten.
ffmpeg -i infile.avi
Sie erhalten Informationen über Ihre Eingabedatei - die Bildgröße, die verwendeten Codecs, die Bitrate usw.
Sie können auch mit den Optionen acodec
und spielen vcodec
, wenn Sie Ihre Ausgabe generieren. Denken Sie auch daran, dass mp4- und avi-Dateien verschiedene Codecs verwenden können und Ihre Laufleistung je nach ausgewähltem Codec variieren kann.
Ich war sehr daran interessiert, AVI-Dateien in MP4 umzuwandeln. Als ich Ihren Beitrag las, erinnerte ich mich an diesen ffmpeg-Befehl:
ffmpeg -i input.avi -strict -2 output.mp4
Der Befehl -strict -2
wird vom AAC-Codec benötigt, der experimentell ist, aber funktioniert (libaac), wenn Sie diese beiden Parameter hinzufügen. Die Ausgabedatei ist standardmäßig von hoher Qualität.
Soweit ich weiß, ist es erforderlich, avi-container durch mp4 one zu ersetzen (formal - ISO-Basis-Mediendateiformat ISO / IEC 14496-12).
Wenn Sie den folgenden Befehl ausführen:
ffmpeg -i input.avi -y output.mp4
In einem solchen Fall kodiert ffmpeg elementare Streams in input.avi neu (cahnge container and re-encode ist der Standardmodus von ffmpeg ). Beachten Sie, dass die Neukodierung die Bild- und / oder Hörqualität beeinträchtigen kann.
Daher wird empfohlen, die Neucodierung mit den Codec-Optionen " c: v copy c: a copy " zu deaktivieren :
ffmpeg -i input.avi -c:v copy -c:a copy -y output.mp4
Im obigen Fall ändert ffmpeg lediglich die Shells (Container)
ffprobe -i infile.avi
anstattffmpeg -i infile.avi
zum Abrufen von Informationen zu verwenden, da letztere den Fehler "Mindestens eine Ausgabedatei muss angegeben werden" zur Folge haben.