私はffmpegを使用して、ビデオファイルからオーディオストリームのみを抽出しています。
ffmpeg -i video.mp4 -vn -acodec copy audio.aac
これにより、メタデータのないクリーンなオーディオファイルが生成されます。
メタデータを追加するために、ffmpegにはコマンドラインオプションがあります。
ffmpeg -i video.mp4 -vn -acodec copy -metadata title="My Title" audio.aac
これはエラーなしで実行されますが、出力ファイルがffprobeでチェックされる場合、メタデータタグはまったくありません。
出力コンテナをmp4に変更すると、メタデータを設定して出力ファイルに表示できます。
ffmpeg -i video.mp4 -vn -acodec copy -metadata title="My Title" audio.mp4
ここに興味深いビットがあります。 Bansheeを使用して既存の.aacファイルのメタデータを編集し、ffmpegを使用して同じ方法でファイルを処理すると、元のメタデータが新しい.aacファイルに正常にコピーされます。
ffmpeg -i metadata.aac -vn -acodec copy audio.aac
ただし、メタデータを変更しようとしても効果はありません。
ffmpeg -i metadata.aac -vn -acodec copy -metadata title="My Title" audio.aac
したがって、.aacコンテナはメタデータを保持でき、ffmpegはそれを入力から出力にコピーできますが、コピーコーデックが使用されている場合は変更できません。
誰かがffmpegに再エンコードせずにaacコンテナのメタデータを変更させる方法を知っていますか?
あるいは、ファイルが処理された後にメタデータを設定するために使用できる別の汎用ツールはありますか?
どうもありがとう。クリス。
目標は、再エンコードせずにビデオファイルからオーディオのみのファイルを作成し、メディアプレーヤーが認識できるメタデータを導入することでした。環境はDebian GNU/Linuxです。
答えを見つけるために正しい道を歩んでくれた@bootloadに感謝します。
ffmpegは、.AAC出力ファイルへのメタデータタグの追加をサポートしていないようですが、2つの回避策があります。
id3v2 -t "My Title" audio.aac
ffmpeg -i video.mp4 -vn -acodec copy -metadata title="My Title" audio.m4a
nautilusが認識するオーディオのみのファイルを生成し、ffmpegはコンテナにメタデータを安全に追加できます。
目的のハードウェアは何ですか? Apple iP *デバイス用ですか?もしそうなら http://atomicparsley.sourceforge.net/ それ以外の場合 http:// ffmpeg。 org/ffmpeg.html#Examples "UTF-8-encoded INI"mex/demuxメソッドの使用(メタデータをutf8ファイルとして抽出) &変更&再挿入)。
MP4Box (「gpac」パッケージの一部)元のデータを変更せずにAACファイルをMP4コンテナーでエンベロープします。メタデータは、ほとんどすべてのタグ付けソフトウェアを使用して追加できます。
MP4Box -add old.aac new.mp4