2

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

我试过玩帧率无济于事。

任何帮助表示赞赏。

4

2 回答 2

2

我之前遇到过同样的问题(但我使用的是Raspberry pi),只需调整目标文件夹的权限即可。我在文件夹 777 上设置了权限,只是为了测试目的,我运行了一个与您使用的命令类似的命令./mjpg_streamer -i "input_uvc.so -y --device /dev/video0" -o "output_file.so -f /home/pi/images -d 1500"

它就像一个魅力

PS不太确定为什么它仍然显示:o: ringbuffer size...: no ringbuffer..但它有效!

于 2013-07-27T06:14:36.977 回答
0

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

于 2016-09-10T17:36:17.747 回答