2016-07-14 29 views
0

Ich habe etwa 300 Videos in .mp4 Dateien, die ich neu codieren müssen als .mp4 Dateien und um sie zu konvertieren zu .webm und .ogg Dateien.Rekursiv rekodieren .mp4-Dateien zu neuen Kopien von .mp4 und konvertieren. Mp4 zu .webm und .ogg mit ffmpeg

Ich möchte es in der Befehlszeile mit ffmpeg tun, und ich habe den folgenden Befehl, der die .mp4 in eine .webm konvertiert.

find ./ -name '*.mp4' -exec bash -c 'ffmpeg -i "$0" -vcodec libvpx -acodec libvorbis -cpu-used 5 -threads 8 "${0%%.mp4}.webm"' {} \; 

Kann mir jemand helfen, diesen Befehl zu zwei separaten Befehlen zu ändern, ein für .mp4 -> .mp4 (suffixing die Dateinamen mit -2) und einem weiteren für .mp4 -> .ogg?

Vielen Dank.

Antwort

0

Nun, da ich keine Antworten bekam, fand ich die Antwort selbst.

So zum Wohle anderer suchen, das Gleiche zu tun, hier sind die verschiedenen Befehle, die ich zusammen:

webm 
find ./ -name '*.mp4' -exec bash -c 'ffmpeg -i "$0" -vcodec libvpx -acodec libvorbis -vf scale=-1:480 -cpu-used 5 -threads 8 "${0%%.mp4}.webm"' {} \; 
ogv 
find ./ -name '*.mp4' -exec bash -c 'ffmpeg -i "$0" -vcodec libtheora -acodec libvorbis -vf scale=-1:480 -cpu-used 5 -threads 8 "${0%%.mp4}.ogv"' {} \; 
flv 
find ./ -name '*.mp4' -exec bash -c 'ffmpeg -i "$0" -c:v libx264 -ar 22050 -crf 28 -vf scale=-1:480 -cpu-used 5 -threads 8 "${0%%.mp4}.flv"' {} \; 
mp4 
find ./ -name '*.mp4' -exec bash -c 'ffmpeg -i "$0" -vcodec libx264 -vf scale=-1:480 -cpu-used 5 -threads 8 "${0%%.mp4}-2.mp4"' {} \; 
jpg 
find ./ -name '*.mp4' -exec bash -c 'ffmpeg -i "$0" -ss 00:00:10 -vframes 1 -r 1 -vf scale=-1:480 -f image2 "${0%%.mp4}.jpg"' {} \; 

Bitte beachte, dass ich die Fahne -vf scale=-1:480 hinzugefügt haben, die das Video proportional skaliert. Ich habe die Höhe auf 480px eingestellt und die Breite wird automatisch berechnet.

Beachten Sie auch, dass ich auch einen Screenshot-Export von jedem Video enthalten habe. Die Aufnahme wird in der 10. Sekunde des Videos gemacht und als JPEG-Datei gespeichert.

Wenn Sie möchten, dass die Daten der Original-Dateien halten, so dass die neue Version (.webm, .ogv, .mp4, .flv) die gleichen Änderungsdaten haben, können Sie den touch Befehl verwenden können, wie folgt:

touch -r oldfile newfile