我用的是aodzip大佬的buildroot包,试着运行ffmpeg 来采集640x480的图像,转成 mjpeg 传到localhost 上,但是v4l2 报错内存不足:
ffmpeg \
-s 640:480 \
-framerate 10 \
-pixel_format uyvy422 \
-f video4linux2 -i "/dev/video0" \
-filter:v fps=10,scale=320:240 \
-f mjpeg udp://127.0.0.1:8080
...
[video4linux2,v4l2 @ 0x5a420] ioctl(VIDIOC_G_PARM): Inappropriate ioctl for device
[video4linux2,v4l2 @ 0x5a420] Time per frame unknown
[video4linux2,v4l2 @ 0x5a420] ioctl(VIDIOC_STREAMON): Cannot allocate memory
/dev/video0: Cannot allocate memory
这是为啥呢?如果把 -s 640:480 换成 -s 320:240 就不会报错,而且通过网络传输还能稳定10fps。
ffmpeg 运行 320x240 的时候,我用free -m 查看内存占用,发现还剩40MB 没用。采集640x480的图像不会就把剩下的40MB全占了吧?这是不是驱动有什么问题?
麻烦哪位大佬指点指点... 我自己搞了一星期了都没搞明白
离线
貌似这也是同样的问题
ov2640在荔枝派上使用ffmpeg录制视频报以下错误,在虚拟机上运行则不会。
http://whycan.com/t_6367.html
(出处:哇酷开发者社区)
麻烦哪位大佬指点指点……
离线
我当时也遇到了这个错误,很奇怪不知道为啥。后来自己写应用调用ffmpeg的库保存为avi就没什么问题。
离线