根据视频音频编解码器进行操作

时间:2018-11-07 00:28:10

标签: bash

当前,我有一个简单的脚本,该脚本将使用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有关,但是正如我所说,我无法独自解决这个问题,您能帮我吗?

谢谢

1 个答案:

答案 0 :(得分:0)

  
    

如果[[$ OUTPUT ==“ mp3”]];然后
if [[$ OUTPUT ==“ aac”]];然后

  


替换为

如果[[“ $ OUTPUT” =“ mp3”]];然后
如果[[“ $ OUTPUT” =“ aac”]];然后