
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 タグ)。