Ffmpeg忽略流(如果它不存在)

时间:2017-07-05 19:59:51

标签: ffmpeg

我正在使用ffmpeg将文件转换为.mp3并从元数据中提取封面图像。

这适用于具有封面图像的文件,不会引发错误的文件:

  

输出#1不包含任何流

    <div class="col-md-4">
        <h1>Some Text</h1>
        <img src="#" width="250px" height="250px">
    </div>
    <div class="col-md-8">
        <h2>more text here</h2>
    </div>

如果不存在流,如何告诉ffmpeg忽略流,如果元数据中不存在封面图像,如何继续转换为.mp3?

1 个答案:

答案 0 :(得分:0)

首先,您应该检查文件中提供的流。您可以使用工具ffprobe执行此操作。然后运行ffmpeg复制一个或两个流。

if [ -n "`ffprobe -show_streams -v quiet kalimba.mp3  | grep '^\[streams\.stream\.1\]'`" ] ; then
  #  the file has 2 streams
  ffmpeg -i kalimba.mp3 -y test.mp3 -acodec copy test.jpg
else
  # no cover image
  ffmpeg -i kalimba.mp3 -y test.mp3 -acodec copy
fi