我在BeagleBone上的Angstrom Linux上使用mjpg-streamer,并且能够从流中捕获图像。然而,我似乎无法让分辨率超过640x480。当我尝试设置该选项时,结果显示它是以我选择的分辨率进行流式传输,但软件实际上并未保存任何图像。
例如,这有效:
# ./mjpg_streamer -i "./input_uvc.so -d /dev/video0 -r 640x480 -yuv -n -f 1 -q 80" -o "./output_file.so -f ./tests/ -d 5000"
MJPG Streamer Version: svn rev:
i: Using V4L2 device.: /dev/video0
i: Desired Resolution: 640 x 480
i: Frames Per Second.: 1
i: Format............: YUV
i: JPEG Quality......: 80
o: output folder.....: ./tests
o: input plugin.....: 0: ./input_uvc.so
o: delay after save..: 5000
o: ringbuffer size...: no ringbuffer
o: command...........: disabled
虽然这不是:
# ./mjpg_streamer -i "./input_uvc.so -d /dev/video0 -r 1280x720 -yuv -n -f 1 -q 80" -o "./output_file.so -f ./tests/ -d 5000"
MJPG Streamer Version: svn rev:
i: Using V4L2 device.: /dev/video0
i: Desired Resolution: 1280 x 720
i: Frames Per Second.: 1
i: Format............: YUV
i: JPEG Quality......: 80
o: output folder.....: ./tests
o: input plugin.....: 0: ./input_uvc.so
o: delay after save..: 5000
o: ringbuffer size...: no ringbuffer
o: command...........: disabled
我成功地将分辨率更改为更低而不是默认值。
# ./mjpg_streamer -i "./input_uvc.so -d /dev/video0 -r 320x240 -yuv -n -f 1 -q 80" -o "./output_file.so -f ./tests/ -d 5000"
MJPG Streamer Version: svn rev:
i: Using V4L2 device.: /dev/video0
i: Desired Resolution: 320 x 240
i: Frames Per Second.: 1
i: Format............: YUV
i: JPEG Quality......: 80
o: output folder.....: ./tests
o: input plugin.....: 0: ./input_uvc.so
o: delay after save..: 5000
o: ringbuffer size...: no ringbuffer
o: command...........: disabled
我尝试过使用帧速率无济于事。
感谢任何帮助。
答案 0 :(得分:2)
之前我遇到过同样的问题(但我使用的是Raspberry pi),只需调整目标文件夹的权限即可。我在文件夹777上获得了权限,仅用于测试目的,我运行了类似于您使用的命令./mjpg_streamer -i "input_uvc.so -y --device /dev/video0" -o "output_file.so -f /home/pi/images -d 1500"
它就像一个魅力
P.S。不确定为什么它仍然显示这个:o: ringbuffer size...: no ringbuffer
..但它有效!!
答案 1 :(得分:0)
对我来说,解决方案很简单 - 根本不指定帧率,只指定分辨率。它开始起作用了。