优化 FFMPEG 直播流 THUMBNAIL

优化 FFMPEG 直播流 THUMBNAIL

测试了许多可能性之后,我得到了一个完美的命令行,可以从实时流中创建缩略图:

ffmpeg -i rtmp://srvIp/h264.stream -r 1 -an -updatefirst 1 -y thumbnail.jpg

它每秒刷新一次 JPG,并且 HTTP 网络服务器可以毫无问题地使用 JPG,并将其显示给网络客户端。

唯一的问题是:每个命令都会占用 5% 到 10% 的 CPU。如果我想要 20 个通道的缩略图,CPU 就没有足够的能力处理它。FFmpeg 可能会主动解码所有帧。

有没有办法优化这个命令并以某种方式告诉 FFmpeg 跳过所需帧之间的所有帧。我尝试了以下过滤器:

  1. -vf fps=fps=1
  2. -vf "'select=eq(pict_type,I)'"
  3. 使用1/51/10作为 FPS

但这些对 CPU 使用率没有影响,只有使用 (2) 的图像质量比原始命令 ( -r 1) 更差。

我可以接受每秒一张缩略图(或仅提取关键帧),每 10 秒一张缩略图也可以,但我认为真正的问题可能是 H.264 解码。

相关内容