Kodieren Sie h264 mit FFMPEG, das für alle Browser und Geräte geeignet ist (Windows / Mac / IOs / Android).

1366
Fight Fire With Fire

Ich möchte Bilder mit FFMPEG in eine h264-Videodatei codieren, die auf Windows-Browsern und Mac-Browsern und iOS / Android-Geräten zur Anzeige in HTML5 funktionieren kann. Gibt es eine Möglichkeit, dies mit einer kodierten Datei zu tun? Derzeit kodiert meine ffmpeg-Zeichenfolge jetzt nur für Windows / Android

Hier ist mein aktueller ffmpeg-Code:

und hier ist mein HTML5-Displaycode:

ffmpeg -y -r 25 -i ./images/video%04d.png -i music.wav -shortest -vcodec libx264 -s 720x480 -strict experimental -acodec aac video_file.mp4  <video width="640" height="480" controls="" preload="" poster="../poster.jpg"> <source src="video.mp4" type="video/mp4"> Your browser does not support the video tag. </video> 

Wenn ich -vcodec in mpeg4 anstelle von libx264 ändere, funktioniert es unter iOs / MAC, aber nicht unter Windows! Welches ist wirklich verwirrend!

Verwenden von ffmpeg Version 3.0.1-static http://johnvansickle.com/ffmpeg/ Copyright (c) 2000 -2016 der FFmpeg-Entwickler

2

1 Antwort auf die Frage

1
Gyan

Da Sie eine aktuelle Version von ffmpeg verwenden, verwenden Sie den folgenden Befehl

ffmpeg -y -i ./images/video%04d.png -i music.wav -profile:v baseline -shortest -vcodec libx264 -s 720x480 -acodec aac -movflags +faststart video_file.mp4 

profilewird auf den kleinsten gemeinsamen Nenner gesetzt, baselineum eine breite Kompatibilität zu gewährleisten. Die MOOV-Box wird an den Kopf der Datei verschoben, sodass nicht die gesamte MP4 heruntergeladen werden muss, bevor die Wiedergabe beginnen kann.

Wenn nicht anders angegeben, weist ffmpeg standardmäßig Bildfolgen eine Bildrate von 25 zu. Seit Dezember 2015 ist der native AAC-Encoder nicht mehr als experimentell gekennzeichnet.

Sowohl der Größenwert von 720x480 als auch der HTML5-Videogröße - 640x480 - lässt mich denken, dass Sie mit NTSC-Quellmaterial zu tun haben. Wenn ja, verwenden Sie

ffmpeg -y -framerate 30000/1001 -i ./images/video%04d.png -i music.wav -vf "scale=640x480,setsar=1' -profile:v baseline -shortest -vcodec libx264 -acodec aac -movflags +faststart video_file.mp4