Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 用于从视频文件提取音频的Mac shell脚本_Macos_Shell - Fatal编程技术网

Macos 用于从视频文件提取音频的Mac shell脚本

Macos 用于从视频文件提取音频的Mac shell脚本,macos,shell,Macos,Shell,我正在尝试编写一个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 "pr

我正在尝试编写一个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是一个命令行应用程序,它将对一个源或一组源代码进行转换,以创建目标文件输出…

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


你有什么想法可以让这一切顺利进行吗

如果你能使用孟码,那么试试这个。它对我有用。(视频格式,如mkv、mp4、flv、rmvb所有作品)


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

for f in *.mkv; do ffmpeg -i "$f" -acodec copy "${f%mkv}aac"; done
您可以使用
ffmpeg-i input.mkv
查看音频流的格式

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