FFmpeg功能比较强大,这里记录一条从摄像机抓拍的一条命令:
ffmpeg.exe -i rtsp://admin:hisense2021@192.168.1.64:554/live0.264 -r 1 -ss 00:00:00 -t 00:00:01 -f image2 image.jpg ; ---执行成功。
这是一条网络摄像机的抓图命令,其实就是通过rtsp获取一帧图像,然后保存到本地。
参数说明:
-i:是指定视频流来源,这里是rtsp
-r::是帧率
-ss:开始时间
-t:结束时间,这里只取1秒
后面的文件名,其实可以设定格式的,比如%3d,jpg,生成的多个文件时,会自动给生成的文件编号。
FFmpeg 图片与视频互转实战
ffmpeg -i in.flv -r 1 -f image2 image-%3d.jpeg
ffmpeg -i /dev/video0 -r 1 -ss 00:00:00 -t 00:00:01 image1.jpg 抓取笔记本上图片
ffmpeg命令大全保存一下。
将图片拼成视频:
ffmpeg -f image2 -i <input path> <output path>
#因为是多张图片需要根据顺序去索引,如下:
ffmpeg -f image2 -i %d.jpg cam1.mp4
视频分辨率转换:
ffmpeg -i <input path> -s 640x480 <output path>
视频按帧截取:
ffmpeg -i <input path> -vf "select=between(\n,起始帧\,结束帧)" -y -acodec copy <output path>
#例如 截取视频的1550帧到4000帧的视频
ffmpeg -i ./cam2.mp4 -vf "select=between(n\,1500\,4000)" -y -acodec copy ./cam2_new.mp4
视频按时间截取:
#截取从00:00:03至00:00:08的视频
ffmpeg -i ./cam2.mp4 -vcodec copy -acodec copy -ss 00:00:03 -to 00:00:08 ./cut1.mp4 -y
视频转换给gif:
#1 设定视频分辨率 设定视频比特率压缩视频
ffmpeg -i cam3.mp4 -s 640x338-b:v 200k cam3_new.mp4
#-s用于设定分辨率,-b:v设定视频比特率来压缩大小
#2 从第2秒往后截取5秒,设定帧数为15帧(通常较为流畅)
ffmepg -ss 2 -t 5 -i cam3_new.mp4 -s 640x338 -r 15 cam3_new.gif
-ss 2 -t 5,从第2秒的地方开始,往后截取5秒钟, -r 用于设定帧数.