ffmpeg命令行获取RTSP流并每秒截取一张解码存储为jpg

​ 由于项目的需求是要从IP摄像头的视频流每隔1秒截取帧数据并解码存为jpg供分析用,第一时间就想到了ffmpeg去实现。

准备工作

​ ubuntu16.04的系统

​ 一台IP摄像头

安装FFMEPG
sudo apt-get install ffmpeg
每隔1秒截取一张图片并覆盖在同一张图片上
ffmpeg -i "rtsp://admin:[email protected]:554/cam/realmonitor?channel=1&subtype=0" -y -f image2 -r 1/1 -updatefirst 1 img.jpg
每隔1秒截取一张图片并都按一定的规则命名来生成图片
ffmpeg -i "rtsp://admin:[email protected]:554/cam/realmonitor?channel=1&subtype=0" -y -f image2 -r 1/1 img%03d.jpg
每隔1秒截取一张指定分辨率的图片并覆盖在同一张图片上
ffmpeg -i "rtsp://admin:[email protected]: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
参考博客

ffmpeg基础使用 https://www.jianshu.com/p/ddafe46827b7

你可能感兴趣的:(ffmpeg)