FFmpeg截图命令优化

由于项目要求,需要对摄像机的rtsp流进行截图。一开始我使用了命令:

./ffmpeg -ss 0 -i XXX -f image2 -vframes 1 -s 370*210 -y output.jpg

上述命令抓取rtsp流第0秒(当前)的图像,将其保存为370*210分辨率的jpg图片。经过测试,发现该命令可以成功截图。但在复杂的网络环境(学校局域网)下,截图速度较慢,截取出来的图片花屏率较高。

FFmpeg截图命令优化_第1张图片

推测截图的速度较慢是因为加了-ss参数,会有个跳转的过程导致。截取出来的图片花屏率较高是因为没有加-rtsp_transport 参数,所以默认rtsp里面的rtp包传输用的是udp,udp会丢包导致。

所以将截图命令改成:

./ffmpeg -f rtsp -rtsp_transport tcp -i XXX -vframes 1 -s 370*210 -y output.jpg

修改后发现截图的速度上升,花屏率下降了

FFmpeg截图命令优化_第2张图片

参考:《ffmpeg获取视频截图》

你可能感兴趣的:(音视频技术,ffmpeg)