同じメタデータを含める必要のあるmp4ファイルがいくつかあります。アーティスト&アルバム。
メタデータを1つずつ行うのではなく、どのようにバッチ編集できますか?
先に進む前に、処理する動画のバックアップコピーを作成してください。以下のコマンドは、既存のファイルを置き換えます。
find /home/user/videos-to-process/ -type f -iname '*.mp4' -exec ffmpeg -i "{}" -codec copy -metadata artist="John Smith" -metadata album="Foo Bar" "{}.new.mp4" \; -exec mv "{}.new.mp4" "{}" \;
わかりやすいようにフォーマットされた同じコマンドを次に示します。
find /home/user/videos-to-process/ -type f -iname '*.mp4' \
-exec ffmpeg \
-i "{}" \
-codec copy \
-metadata artist="John Smith" \
-metadata album="Foo Bar" \
"{}.new.mp4" \; \
-exec mv \
"{}.new.mp4" "{}" \;
これは何をしますか?
ステップ2 コピー既存のストリーム;再エンコードしていません(これは良いことです)。メタデータを変更するだけです。これを、それぞれ約1GBの6つのファイルがあるディレクトリで実行しました。合計処理時間は約30秒でした。
この目的でユーティリティAtomicParsley
を使用できます。次のように、ターミナルウィンドウからこれをインストールします。
Sudo apt-get install atomicparsley
Mp4ファイルが単一のディレクトリにある場合は、その場所でターミナルウィンドウを開き、次のコマンドを実行します。
for i in *.mp4
do
AtomicParsley "$i" --album "Foo" --artist "Bar" --overWrite
done
(これには、文書化されていないが完全に機能する--overWrite
タグが含まれます。)
明らかに、ファイルで使用したい実際の値を表すために、値Foo
およびBar
を変更する必要があります...