我无法理解如何创建.mjpeg文件。据我所知,它只是一系列jpeg文件。我在网上搜索了将它们组合成单个文件的方法,但没有找到任何信息。有些人说只需创建一个能够显示一个又一个图像的缩小器。
我正在尝试使用以下应用程序git://git.ideasonboard.org/uvc-gadget.git来测试UVC,其中一个选项是mjpeg文件的路径。我不是很清楚是否可以创建一个mjpeg文件。
非常感谢有关如何创建mjpeg文件的任何帮助,以便我可以将它与上述应用程序一起使用。
我很难找到同样的东西。当它支持各种电影容器但不支持UVC有效载荷格式时,阅读mencoder的联机帮助页尤其具有误导性。
这似乎对我来说在Ubuntu 16.04上记录来自网络摄像头的字节流:
gst-launch-1.0 v4l2src device=/dev/video0 ! 'image/jpeg,width=1280,height=720,framerate=30/1' ! \
filesink buffer-size=0 location=mystream.mjpeg
其中1280x720 30 fps是guvcview
所说的我的网络摄像头支持。
资料来源:link
编辑:后来我了解了v4l2-ctl
:
v4l2-ctl -d /dev/video0 --list-formats-ext # identify a proper resolution/format
v4l2-ctl --set-fmt-video=width=1280,height=720,pixelformat=1
v4l2-ctl --stream-mmap=1 --stream-count=30 --stream-to=mystream.mjpeg
当stream-count设置为1时,它会生成一个可以使用xdg-open
查看的常规JPEG文件。否则,运行file mystream.mjpeg
以确认输出具有适当的分辨率和帧数。
让这些数据真正与uvc-gadget -i
一起使用可能会更加复杂。鉴于它可能需要适当的补丁,内核配置和调试,到目前为止,我只获得了未压缩的格式,以便在我的Raspberry Pi Zero上同步工作。希望你更进一步。