私は多数のwavファイル(50,000以上)を持っており、各wavファイルを10秒の長さの部分に分割する必要があります。
これを一つずつ行うことはほとんど不可能です。だから私の質問は:ffmpeg(またはsox)でこれをどのように実行できますか?
答え1
これは以下で言及されていますman sox
。
入力ファイルを長さ30秒の複数のファイルに分割します。各出力ファイル名には、出力ファイルのセクションで説明されているように、名前に一意の番号があります。
sox infile.wav output.wav trim 0 30 : newfile : restart
したがって、wavファイルがディレクトリの下にあり、~/myfiles
分割バージョンを作成したいとします~/split
。
mkdir ~/split
cd ~/myfiles
find . -name '*.wav' \
-exec sh -c 'mkdir -p ~/split/$(dirname "{}")' \; \
-exec sox {} ~/split/{} trim 0 10 : newfile : restart \;