ffmpeg常用命令

1、查看音视频文件详细格式

ffprobe (目标文件)in.mp4

在这里插入图片描述
2、提取视频文件中的视频(消除音频)

ffmpeg -i in.mp4 -an -vcodec copy out.mp4

3、提取视频中的音频

ffmpeg -i in.mp4 -vn -acodec copy out.m4a

4、如果视频中有多个音频流,例如:
在这里插入图片描述

ffmpeg -i in.mp4 -vn -map 0:3 -acodec copy out.m4a

5、合并音频和视频,音视频格式要对应

ffmpeg -i a.m4a -i ou.mp4 -c copy out.mp4

6、截取一段音频

ffmpeg -i in.mp3 -ss 00:01:00 -to 00:01:10 -acodec copy out.mp3
或者ffmpeg -i in.mp3 -ss 00:01:00 -t 10 -acodec copy out.mp3
或者ffmpeg -i in.mp3 -sseof -t 20 -acodec copy out.mp3  截取倒数20秒音频

7、截取一段视频

ffmpeg -i in.mp4 -ss 00:01:00 -to 00:01:20 -c copy out.mp4

8、连接多个视频(格式最好相同,,宽高码率等),推荐软件(Avidemux)

ffmpeg -i "concat:01.mp4|02.mp4|03.mp4" -c copy out.mp4

9、截图,截取某一秒的一帧图像(截取第五秒的第一帧图像)

ffmpeg -i in.mp4 -ss 5 vframes 1 img.jpg

10、给视频添加水印(水印图片为logo.jpg,设置水印位置离左边框20像素,离顶部20像素)

ffmpeg -i in.mp4 -i logo.jpg -filter_complex "overlay=20:20" out.mp4

11、制作Gif动图(截图5.5s到7.5s的视频为gif,缩放一下大小为640x320,降低帧率为15)

ffmpeg -i in.mp4 -ss 5.5 -to 7.5 -s 640x320 -r 15 out.gif

12、推流视频,实现录播

ffmpeg -re -i orange.mp4 按照网站要求的编码 -f flv 你的rtmp地址或者直播码
例如:-vcodec libx264视频编码,-acodec aac音频编码
ffmpeg -re -i in.mp4 -vcodec libx264 -acodec aac -f flv rtmp://你的ip地址:1935/live/home

推流视频,附nginx服务器
13、ffplay播放视频,可以播放本地视频,也可以接受推流视频

ffplay in.mp4 本地视频
ffplay -i rtmp://192.168.1.119:1935/live/home推流视频

14、单个文件循环推流

ffmpeg -re -stream_loop -1 -i in.mp4 -vcodec copy -f flv rtmp://192.168.1.26:1935/live
说明:
-stream_loop -1-1 表示无限循环;0表示 不循环;默认是0

15、多个文件推流,暂时没找到循环推流,测试加了-stream_loop -1 也没用

ffmpeg -re -f concat -safe 0 -i "list.txt" 
-vcodec copy -acodec aac -f flv rtmp://192.168.1.154:1935/live

###list.txt文件中写入你的视频。例如:
这里 '01.mp4’如果是使用的相对路径也可以不要-safe 0,绝对路径就需要

file '01.mp4'
file '02.mp4'
file '03.mp4

或者,路径中的单引号可有可无,这里绝对路径格式如下,特别注意路径中要用 :/ 不能用:\

file E:/封神榜/jie01.mp4
file E:/封神榜/jie02.mp4
file E:/封神榜/jie03.mp4

16、转播
B站直播转播

ffmpeg -i "http://lss.linVd7klist.m3u8" -vcodec copy -acodec libmp3lame -ac 2 -ar 44100 -b:a 96k -f flv "你的rtmp地址/直播码"

某发布会直播转播

ffmpeg -i "https://player-live.meizu.cn/launch/live.m3u8" -vcodec copy -acodec libmp3lame -ac 2 -ar 44100 -b:a 96k -f flv "你的rtmp地址/直播码"

17、转录网络直播流
把直播视频保存到本地,相比直接录屏占用资源更小

ffmpeg -i "https://player-live.meizu.cn/launch/live.m3u8" -vcodec copy -acodec copy -f mp4 "f:\record.mp4"

"f:\record.mp4"就是保存到本地的视频地址,当然转播和录制是可以同时进行的,比如

ffmpeg -i "https://player-live.meizu.cn/launch/live.m3u8" -vcodec copy -acodec libmp3lame -ac 2 -ar 44100 -b:a 96k -f flv "你的rtmp地址/直播码" -vcodec copy -acodec copy -f mp4 "f:\record.mp4"
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值