Warum benötigt mein mp4 (h.264) die ganze Zeit eine mp4box?

4165
user45326

Wenn ich ein Video mit h.264-Codec in mp4 konvertiere, kann es nicht sofort unter Windows oder iPad abgespielt werden. Es läuft gut, wenn ich das Video mit mp4box konvertiere . Ich verwende den folgenden Befehl zum Konvertieren.

mp4box -hint video.mp4 

Ich möchte gerne wissen, was ich mit mp4box zum Video hinzufüge.

Wie funktioniert es?

0

2 Antworten auf die Frage

3
slhck

Beachten Sie, dass mp4boxkein Video codiert wird. Es wird nur verwendet, um vorhandene Inhalte neu zu packen. Meine Vermutung ist also, dass Sie bereits ein verschlüsseltes Video haben und dann verwenden mp4box, um die hintOption hinzuzufügen . Während dieser Workflow auf den ersten Blick nicht wirklich sinnvoll ist, lassen Sie mich erklären, was dies hintbedeutet:

Die -hintOption wird wahrscheinlich aufgerufen, um eine sogenannte Hinweisspur in die Videodatei einzufügen.

Was ist ein Hinweisspur? Nun, Ihre Videodatei selbst besteht aus einer Reihe von Bits, nicht mehr und in einigen Anwendungen ist dies sehr ineffizient. Nehmen Sie das Beispiel eines Servers, der das Video überträgt. Es muss das Video in Pakete einkapseln, die über das Netzwerk gesendet werden. Aber woher weiß der Server, welche Teile des Videos in welches Paket aufgenommen werden sollen? Wenn der Server die Struktur des Bitstroms nicht kennt, kann er ihn nicht korrekt paketieren.

Hier kommt die Hinweisspur ins Spiel. Es wird generiert, damit ein Streaming-Server das Video korrekt in RTP-Pakete paketieren kann. Im Grunde sagt eine solche Hinweisspur "Teil XY des Videos in Paket AB legen ".


Ein wahres h.264 muss nicht unbedingt über einen Hinweisspur für das Streaming verfügen, da h.264 über eine Network Abstraction Layer verfügt, die einem Streaming-Server alle erforderlichen Informationen für die Paketierung des Videos zur Verfügung stellt. Hinweis ist nur für MPEG-4-Videos (z. B. mit DivX oder XviD kodiert) erforderlich.

Prüfen Sie, ob Ihr Encoder bereits eine gültige mp4Datei ausgibt - welche verwenden Sie eigentlich?

// Vielen Dank für Ihre ausführlichen Informationen. Ich benutze eine Handbremse. user45326 vor 13 Jahren 0
@ user12077 Das ist interessant. Selbst wenn Sie die entsprechenden Einstellungen für das iPad verwenden, kann die von Handbrake generierte Datei nicht geöffnet werden. slhck vor 13 Jahren 0
@ user12077: Wenn Sie dieses Video streamen, sind diese Hinweisinformationen wichtig, aber ich denke nicht, dass dies der Fall sein sollte, wenn nur als lokale Datei darauf zugegriffen wird. Wie genau greifen Sie zur Wiedergabe auf die Datei zu? Wenn Sie es streamen, wird es gut abgespielt, wenn Sie es auf dem lokalen Computer abspielen? Spectre vor 13 Jahren 0
@Spectre // Entschuldigung für die Verzögerung in der Antwort; Ich streame diese Datei eigentlich über das Netz. user45326 vor 13 Jahren 0
1
Spectre

Welches Programm verwenden Sie, um das h264-Video an Ort und Stelle zu erstellen / zu kodieren? Es könnte sein, dass der Encoder eine unformatierte h264-Datei ausgibt. Dieser unformatierte Stream muss normalerweise zusammen mit dem Audiostream in ein Container-Format wie mkv oder mp4 gestellt werden, bevor er wiedergegeben werden kann.

Prüfen Sie mit Ihrem h264-Encoder, ob er das codierte Video automatisch in einen mp4-Container legt oder ob es ein bestimmtes Profil / bestimmte Einstellungen für Ihr Gerät hat. Wenn dies der Fall ist, aber immer noch nicht abgespielt wird, ist dies möglicherweise nur ein Fehler. In diesem Fall müssen Sie die manuelle Verwendung von mp4box beibehalten.

// Ich benutze Handbrake. user45326 vor 13 Jahren 0
Hmm, ich habe gerade gemerkt, dass ich Ihre Frage falsch verstanden habe. Sie sagen, sie "spielt nicht sofort", bedeutet das, dass sie überhaupt nicht spielt oder dauert es länger als normal, um mit dem Spielen zu beginnen? Spectre vor 13 Jahren 0
// es dauert länger als normal, um zu spielen. user45326 vor 13 Jahren 0