由於項目的需求是要從IP攝像頭的視頻流每隔1秒截取幀數據並解碼存為jpg供分析用,第一時間就想到了ffmpeg去實現。
准備工作
ubuntu16.04的系統
一台IP攝像頭
安裝FFMEPG
sudo apt-get install ffmpeg
每隔1秒截取一張圖片並覆蓋在同一張圖片上
ffmpeg -i "rtsp://admin:123456@192.168.8.148:554/cam/realmonitor?channel=1&subtype=0" -y -f image2 -r 1/1 -updatefirst 1 img.jp
每隔1秒截取一張圖片並都按一定的規則命名來生成圖片
ffmpeg -i "rtsp://admin:123456@192.168.8.148:554/cam/realmonitor?channel=1&subtype=0" -y -f image2 -r 1/1 img%03d.jpg
每隔1秒截取一張指定分辨率的圖片並覆蓋在同一張圖片上
ffmpeg -i "rtsp://admin:123456@192.168.8.148:554/cam/realmonitor?channel=1&subtype=0" -y -f image2 -r 1/1 -updatefirst 1 -s 640x480 img.jpg
這里順便列一下目前用到的攝像頭的RTSP地址格式,這里要注意大華的rtsp地址因為帶有&
符號,在shell直接執行的時候如果沒有將rtsp地址用""
包起來 則需要用\
轉義
#海康主流 rtsp://admin:123456@192.168.1.160:554/h264/ch1/main/av_stream #海康子流 rtsp://admin:123456@192.168.1.160:554/h264/ch1/sub/av_stream #大華主流 rtsp://admin:pheicloud408@192.168.8.148:554/cam/realmonitor?channel=1&subtype=0 #大華子流 rtsp://admin:pheicloud408@192.168.8.148:554/cam/realmonitor?channel=1&subtype=1