我正在尝试从 mjpeg 流中提取 jpeg 图像。我搜索了一下,找到了几个来源,但都是从 mjpeg 文件中提取 jpeg 图像,比如这个这里。就我而言,我没有文件,但有实时视频流。如何从此 mjpeg 流中提取 jpeg 图像?我最终的目标是从一系列 jpeg 中重新创建视频。
我正在寻找一个可以在终端中使用的命令行答案,因为我使用的是没有 GUI 的 Ubuntu Server。如果可能的话,如果可以配置帧速率和/或质量就太好了。我查看了 ffmpeg、libav 和 vlc,但我不太明白。有人能帮忙吗?
答案1
我找到了一个可以解决我的问题的 vlc 命令:
vlc -I dummy \
http://192.168.254.102:8080/stream?topic=/camera/rgb/image_color/ \
--video-filter=scene \
--vout=dummy \
--scene-format=jpg \
--scene-ratio=1 \
--scene-prefix=snapshot \
--scene-path=/home/andrew/frames \
vlc://quit
这会保存流中的每一帧。如果我想每 10 帧捕获一帧,则--scene-ratio
可以将值更改为 10 --scene-ratio=10
:。