web-dev-qa-db-ja.com

FLACをALACに変換し、タグを保持する-スクリプト内

FLACを再生できないデバイスがありますが、音楽をその形式で保存することを好むため、現在、並列音楽ライブラリを維持するためのスクリプトを作成しています。しかし、FLACをALACに変換する部分に問題があります。それは現在、仕事をするためにFFMPEGをディスパッチするだけです。ただし、FFMPEG(バージョン0.5.9)はタグを保持できないようです! -map_meta_data infile:outfileが機能しません... -map_meta_data outfile:infile、-map_meta_data 0:0、または-map_meta_data 0:0、s0(またはそのようなもの)も機能しません。 。

だから...私は今、Linux上でFLACをALACに変換し、タグデータを保持できるコマンドラインプログラム(またはPythonライブラリ)を探しています。変換後にタグをコピーする必要がある場合は許容されますが、その解決策も見つかりません。QLCLIを試しましたが、QuodLibetをインポートすると失敗するようです。これをすべてUbuntuで機能させようとしています。 。 助言がありますか?

4
Eric Astor

現在のffmpeg(私がこれを書いているバージョン2.0.2)は、ALACのデコードとエンコードの両方をサポートしています。また、デフォルトでは、最初の入力ファイルからグローバルメタデータをコピーします。

このように呼び出す:

ffmpeg -i track01.flac -c:a alac track01.m4a

メタデータがコピーされたALACファイルを作成しました。

1
Roland Smith

ソースオーディオファイルにカバーアートが埋め込まれている場合、ffmpegはそれをビデオに変換しますが、これはおそらくあなたが望むものではありません。完全なコマンドは次のとおりです。

ffmpeg -i file.flac -vn -acodec alac file.m4a

そしてバッチモードで:

ls *flac | while read f; do
    ffmpeg -i "$f" -acodec alac -vn "${f[@]/%flac/m4a}" < /dev/null;
done

-vnスイッチは、ffmpegにソースファイルの「ビデオ」部分を無視させます。タグは宛先ファイルに転送されますが、Picardタガーを使用して、堅牢なアーティスト/作品/リリースデータベースをMusicBrainzとして使用して新しいファイルにタグを付け直したいと思います。

より高度なテクニックは次のとおりです。

https://avi.alkalay.net/2016/09/multimedia-linux-cli.html

1
avibrazil