web-dev-qa-db-ja.com

MP4ファイルの「メディア期間」メタデータを編集します

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

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.

須藤は助けにはならなかった。そのマニュアルページと ウェブサイト によると、exiftool can MP4ファイルのメタデータの読み取りと書き込みが行われますが、「ExifToolは、ファイルに重大な問題を検出した場合、ファイルを再書き込みしません。フォーマット。"

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


編集:私はffmpegやmediainfoで運がありませんでした。

1
Sam Kauffman

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

ffmpeg -i video_1.mp4 -vcodec copy -acodec copy video_1_fixed.mp4
1
Sam Kauffman

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

まず、「メディア期間」はタグの名前ではなく、説明です。 From ExifTool FAQ#2

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

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

1
StarGeek