Difference between revisions of "Template:FriendlyCoreAllwinner-DVPCam/zh"
From FriendlyELEC WiKi
(updated by API) |
(updated by API) |
||
Line 1: | Line 1: | ||
CAM500B是一款500万像素摄像头模块,以DVP并行信号输出,详细信息请参考[[Matrix - CAM500B/zh|Matirx-CAM500B]]。<br> | CAM500B是一款500万像素摄像头模块,以DVP并行信号输出,详细信息请参考[[Matrix - CAM500B/zh|Matirx-CAM500B]]。<br> | ||
+ | |||
连接开发板和CAM500B,然后上电启动系统,连接网络,以root用户登录终端并编译运行mjpg-streamer: | 连接开发板和CAM500B,然后上电启动系统,连接网络,以root用户登录终端并编译运行mjpg-streamer: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
Line 6: | Line 7: | ||
$ ./start.sh | $ ./start.sh | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | 请自行修改start.sh, 确保使用正确的/dev/videoX节点, 下列命令可以用来确定摄像头的video节点: | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | $ apt-get install v4l-utils | ||
+ | $ v4l2-ctl -d /dev/video0 -D | ||
+ | Driver Info (not using libv4l2): | ||
+ | Driver name : sun6i-video | ||
+ | Card type : sun6i-csi | ||
+ | Bus info : platform:camera | ||
+ | Driver version: 4.16.0 | ||
+ | Capabilities : 0x84200001 | ||
+ | Video Capture | ||
+ | Streaming | ||
+ | Extended Pix Format | ||
+ | Device Capabilities | ||
+ | Device Caps : 0x04200001 | ||
+ | Video Capture | ||
+ | Streaming | ||
+ | Extended Pix Format | ||
+ | </syntaxhighlight> | ||
+ | 上述信息表示/dev/video0是CAM500B的设备节点。<br> | ||
mjpg-streamer是一个开源的网络视频流服务器,在板子上成功运行mjpg-streamer后会打印下列信息: | mjpg-streamer是一个开源的网络视频流服务器,在板子上成功运行mjpg-streamer后会打印下列信息: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> |
Revision as of 05:15, 12 April 2018
CAM500B是一款500万像素摄像头模块,以DVP并行信号输出,详细信息请参考Matirx-CAM500B。
连接开发板和CAM500B,然后上电启动系统,连接网络,以root用户登录终端并编译运行mjpg-streamer:
$ cd /root/mjpg-streamer $ make $ ./start.sh
请自行修改start.sh, 确保使用正确的/dev/videoX节点, 下列命令可以用来确定摄像头的video节点:
$ apt-get install v4l-utils $ v4l2-ctl -d /dev/video0 -D Driver Info (not using libv4l2): Driver name : sun6i-video Card type : sun6i-csi Bus info : platform:camera Driver version: 4.16.0 Capabilities : 0x84200001 Video Capture Streaming Extended Pix Format Device Capabilities Device Caps : 0x04200001 Video Capture Streaming Extended Pix Format
上述信息表示/dev/video0是CAM500B的设备节点。
mjpg-streamer是一个开源的网络视频流服务器,在板子上成功运行mjpg-streamer后会打印下列信息:
i: Using V4L2 device.: /dev/video0 i: Desired Resolution: 1280 x 720 i: Frames Per Second.: 30 i: Format............: YUV i: JPEG Quality......: 90 o: www-folder-path...: ./www/ o: HTTP TCP port.....: 8080 o: username:password.: disabled o: commands..........: enabled
假设开发板的IP地址为192.168.1.230,在PC的浏览器中输入 192.168.1.230:8080 就能浏览摄像头采集的画面了,效果如下:
mjpg-streamer是用libjpeg对摄像头数据进行软编码,Linux-4.x内核的ROM目前并不支持视频硬编码, 但是如果使用Linux-3.x内核的ROM的话, 则可以使用ffmpeg对摄像头数据进行硬编码,这样能大大降低CPU的占用率并提高编码速度:
$ ffmpeg -t 30 -f v4l2 -channel 0 -video_size 1280x720 -i /dev/video0 -pix_fmt nv12 -r 30 -b:v 64k -c:v cedrus264 test.mp4
默认会录制30秒的视频,输入q能终止录制。录制完成后会在当前目录生成一个名为test.mp4的视频文件,可将其拷贝到PC上进行播放验证。