Mit ffmpeg mit avi zu mp4 verschlüsseln

27

Welche Befehlszeilen müssen verwendet werden, um von AVI nach MP4 zu konvertieren, ohne die Framesize zu zerstören und die Datei so klein wie das Original oder ein bisschen größer zu machen, und dasselbe gilt für MP4 nach AVI? Wann immer ich versuchte, es umzuwandeln, wurde es wie 2 GB

Tal
quelle

Antworten:

33

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 acodecund 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.

rbanffy
quelle
6
Ich denke, es ist besser, ffprobe -i infile.avianstatt ffmpeg -i infile.avizum Abrufen von Informationen zu verwenden, da letztere den Fehler "Mindestens eine Ausgabedatei muss angegeben werden" zur Folge haben.
Francesco Turco
Danke, Francesco. Ihr Ansatz ist eleganter als meins ;-)
rbanffy
6

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 -2wird 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.

Robis54
quelle
2

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)

Shevach Riabtsev
quelle
0

Ich habe dieses :: Libav in Linux gefunden.

Installation: Befehl ausführen

sudo apt-get install libav-tools

Befehl zur Videokonvertierung:

Gehe in den Ordner mit dem Video und starte das Terminal

avconv -i oldvideo.mp4 -ar 22050 convertedvideo.webm
Vishal
quelle