ffmpegを使用してmp3にバッチ変換しようとしている700以上のraファイル(RealAudio)を含むオーディオブックがあります。 RA ファイル名は Chapter-verse.ra (例: 13-01.ra) です。
スクリプトを実行すると、最大32個のファイルを処理して停止します。各ファイルに対してエラーが表示されますが、それでも変換されます。
これは私のスクリプトです。
#!/bin/bash
#
outdir=/data/sounds/output
srcdir=/data/sounds
# Cleanup first
rm -f /data/sounds/output/*
ls -1 ${srcdir}/*.ra | while read file
do
infile=$(basename $file)
chapter=$(echo $infile | cut -f1 -d"-")
verse=$(echo $infile | cut -f2 -d"-")
verse=$(echo $verse | cut -f1 -d".")
echo "File $file | Target: Chapter $chapter Verse $verse"
echo
ffmpeg -i $file -loglevel error -acodec libmp3lame ${outdir}/Chapter${chapter}_Verse${verse}.mp3
done
以下は私が得た出力の一部です。
[ac3 @ 0x221e520] frame sync error
Error while decoding stream #0:0: Invalid data found when processing input
/data/sounds/13-02.ra: Input/output error
File data/sounds/13-03.ra | Target: Chapter 13 Verse 03
data/sounds/13-03.ra: No such file or directory
File /data/sounds/13-04.ra | Target: Chapter 13 Verse 04
[ac3 @ 0x1a4d520] frame sync error
Error while decoding stream #0:0: Invalid data found when processing input
/data/sounds/13-04.ra: Input/output error
File data/sounds/13-05.ra | Target: Chapter 13 Verse 05
data/sounds/13-05.ra: No such file or directory
File /data/sounds/13-06.ra | Target: Chapter 13 Verse 06
混乱しても、「ファイルやディレクトリはありません」と文句を言いますが、ffmpegコマンドを実行せずに単にエコーすると、スクリプトは最後までうまく実行されます。
スクリプトが中断されると、出力ディレクトリにいくつかのファイルがあり、すべてがうまく動作することがわかります。ただすべてのファイルを処理したいですか? !私の環境:
Fedora Workstation 21
ffmpeg バージョン 2.4.8 著作権 (c) 2000-2015 FFmpeg 開発者
ベストアンサー1
これを見つけました。これはすでに回答されていますここ
今ffmpeg行は次のようになります。
< /dev/null ffmpeg -i $file -loglevel error -acodec libmp3lame ${outdir}/Chapter${chapter}_Verse${verse}.mp3
そして最後まで行きなさい。