使用cuda编码推流rtsp
ffmpeg -re -stream_loop -1 -i C:\\t.mp4 -rtsp_transport udp -c:v h264_nvenc -pix_fmt yuv420p -f rtsp rtsp://192.168.50.25/test
添加实时时间戳水印,精确到毫秒
ffmpeg -re -stream_loop -1 -i C:\\t.mp4 -vf "settb=AVTB,setpts='trunc(PTS/1K)*1K+st(1,trunc(RTCTIME/1K))-1K*trunc(ld(1)/1K)',drawtext=fontsize=30:fontcolor=white:text='%{localtime}.%{eif\:1M*t-1K*trunc(t*1K)\:d}'" -rtsp_transport udp -c:v h264_nvenc -pix_fmt yuv420p -f rtsp rtsp://192.168.50.25/test
视频按时间截取
ffmpeg -i test.mp4 -vcodec copy -acodec copy -ss 00:00:00 -to 00:00:10 result.mp4
如上方法会出现开头几秒中会有黑屏,是由截取不准确造成的
ffmpeg -ss [start] -t [duration] -i [in].mp4 -c:v libx264 -c:a aac -strict experimental -b:a 98k [out].mp4
视频导出为图片
ffmpeg -i video.m4s -r 60 -f image2 %05d.png
-r表示帧率
-f表示输出的格式 图片
%05d 为命名规则,以00000.png开始一直顺序命名
将多张图片合并为gif
ffmpeg -r 5 -i %03d.png 11.gif
-r 设置帧率
png转rgb
ffmpeg -i 1.png -pix_fmt argb 1.rgb
输出扩展名不重要
pix_fmt支持的格式可以使用ffmpeg -pix_fmts
查看
显示rgb图像
ffplay -pix_fmt argb -video_size wxh 1.rgb
rgb转png
ffmpeg -s wxh -pix_fmt argb -i 1.rgb 2.png
图片缩放
ffmpeg -i input.png -vf scale=800:600 output.png