Bearbeiten Sie die Metadaten „Mediendauer“ in der MP4-Datei

Bearbeiten Sie die Metadaten „Mediendauer“ in der MP4-Datei

Ich habe einige Videodateien, die in MP4 konvertiert wurden, aber nicht ganz korrekt. Wenn ich eine davon mit Exiftool untersuche, sehe ich diese Metadatenwerte:

Duration                        : 0:11:23
Track Duration                  : 0:11:23
Media Duration                  : 0:04:13

Letzteres ist falsch. Im VLC Media Player werden die Videos einwandfrei abgespielt, aber das Tool, das ich zum Abspielen in einer Webanwendung verwende (Flowplayer), nimmt den Wert „Mediendauer“ ernst und kürzt das Video.

Um die Metadaten zu reparieren, habe ich versucht

exiftool -"Media Duration"="0:11:23" video_1.mp4

Aber ich habe

Warning: Sorry, Media is not writable
Nothing to do.

Sudo hat nicht geholfen. Laut seiner Manpage undWebseite, ExiftooldürfenLesen und Schreiben von Metadaten in MP4-Dateien, aber „ExifTool schreibt eine Datei nicht neu, wenn es ein erhebliches Problem mit dem Dateiformat erkennt.“

Wie kann ich diese Dateien reparieren?


BEARBEITEN: Ich hatte kein Glück mit ffmpeg oder Mediainfo.

Antwort1

Ich habe eine Lösung gefunden. Anstatt die Metadaten zu bearbeiten, habe ich die Dateien mit ffmpeg neu kodiert, und zwar so, dass die Video- und Audioinhalte einfach kopiert und in einen neuen, fehlerfreien MP4-Container gepackt wurden. Hier ist der Befehl:

ffmpeg -i video_1.mp4 -vcodec copy -acodec copy video_1_fixed.mp4

Antwort2

Es gibt zwei Gründe, warum der aufgeführte Exiftool-Befehl nicht funktioniert hat.

Erstens ist „Mediendauer“ nicht der Name eines Tags, sondern die Beschreibung. VonExifTool FAQ #2

…standardmäßig werden Beschreibungen und keine Tag-Namen für die extrahierten Informationen gedruckt. … Beachten Sie, dass Beschreibungen häufig Leerzeichen zwischen Wörtern enthalten, Tag-Namen jedoch nie. Tag-Namen sind außerdem immer Englisch, unabhängig von der-langEinstellungUm die Tag-Namen statt der Beschreibungen auszudrucken, verwenden Sie die-sMöglichkeitbeim Extrahieren von Informationen

Das zweite Problem ist, dass das MediaDurationTag kein beschreibbares Tag ist (sieheQuickTime MediaHeader Tags).

verwandte Informationen