標籤:des blog http io ar os 使用 sp for
Urna Semper
Instructor’s Name
June 14, 2014
簡述:
將樹莓派定製為無線便攜監控網路攝影機,插上USB網路攝影機,插上USB wifi,然後將網路攝影機的資料編碼,將編碼後的資料推流至流媒體伺服器,其他人就可以通過流媒體伺服器可以觀看到樹莓派網路攝影機採集到的資料。
內容:
將樹莓派供電,插上HDMI,接上顯示器,就是一個miniPC,其實這個是很正常的,但是Raspberry Pi這個東西畢竟是個簡單的miniPC系統,支援的裝置還是挺少的,加上USB網路攝影機比較老了,是好幾年前買的,所以不大好用,lsusb可以看到usb可以識別到,但是沒有對應的驅動
ls /dev/沒有看到video0,lsmod也沒有看到v4l之類的資訊;而USB wifi,可以識別,樹莓派是去年買的,可能kernel相對來有點老了,所以沒有支援上,就下載了pidora,裝了一個新的。因為Raspberry Pi是SD Card載入系統的,所以,安裝系統還是比較方便的,將image通過dd到SDCard裡面就可以了。裝上以後,USB WIFI就可以被識別出來了,但是USB Camera還是識別不出來,這樣的話就要重新驅動了;
點擊(此處)摺疊或開啟
- [[email protected] ~]# lsusb
- Bus 001 Device 008: ID 046d:c31c Logitech, Inc. Keyboard K120 for Business
- Bus 001 Device 010: ID 046d:c05a Logitech, Inc. M90/M100 Optical Mouse
- Bus 001 Device 006: ID 0c45:62c0 Microdia Sonix USB 2.0 Camera
- Bus 001 Device 005: ID 1a40:0101 Terminus Technology Inc. Hub
- Bus 001 Device 004: ID 0bda:8178 Realtek Semiconductor Corp. RTL8192CU 802.11n WLAN Adapter
- Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
- Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp. SMC9512/9514 USB Hub
- Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
通過這個資訊可以看到兩個相關的USB資訊,一個是USB網路攝影機
點擊(此處)摺疊或開啟
- Bus 001 Device 006: ID 0c45:62c0 Microdia Sonix USB 2.0 Camera
另外一個是USB WIFI
點擊(此處)摺疊或開啟
- Bus 001 Device 004: ID 0bda:8178 Realtek Semiconductor Corp. RTL8192CU 802.11n WLAN Adapter
可以看到USB網路攝影機是Microdia Sonix USB 2.0 Camera
這個裝置的驅動在Linux-2.6的時候就已經有了,但是Pidora預設是不支援的,所以需要自己重新去編譯LinuxKernel,定製一下,支援 RTL8192CU 和Sonix Camera就可以了,然後做成rpm,通過rpm安裝:
點擊(此處)摺疊或開啟
- rpm -Uvh kernelxxxxxxxxx.rpm
安裝好以後,就可以看到boot下面的資訊是這樣的
點擊(此處)摺疊或開啟
- [[email protected] ~]# ls /boot
- boot.scr config.txt config.txt.pal grub start.elf
- bootcode.bin config.txt.hdmi_nooverscan config.txt.pal_brazil kernel-3.12.17-2.20140415git1782035.rpfr20.img start.elf.desc
- cmdline.txt config.txt.hdmi_overscan fixup.dat kernel-3.12.20-1.20140521git7bd46e7.rpfr20.img start_cd.elf
- config-3.12.17-2.20140415git1782035.rpfr20 config.txt.ntsc_japan fixup_cd.dat kernel.img start_x.elf
- config-3.12.20-1.20140521git7bd46e7.rpfr20 config.txt.ntsc_northamerica fixup_x.dat lost+found
然後重啟Raspberry Pi,就會發現,/dev下面出現了/video0這個裝置驅動檔案:
點擊(此處)摺疊或開啟
- [[email protected] ~]# ls /dev/vide*
- /dev/video0
這個網路攝影機去動起來了,那麼接下來怎麼採集視頻資料呢。
本文來自bbs.chinaffmpeg.com 孫悟空所寫
通過ffmpeg即可,在Raspberry Pi下面安裝ffmpeg,其實Raspberry Pi方便的地方就是他是個miniPC,非常方便,將PC下編譯ffmpeg的時候需要的源碼包傳到Raspberry Pi上即可,其他步驟和PC一樣;
然後採集網路攝影機資料:
因為camera在Linux下面一般是V4L,也就是video4linux或者video4linux2,而ffmeg可以支援這個,那麼就可以看到如所示;發現usb camera可以知道一些參數,視頻是Rawdata,yuy2的資料,解析度是640x480;
然後可以通過ffmpeg去進行編碼,和操作本地檔案一樣;
點擊(此處)摺疊或開啟
- ffmpeg -r 30 -f video4linux2 -i /dev/video0 -vcodec libx264 -r:v 25 -b:v 2000k -pix_fmt yuv420p -preset ultrafast -s 640x480 -f flv rtmp://192.168.1.194/chinaffmpeg/sunwukong
編碼速度剛剛好,可以推流。
rtmp伺服器可以使用nginx-rtmp,由於樹莓派是USB供電,那麼可以使用充電寶,就可以帶走了
下面看一下
http://blog.chinaunix.net/uid-11344913-id-4304172.html
開源項目之樹莓派---無線監控網路攝影機