FFmpeg命令分类

https://www.imooc.com/video/16795 


1 基本信息查询命令

ffmpeg -version
ffmpeg -devices
ffmpeg -formats | grep mp3

2 录制命令

https://www.jianshu.com/p/fff726967ae3

FFmpeg录屏命令

2.1 安装screen capture recorder

https://sourceforge.net/projects/screencapturer/files/

2.2 查看是否安装成功

ffmpeg -list_devices true -f dshow -i dummy 

DirectShow video devices (some may be both video and audio devices)
“screen-capture-recorder”    //视频设备
DirectShow audio devices
“virtual-audio-capturer”  //音频设备

2.3 录制

https://blog.csdn.net/shaosunrise/article/details/81068080

2.3.1 只录制音频

https://y.qq.com/n/yqq/singer/001fNHEf1SFEFN.html

ffmpeg -f dshow -i audio="virtual-audio-capturer" -acodec libmp3lame out.mp3

# 播放音频
ffplay out.mp3

2.3.2 只录制视频

ffmpeg -f dshow -i video="screen-capture-recorder" -r 5 -vcodec libx264 -preset:v ultrafast -tune:v zerolatency MyDesktop.mp4

2.3.3 录制音频和视频

ffmpeg -f dshow -i video="screen-capture-recorder" -f dshow -i audio="virtual-audio-capturer" -pix_fmt yuv420p -vcodec libx264 -acodec libvo_aacenc -s 1280x720 -r 25 -q 10 -ar 44100 -ac 2 -tune zerolatency -preset ultrafast -f mpegts - | ffmpeg -f mpegts -i - -c copy -bsf:a aac_adtstoasc -f flv temp.flv

3 分解/复用命令

 

 多媒体格式转换

# in.mp4转换成out.avi格式
ffmpeg -i in.mp4 -vcodec copy -acodec copy out.avi
# 播放视频
ffplay out.avi
# 抽取视频
ffmpeg -i in.mp4 -an -vcodec copy out.h264
# 播放视频
ffplay out.h264
# 抽取音频
ffmpeg -i in.mp4 -acodec copy -vn out.aac
# 播放音频
ffplay out.aac

4 处理原始数据命令

FFmpeg提取YUV数据

# 抽取yuv数据(原始数据)
ffmpeg -i in.mp4 -an -c:v rawvideo -pix_fmt yuv420p out.yuv
# 播放(执行上面的命令会得到宽高)
ffplay -s 1280x720 out.yuv

 FFmpeg提取PCM数据

# 提取PCM数据
ffmpeg -i in.mp4 -vn -ar 44100 -ac 2 -f s16le out.pcm
# 播放(指定采样率/声道等基本信息)
ffplay -ar 44100 -ac 2 -f s16le out.pcm

5 裁剪与合并命令

FFmpeg音视频裁剪

# 裁剪视频 00:00:30后开始裁剪10s
ffmpeg -i in.mp4 -ss 00:00:30 -t 10 1.ts
# 播放
ffplay 1.ts

FFmpeg音视频合并

# 同一个视频 切片
ffmpeg -i in.mp4 -ss 00:00:10 -t 10 1.ts
ffmpeg -i in.mp4 -ss 00:00:30 -t 10 2.ts

 input.txt 

file 1.ts
file 2.ts
# 合并input.txt里面所列举的视频文件(视频大小格式需要一样 多个mp4文件合并是有问题的)
ffmpeg -f concat -i input.txt out.mp4
# 播放
ffplay out.mp4

6 图片/视频互转命令

FFmpeg视频转图片

ffmpeg -i in.mp4 -ss 00:00:10 -t 10 1.ts
# -r 指定转换图片的帧率是多少(1 每秒钟转出一张图片)
ffmpeg -i 1.ts -r 1 -f image2 image-%3d.jpeg

 FFmpeg图片转视频

# 把前面生成的图片合成视频
ffmpeg -i image-%3d.jpeg out.mp4
# 播放
ffplay out.mp4

7 直播相关命令

https://blog.csdn.net/github_30662571/article/details/72466091 

//----------------RTSP协议直播源----------------//
大熊兔(点播):rtsp://184.72.239.149/vod/mp4://BigBuckBunny_175k.mov
//----------------RTMP协议直播源----------------//
大熊兔(点播): rtmp://184.72.239.149/vod/mp4://BigBuckBunny_175k.mov
湖南卫视:     rtmp://58.200.131.2:1935/livetv/hunantv
广西卫视:     rtmp://58.200.131.2:1935/livetv/gxtv
广东卫视:     rtmp://58.200.131.2:1935/livetv/gdtv
东方卫视:     rtmp://58.200.131.2:1935/livetv/dftv 
# 湖南卫视
ffplay rtmp://58.200.131.2:1935/livetv/hunantv

直播推流

 直播拉流

# q退出
ffmpeg -i rtmp://58.200.131.2:1935/livetv/hunantv -c copy dump.flv
# 播放
ffplay dump.flv

ffmpeg -i http://ivi.bupt.edu.cn/hls/cctv1hd.m3u8 -c copy dump.m3u8
# 播放一个片段
ffplay dump3.ts
# 播放全部
ffplay dump.m3u8

8 各种滤镜命令

 FFmpeg滤镜命令

8.1 裁剪视频

# 裁剪视频 宽度减少400 高度减少200 (默认中心点)
# crop 格式: crop=out_w:out_h:x:y
ffmpeg -i in.mp4 -vf crop=in_w-400:in_h-200 -c:v libx264 -c:a copy out.mp4
# 播放
ffplay out.mp4

8.2 添加水印

https://blog.csdn.net/m0_37684310/article/details/78257779

8.2.1 视频添加图片水印

https://img-blog.csdnimg.cn/20191124144137624.gif

水印在左上角

# 左上角添加(overlay指定x,y坐标的位置)
ffmpeg -i in.mp4 -i in.jpg -filter_complex "overlay=5:5" out.mp4
ffmpeg -i in.mp4 -i in.jpg -filter_complex "overlay=10:10" -codec:a copy out.mp4
# 播放
ffplay out.mp4

 水印在右上角

ffmpeg -i in.mp4 -i in.jpg -filter_complex "overlay=main_w-overlay_w-10:10"  -codec:a copy out.mp4

水印在左下角

ffmpeg -i in.mp4 -i in.jpg -filter_complex "overlay=10:main_h-overlay_h-10" -codec:a copy out.mp4

 水印在右下角

ffmpeg -i in.mp4 -i in.jpg -filter_complex "overlay=main_w-overlay_w-10:main_h-overlay_h-10" -codec:a copy out.mp4

 水印在中间

ffmpeg -i in.mp4 -i in.jpg -filter_complex "overlay=main_w/2-overlay_w/2:main_h/2-overlay_h/2" -codec:a copy out.mp4

8.2.2 视频添加文字水印

ffmpeg -i in.mp4 -vf "drawtext=fontfile=STKAITI.TTF:text='你好骚呀':x=100:y=10:fontsize=24:fontcolor=red:shadowy=0" out.mp4
  • ttf 字体C:\Windows\Fonts\
  • x:y 显示位置
  • fontsize 文字大小
  • fontcolor 文字颜色

  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值