当前,我有一个简单的脚本,该脚本将使用ffmpeg检测视频音频编解码器,并输出一条消息,指定编解码器是mp4还是aac。这是我的代码:
#!/bin/bash
for i in *.mp4; do
OUTPUT=$(ffmpeg -i '$i' 2>&1 | grep -o 'Audio:.*' | cut -f2 -d' ' | awk '{print $0}' | tr -d ,)
if [[ $OUTPUT == "mp3" ]]; then
echo "${i} = audio codec mp3"
fi
if [[ $OUTPUT == "aac" ]]; then
echo "${i} = audio codec aac"
fi
done
但是此脚本不起作用!没有错误,我不知道该怎么办。另外,ffmpeg -i <input.mp4> 2>&1 | grep -o 'Audio:.*' | cut -f2 -d' ' | awk '{print $0}' | tr -d ,
返回aac或mp3,此行正常运行!我想这个问题与if case
有关,但是正如我所说,我无法独自解决这个问题,您能帮我吗?
谢谢
答案 0 :(得分:0)
如果[[$ OUTPUT ==“ mp3”]];然后
if [[$ OUTPUT ==“ aac”]];然后
替换为
如果[[“ $ OUTPUT” =“ mp3”]];然后
如果[[“ $ OUTPUT” =“ aac”]];然后