編輯中…..
樹莓派推出 csi介面的 camera, 速度快, 效能好, 但普遍性不高
sudo raspi-config/advancd/Interfacing Option/Camera/Enabled後, 需重新開機
sudo raspi-config/Advanced Options/Memory Split/128, 開啟/dev/video0之設備
raspivid : 將csi cameri傳輸到視窗
-t 0 : 限定秒數, 0為無限循環
-b : bitrate, 如10M
-fps : frames per second
-w : 影像輸出寬度
-h : 影像輸出高度
-hf : Horizontal flip水平翻轉
-vf : Vertical flip 垂直翻轉
舉例 :
raspivid -t 0 -w 1280 -h 720 -hf
/dev/video0
usb webcam可以使用 /dev/video0來操控. 但csi camera在pi 4上也可以使用/dev/video0來操控.
不過在pi3是無法使用的, 需使用如下的設定.
curl http://www.linux-projects.org/listing/uv4l_repo/lpkey.asc | sudo apt-key add –
sudo vim /etc/apt/sources.list, 增加如下設定
deb http://www.linux-projects.org/listing/uv4l_repo/raspbian/stretch stretch main
然後更新list並下載如下檔案
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install uv4l uv4l-raspicam
sudo apt-get install uv4l-raspicam-extras
啟動驅動服務
sudo service uv4l_raspicam restart
安裝其他套件
sudo apt-get install uv4l-server uv4l-uvc uv4l-xscreen uv4l-mjpegstream
儲存後, 記得重新開機. 此時就可以使用/dev/video0來存取csi camera了. 可以使用如下指令測試. 注意喔, 一定要加 -input_format h264, 不然效能會非常的差
ffplay -input_format h264 -video_size 1920x1080 /dev/video0
raspivid & mplayer
此法是由觀看者(Windows)安裝mplayer, 然後連上樹莓派, 所以只適用於區域網路, 不適用於樹莓派連線手機網路. 影片低延遲, 人類眼睛不易查覺.
首先, 樹莓派上執行如下指令
raspivid -t 0 -w 1920 -h 1080 -o - | nc -k -l 8099
Windows中先下載mplayer, 選取AMD64/Intel EM64T
然後執行如下指令, 其中的ip, 為樹莓派的ip, port為上述的8099port
mplayer -fps 200 -demuxer h264es ffmpeg://tcp://192.168.1.32:8099
pistream
此法可由觀看端使用瀏覽器連線到樹莓派, 所以也不適用於樹莓派連上手機網路. 也是低延遲. 解析度可由 server.py中更改, 但WIDTH, HEIGHT改為 1920X1080時, 顏色值錯亂, 聽說無法解決
首先在樹莓派上執行如下指令
sudo apt-get install ffmpeg git python3-picamera python3-ws4py
git clone https://github.com/waveform80/pistreaming.git
cd pistreaming
python3 server.py
然後由觀看端開啟瀏覽器, 輸入如下網址
http://pi_ip:8082/index.html
ffmpeg推流
ffmpeg -ss 0 -pix_fmt yuv420p -i /dev/video0 -c:v h264_omx -f flv \
-vf
raspivid -w 1920 -h 1080 -o - |\
ffmpeg -i - \
-flags global_header \
-vf drawtext='fontfile=fonts/FreeSerif.ttf:text=%{localtime}:x=5:y=20:fontcolor=white:fontsize=36:box=1:boxcolor=0x000000@0.5' \
-b:v 4000k -vcodec h264_omx \
-f flv \
rtmp://mahaljsp.asuscomm.com/live/movie
todo