Linux初学,整理一下笔记。希望后面我还可以**继续做更多的笔记:)
MJPG视频服务器的搭建
设备: Beaglebone Black + Logitech C525 + 外接+5V电源。
说明:因为有的摄像头消耗电流比较大,所以这里选择用+5V电源来给Beaglebone Black供电。
使用的是Angstrom系统。
步骤:
1. 接好电源,接好网线,USB线。
2. 使用SSH方式登录BBB
Using username "root".
root@192.168.7.2's password:
执行命令uname -aLinux beaglebone 3.8.13 #1 SMP Wed Sep 4 09:09:32 CEST 2013 armv7l GNU/Linux
这就是使用的系统
通过命令ifconfig可以看到BBB的网络配置情况:
root@beaglebone:~# ifconfig
eth0 Link encap:Ethernet HWaddr 90:59:AF:64:48:18
inet addr:192.168.1.104 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::9259:afff:fe64:4818/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:12 errors:0 dropped:0 overruns:0 frame:0
TX packets:51 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2342 (2.2 KiB) TX bytes:9427 (9.2 KiB)
Interrupt:56
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:2 errors:0 dropped:0 overruns:0 frame:0
TX packets:2 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:205 (205.0 B) TX bytes:205 (205.0 B)
usb0 Link encap:Ethernet HWaddr 02:EA:E2:8C:EF:D0
inet addr:192.168.7.2 Bcast:192.168.7.3 Mask:255.255.255.252
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:241 errors:0 dropped:0 overruns:0 frame:0
TX packets:137 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:25127 (24.5 KiB) TX bytes:25892 (25.2 KiB)
3.接上摄像头C525,其他支持MJPEG编码的也可以用吧!
命令lsusb
Bus 001 Device 002: ID 046d:0826 Logitech, Inc.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
其中 046d:0826 Logitech 就是摄像头了。
命令v4l2-ctl --list-devices
HD Webcam C525 (usb-musb-hdrc.1.auto-1):
/dev/video0
命令 v4l2-ctl --list-formats 查看支持的编码方式ioctl: VIDIOC_ENUM_FMT
Index : 0
Type : Video Capture
Pixel Format: 'YUYV'
Name : YUV 4:2:2 (YUYV)
Index : 1
Type : Video Capture
Pixel Format: 'MJPG' (compressed)
Name : MJPEG
4. 好了,前面都是设备准备阶段。下面开始Streamer Video部分了。
安装配套的软件
opkg install subversion libjpeg-dev imagemagick
然后把软件checkout到本地
svn checkout http://svn.code.sf.net/p/mjpg-streamer/code/ mjpg-streamer-code
执行完成之后,本地就多了一个 mjpg-streamer-code的文件夹。
执行下面的命令:
cd mjpg-streamer-code/
root@beaglebone:~/mjpg-streamer-code# ls
doc mjpg-streamer udp_client
mjpeg-client mjpg-streamer-experimental uvc-streamer
root@beaglebone:~/mjpg-streamer-code# cd mjpg-streamer-experimental/
root@beaglebone:~/mjpg-streamer-code/mjpg-streamer-experimental# make
5. 启动服务器
root@beaglebone:~/mjpg-streamer-code/mjpg-streamer-experimental# ./mjpg_streamer -i "./input_uvc.so" -o "./output_http.so"
通常会有下面的输出:
MJPG Streamer Version: svn rev: 3:182
DBG(input_uvc.c, input_init(), 136): argv[0]=UVC webcam grabber
DBG(input_uvc.c, input_init(), 302): input id: 0
i: Using V4L2 device.: /dev/video0
i: Desired Resolution: 640 x 480
i: Frames Per Second.: not limited
i: Format............: JPEG
i: TV-Norm...........: DEFAULT
。。。。
o: www-folder-path...: disabled
o: HTTP TCP port.....: 8080
o: username:password.: disabled
o: commands..........: enabled
6. 观看视频。使用VLC Media Player
打开VLC Media Player,
这里需要使用BBB的局域网IP地址,还记得前面执行过 ifconfig命令吧,里面有个etho,ip地址就在里面的。
在VLC Media Player的界面里面右键,选择 open network stream
里面的地址替换成你的地址。
然后paly,就可以了。
这是我用截图截下来的图片,上传似乎有乱码,不过在PC上显示是没有问题的。
先这样,如果不行,待会儿重拍再上传。
PS:新手,可能写的太详细了些。就当是笔记吧!:lol
|