系列索引:FFmpeg入门系列索引
使用cuda编码推流rtsp
1
| 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
|
添加实时时间戳水印,精确到毫秒
1
| 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
|
视频按时间截取
1
| ffmpeg -i test.mp4 -vcodec copy -acodec copy -ss 00:00:00 -to 00:00:10 result.mp4
|
如上方法会出现开头几秒中会有黑屏,是由截取不准确造成的
1
| ffmpeg -ss [start] -t [duration] -i [in].mp4 -c:v libx264 -c:a aac -strict experimental -b:a 98k [out].mp4
|
视频导出为图片
1
| ffmpeg -i video.m4s -r 60 -f image2 %05d.png
|
-r表示帧率
-f表示输出的格式 图片
%05d 为命名规则,以00000.png开始一直顺序命名
将多张图片合并为gif
1
| ffmpeg -r 5 -i %03d.png 11.gif
|
-r 设置帧率
png转rgb
1
| ffmpeg -i 1.png -pix_fmt argb 1.rgb
|
输出扩展名不重要
pix_fmt支持的格式可以使用ffmpeg -pix_fmts
查看
显示rgb图像
1
| ffplay -pix_fmt argb -video_size wxh 1.rgb
|
rgb转png
1
| ffmpeg -s wxh -pix_fmt argb -i 1.rgb 2.png
|
图片缩放
1
| ffmpeg -i input.png -vf scale=800:600 output.png
|