多くのオーディオファイルを含むフォルダがあるとしましょう。audioname.mp3
フォルダ内のすべてのファイルに対してこれらのコマンドを実行するためにforループを作成する方法:
convert -size 300x200 xc:lightblue -font Bookman-DemiItalic -pointsize 40 -fill blue -gravity center -draw "text 0,0 'audioname'" audioname.png
ffmpeg -i audioname.png -i audioname.mp3 audioname.flv
?
ベストアンサー1
for file in ~/Main_dir/*.mp3; do
convert -background lightblue -size 300x200 -fill blue -pointsize 40 -gravity center label:"$(basename "$file" .mp3)" "${file%.*}.png";
avconv -i "${file%.*}.png" -i "${file%.*}.mp3" "${file%.*}.flv";
done
最初の説明変化コマンドの表示AskUbuntuに対する私の答え
説明する$(basename "$file" .mp3)
:
このコマンドを使用して拡張子を持つ$(basename "$file")
ファイル名のみを取得しようとしましたが、$(basename "$file" .mp3)
その拡張子も削除しました。
$ for file in ~/Main_dir/*.mp3; do echo $(basename "$file" .mp3);done
039 - Del Nevesht - noraei
Eluveitie - Meet The Enemy
$ for file in ~/Main_dir/*.mp3; do echo $(basename "$file");done
039 - Del Nevesht - noraei.mp3
Eluveitie - Meet The Enemy.mp3
説明する${file%.*}
:
拡張子なしでフルファイルパスを取得するには、これを使用します。
$ for file in ~/Main_dir/*.mp3; do echo "${file%.*}" ;done
/home/username/Main_dir/039 - Del Nevesht - noraei
/home/username/Main_dir/Eluveitie - Meet The Enemy
スクリプトの次の行は、生成した.pngタグを.mp3ファイルに追加します。
メモ:avconv
代わりに使用します。まだパッケージをインストールしてffmpeg
いない場合はffmpeg
これを使用できます。