【问题标题】:Transcode and generate thumbnails with ffmpeg使用 ffmpeg 转码和生成缩略图
【发布时间】:2015-03-21 08:17:18
【问题描述】:

使用 ffmpeg 并假设它是可行的,我如何将输入视频从一种格式转换为另一种格式(例如 MPEG-2 到 MPEG-4)并同时每 n 秒生成缩略图?

问候, 马特

【问题讨论】:

标签: ffmpeg


【解决方案1】:

此命令将接收 .flv 并转码为 .webm 和 .mp4,同时生成单个缩略图。

ffmpeg -y -threads '1' -i 'in.flv' \
  -map '0:v' -map '0:a' -c:v 'libx264' -c:a 'libvo_aacenc' out.mp4 \
  -map '0:v' -map '0:a' -c:v 'libvpx' -c:a 'libvorbis' out.webm \
  -map '0:v' -r '1' -t '1' 'out.png'

要每 n 秒生成一个缩略图,请将 -r(帧速率)更改为 n 的倒数并删除 -t(以便在视频结束之前拍摄缩略图)。例如,要每 4 秒生成一个缩略图,您需要 1/4 的帧速率。

ffmpeg -y -threads '1' -i 'in.flv' \
  -map '0:v' -map '0:a' -c:v 'libx264' -c:a 'libvo_aacenc' out.mp4 \
  -map '0:v' -map '0:a' -c:v 'libvpx' -c:a 'libvorbis' out.webm \
  -map '0:v' -r '1/4' 'out-%d.png'

【讨论】:

    【解决方案2】:

    看看gstreamer,你可以在管道的每个阶段访问数据。因此,要将 MPEG-4 转换为 MPEG-2 ,您可以这样做

    filesrc | decodebin | tee | jpegencode | filesink(thumbnail) tee | mpeg2enocde | filesink(mpeg2 file)
    

    请查找 gstreamer 管道的确切元素。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-15
      • 2013-04-18
      • 2017-05-26
      • 2018-05-20
      • 2013-05-29
      • 2023-03-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多