是否可以从 FMS 直播流中检索帧作为图像?

发布于 2024-09-06 05:11:19 字数 35 浏览 3 评论 0原文

有人试过这个吗?

对此的最佳实践是什么?

Has anyone tried this ?

What's the best practice for this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

鸠魁 2024-09-13 05:11:19

FMS 直播使用 RTMP 协议:

ffmpeg -i rtmp://***服务器/路径* **-acodec复制-vcodec复制-y *捕获***.flv**

这里,我们将整个流保存到FLV文件中,这是Flash的静态电影文件格式,因此可以始终保留所有RTMP音频和视频无需转换的编解码器。

然后您可以提取任何您想要的帧,例如

ffmpeg -i *捕获***.flv -s ** 开始时间 -vframes 1 -f image2 -vcodec mjpeg *捕获***.jpg**

如果您雄心勃勃并且确切地知道您想要的时间偏移和间隔要提前捕获,您可以同时执行这两个步骤,例如每秒一帧:

ffmpeg -i rtmp://***服务器/路径* **-r 1 -f image2 -vcodec mjpeg *捕获***%d.jpg**

所有命令行都没有已经过测试,需要修复,但会给您留下良好的印象

FMS live streams are using the RTMP protocol:

ffmpeg -i rtmp://***server/path* **-acodec copy -vcodec copy -y *captured***.flv**

Here, we are saving the whole stream to an FLV file, which is Flash's static movie file format and so can always preserve all RTMP audio and video codecs without conversion.

You can then extract any frames you want, e.g.

ffmpeg -i *captured***.flv -s** starttime -vframes 1 -f image2 -vcodec mjpeg *captured***.jpg**

If you are ambitious and know exactly what time offsets and intervals you want to capture in advance, you can do both steps at once, e.g. one frame every second:

ffmpeg -i rtmp://***server/path* **-r 1 -f image2 -vcodec mjpeg *captured***%d.jpg**

All commandlines have not been tested, will need fixing but give you a good impression

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文