ffmpeg 使用笔记(一)

推流
ffmpeg -re -i a.mp4 -c copy -f flv rtmp://192.168.2.169/live?vhost=play/11

-re 按照时间戳顺序推流 不加的话直接把所有文件都推过去
-f  输出格式
-c  音视频格式 copy 与源流一样
循环推流
  • 真正循环
ffmpeg -threads 2 -re -fflags +genpts -stream_loop -1 -i ./test.mp4 -c copy test.flv

推完一次会停止几十秒之后再重推
-stream_loop -1 flag before the input (-i):

The -fflags +genpts 
will regenerate the pts timestamps so it loops smoothly, otherwise the time sequence will be incorrect as it loops.

FFmpeg >= 2.8.4 is required in this case.
  • 假循环
ffmpeg -re -safe 0 -f concat -i test.txt -vcodec copy -acodec copy -f flv rtmp://xxx

-safe 0 可以用绝对路径,否则只能用相对路径
cat test.txt
file 'a.mp4'
file 'a.mp4'
file 'a.mp4'

捕捉桌面推流
ffmpeg -f gdigrab -framerate 30 -offset_x 0 -offset_y 0 -video_size 1920*1080  -i desktop -b 3000k  -f flv rtmp://xxx

模糊水印
ffmpeg.exe -i out.flv -vf delogo=10:20:200:300:0 -f flv pl.flv 
10  离左边距    0左上角
20  离上边距    0左上角
200 模糊区域的宽
300 模糊区域的高
添加水印
ffmpeg -re -i a.flv -vf "movie=1.png,scale=200:300[watermask];[in][watermask] overlay=50:100[out]"   -f flv  rtmp://xxx
200 水印宽
300 水印高
50  水印位置 离左边距
100 水印位置 离上边距
截图
ffmpeg -ss 01:00:00 -i a.mp4  -t 00:10:00 -r 0.2 -f image2 ll\i-%3d.jpg

recorder rec {
    record keyframes;
    record_max_frames 1;
    record_interval 5s; 
    record_suffix .jpg;
    record_path /usr/local/sms/rec;
    record_unique on; 
    record_lock on; 
    exec_record_done /usr/local/sms/sbin/ffmpeg -i $path -r 1 -f image2  -y $path;
    on_record_done http://127.0.0.1:80/test1;

}   
画中画
ffmpeg -i a.mp4 -i a.mp4 -filter_complex "[1:v]scale=w=176:h=144:force_original_aspect_ratio=decrease[ckout];[0:v][ckout]overlay=x=10:y=0[out]" -map "[out]" -movflags faststart b.mp4
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值