MP4 ファイルの「メディア継続時間」メタデータを編集する

MP4 ファイルの「メディア継続時間」メタデータを編集する

MP4 に変換されたビデオ ファイルがいくつかありますが、完全には変換されていません。exiftool で 1 つを調べると、次のメタデータ値が表示されます。

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

最後のは正しくありません。VLC メディア プレーヤーではビデオは正常に再生されますが、Web アプリで再生するために使用しているツール (Flowplayer) は、「メディア継続時間」の値を重視し、ビデオを切り捨てます。

メタデータを修正するために試した

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

でも私は

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

sudoは役に立たなかった。マニュアルページによると、Webサイト、exifツールできるMP4 ファイルのメタデータを読み書きしますが、「ExifTool はファイル形式に重大な問題を検出した場合、ファイルを書き換えません。」

これらのファイルを修正するにはどうすればいいでしょうか?


編集: ffmpeg や mediainfo ではうまくいきませんでした。

答え1

解決策を見つけました。メタデータを編集するのではなく、ffmpeg を使用してファイルを再エンコードし、ビデオとオーディオのコンテンツを単純にコピーして、エラーのない新しい MP4 コンテナーにラップしました。コマンドは次のとおりです。

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

答え2

リストされている exiftool コマンドが機能しなかった理由は 2 つあります。

まず、「メディアの長さ」はタグの名前ではなく、説明です。ExifTool よくある質問 #2

…デフォルトでは、抽出した情報に対してタグ名ではなく説明が出力されます。…説明では単語間にスペースが含まれることがよくありますが、タグ名には決して含まれないことに注意してください。また、タグ名は、-lang設定タグの説明ではなくタグ名を印刷するには、-sオプション情報を抽出するとき

2つ目の問題は、MediaDurationタグが書き込み可能なタグではないことです(QuickTime MediaHeader タグ)。

関連情報