FFMPEG H. 264-Kodierung für HTML5 (und letztlich auch MPEG-DASH)
Möchte ich zum konvertieren einer MP4-Datei in eine MPEG-DASH-video-fähig ist, spielte durch die DASH-WENN der HTML5-player auf Chrome. Ich benutze FFMPEG und MP4Box (von GPAC) zum Transcodieren der video-und dann teilen Sie es, und immer ein MEDIA_ERR_SRC_NOT_SUPPORTED Fehler auf der JavaScript-Konsole.
Aus der (sehr spärlichen) Informationen online zur Verfügung (siehe diese Chrom-Gewinde), würde es so erscheinen, als ob Chrome nativ unterstützt nur MP4-Dateien, die mit dem Constrained Baseline-encoding-Profil, und ist sehr streng auf nur die Unterstützung der "avc1.42E01E,mp4a.40.2" codecs.
Ich habe versucht so ziemlich alles, was ich kann um das video zu Kodieren in der Befehlszeile vor der Spaltung mit MP4Box, mit FFMPEG, um eine H. 264 video-Kodierung-codec-Profil "avc1.42E01E", aber es gibt mir immer "avc1.42C01E". Hier ist einer der (vielen) FFMPEG-Befehle, die ich versucht habe:
ffmpeg -y -i Sintel_-_Third_Open_Movie_by_Blender_Foundation.mp4 -profile:v baseline -level:v 30 -acodec libvo_aacenc -vcodec libx264 sintel-recoded.mp4
Entsprechend der ITU-T-standard, Abschnitte 7.4.2.1.1 und A2.1-A2.3, eine video-encoding von "avc1.42E01E" impliziert eine Einschränkung Flaggen 0xE0 (constraint_set flags 0, 1 und 2), in der Erwägung, dass "avc1.42C01E" impliziert eine Einschränkung Flaggen 0xC0 (constraint_set flags 0 und 1 gesetzt sind). Der ehemalige (0xE0) impliziert die Einhaltung der Baseline, Main und Extended-profile, während die letzteren (0xC0) bedeutet die übereinstimmung nur auf die Baseline und Main profile.
Anscheinend FFMPEG unterstützt nicht die Erweiterten profile für H. 264.
Hat jemand vielleicht irgendwelche Ratschläge, wie zu Kodieren eine MP4-Datei als "avc1.42E01E"? Idealerweise mit FFMPEG, aber ich bin offen für die Verwendung von anderen Encodern?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nach dem Graben um online für das Alter, und Fragen Sie in ein paar Orten wie GitHub, fand ich, dass ein Teil des Problems war, dass ich nicht trenne audio und video vor der Segmentierung mit MP4Box:
Spielt einfach gut in Chrom 40.x mit der dash.js player. Problem ist, es funktioniert nicht für die
live
MP4Box-Profil (mit separatem M4S-Dateien für jedes segment), aber es ist zumindest ein Anfang.Bearbeiten: ich habe seitdem viel mehr Erfolg mit der Vorbereitung und dem Fragmentierungs-meine Inhalte mit castLabs' DASH.verschlüsseln utility. Sehen die wiki-Einträge für details auf, wie man mit dem Hilfsprogramm. Habe noch nicht geschafft, meine Inhalte DASH würde mit MP4Box leider.
Wenn Sie nicht gezwungen sind, zu verwenden ffmpeg, würde ich vorschlagen, geben x264 versuchen, wie die Jungs von dash-player.com beschrieben in einem Ihrer blog-Beiträge. Aus meiner Erfahrung kann ich definitiv sagen, dass Chrome unterstützt weit mehr als ein Profil für das video.