H264 zu MP4 mit Bframe auf Google Chrome hin und her abspielen [ffmpeg]

699
Ravi Agola

Ich möchte einen mp4-Container mit h264-codierter Datei erstellen.

Die H264-Datei enthält [IPBB] [PBB] [PBB] [PBB] -Frames.

Wenn ich eine mp4-Datei mit FFmpeg generiere, funktioniert es gut mit FFplay sowie mit VLC, aber auf google-chrome spielt die mp4-Datei Frame hin und her.

ffmpeg -i input.h264 -vcodec copy output.mp4

Wenn ich die interne Codec-Bibliothek (libx264) verwende, funktioniert es gut auf (ffplay, vlc und google-chrome)

ffmpeg -i input.h264 -vcodec h264 output.mp4

Wie oben beschrieben, transcode h264 (native) in h264 (x264), möchte ich die Datei nicht umcodieren, da ich sie mit der ffmpeg-Bibliothek verwenden werde.

Wenn ich h264 ohne B-Frame verwende, funktioniert es in beiden Fällen gut.

Ich habe einige Experimente mit der hier verfügbaren Beispieltestdatei versucht.

Die direkte Konvertierung (MKV in MP4) funktioniert mit Chrom wie folgt

ffmpeg -i jellyfish-3-mbps-hd-h264.mkv -vcodec kopiert output.mp4

(MKV bis H264 und H264 bis MP4) spielt auf Chrom hin und her

ffmpeg -i jellyfish-3-mbps-hd-h264.mkv -vcodec kopiert ausgabe.h264
ffmpeg -i ausgabe.h264 -vcodec kopiert ausgabe.mp4

Ich erhalte in diesem Fall eine Nachricht [mp4 @ 0xb6f8b20] Zeitstempel werden in einem Paket für Stream 0 nicht gesetzt. Dies ist veraltet und wird zukünftig nicht mehr funktionieren. Korrigieren Sie Ihren Code, um die Zeitstempel richtig zu setzen. [Mp4 @ 0xb6f8b20] pts hat keinen Wert "

Was kann ein Grund für dieses Verhalten sein?

Vielen Dank.

0
Wie wird der H.264-Stream generiert? Gyan vor 7 Jahren 0
Es wird mit TI SOC dm8168 (Video Encoder) generiert. jellyfish-3-mbps-hd-h264.mkv ist ein online verfügbares Beispiel, das sich genauso verhält. Ravi Agola vor 7 Jahren 0
mp4box muxet diese fein. ffmpeg scheint bestimmte SPS-Flags zu ignorieren - nicht ganz sicher. Gyan vor 7 Jahren 0
Danke, MP4Box funktioniert gut. Ich möchte Muxing von h264 zu mp4 in c / c ++ mithilfe einer Bibliothek implementieren, eine Idee, wie man MP4Box / gpac implementiert? Ravi Agola vor 7 Jahren 0
@ Mulvya eine Idee, wie dies mit ffmpeg zu tun? Ravi Agola vor 7 Jahren 0

0 Antworten auf die Frage