2

我正在尝试编写一个 shell 脚本,它将从文件夹中的所有电影文件中提取音频。

音频提取器.sh

for f in *; do
    if  [ "$f" != "audio_extracter.sh" ]; then
        /usr/bin/avconvert --source "$f" --output */Converted/"$f" --audioTrack -af aac
        echo "$f converted"
    else
        echo "problems"
        exit 1
    fi
done

它在吐回来avconvert is a command line application that will transcode a source or group of sources to create a destination file output...

此外,如果可能的话,脚本应该找出视频中音频的格式并将其提取出来,而不是将其转换为其他不同的格式(目前我认为我正在强制它转换为 AAC)。

关于如何使这项工作的任何想法?

4

2 回答 2

2

-acodec copy提取音频而不在 ffmpeg 中重新编码:

for f in *.mkv; do ffmpeg -i "$f" -acodec copy "${f%mkv}aac"; done

您可以使用 . 查看音频流的格式ffmpeg -i input.mkv

于 2012-11-23T09:56:27.977 回答
0

如果你可以使用 mencoder,那么试试这个。这个对我有用。(mkv、mp4、flv、rmvb 等视频格式都可以)

mencoder -oac mp3lame -ovc copy -of video_file -o audio_file.mp3
于 2012-11-23T08:44:34.990 回答