使用mjpg-streamer以高于640x480的分辨率捕获图像

时间:2012-05-24 18:00:12

标签: streaming webcam resolution beagleboard mjpeg

我在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

我尝试过使用帧速率无济于事。

感谢任何帮助。

2 个答案:

答案 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)

对我来说,解决方案很简单 - 根本不指定帧率,只指定分辨率。它开始起作用了。