【FFmpeg 系列】常用命令(二)

本文详细介绍了FFmpeg的各类命令,包括基本信息查询、录制、分解/复用、处理原始数据、滤镜、裁剪与合并、图片/视频互转,以及直播相关操作。通过实例演示和流程图,帮助读者掌握FFmpeg在音视频领域的强大应用。
摘要由CSDN通过智能技术生成
1、FFmpeg 命令分类
分类分类
(1)基本信息查询命令(5)各种滤镜命令
(2)录制命令(6)裁剪与合并命令
(3)分解/复用命令(7)图片/视频互转命令
(4)处理原始数据命令(8)直播相关命令
2、FFmpeg 相关的各种流程图
  • FFmpeg 之处理音视频流程图
    FFmpeg 之处理音视频流程图.jpg

  • FFmpeg 之分解与复用流程图
    FFmpeg 之分解与复用流程图.jpg

  • [FFmpeg 之滤镜处理流程图
    FFmpeg 之滤镜处理流程图.jpg

3、FFmpeg 基本信息查询命令
命令含义命令含义
-version显示版本-formats显示可用的格式
-demuxers显示可用的 demuxers-protocols显示可用的协议
-muxer显示可用的 muxers-filters显示可用的过滤器
-devices显示可用的设备-pix_fmts显示可用的像素格式
-codecs显示所有编解码器-sample_fmts显示可用的采样格式
-decoders显示可用的解码器-layouts显示 channel 名称
-encoders显示所有的编码器-colors显示识别的颜色名称
-bsfs显示比特流 filter
4、FFmpeg 录制命令
  • 录制桌面
示例:ffmpeg -f avfoundation -i 1 -r 30 out.yuv

-f:指定使用 avfoundation 采集数据
-i:指定从哪里采集数据,它是一个文件的索引号
-r:指定帧率
control+c:停止录制

获取采集设备的文件索引号: ffmpeg -f avfoundation -list_devices true -i ""
播放视频:ffplay -s 3840x2160 -pix_fmt uyvy422 out.yuv
-s:指定录制时的视频大小
-pix_fmt:指定录制时的像素格式
  • 录制音频
示例:ffmpeg -f avfoundation -i :0 out.wav
:0:代表音频设备

播放音频:ffplay out.wav
5、FFmpeg 分解与复用命令
  • 多媒体格式转换
示例:ffmpeg -i out.mp4 -acodec copy -vcodec copy out.flv

-i:输入文件
-acodec copy:音频编码处理方式
-vcodec copy:视频编码处理方式

直接抽取音频:ffmpeg -i out.mp4 -acodec copy -vn out.aac
直接抽取视频:ffmpeg -i out.mp4 -an -vcodec copy out.h264
6、FFmpeg 处理原始数据命令
  • 原始数据就是 ffmpeg 解码后的数据,通俗理解,对于音频就是 .pcm 数据,对于视频就是 .yuv 数据。
  • FFmpeg 提取 YUV 数据:
示例:ffmpeg -i input.mp4 -an -c:v rawvideo -pix_fmt yuv420p out.yuv

-an:所要输出的结果不包含音频
-c:v:指定视频编码格式
rawvideo:标识使用原始视频进行编码
-pix_fmt:指定录制时的像素格式
yuv格式有:yuv4:4:4、yuv4:2:2、yuv4:2:0

播放:ffplay -s 544x960 out.yuv
  • FFmpeg 提取 PCM 数据:
示例:ffmpeg -i input.mp4 -vn -ar 44100 -ac 2 -f s16le out.pcm

-vn: 所要输出的结果不包含视频
-ar:设置音频采样率
-ac:代表声道数,2标识双声道
-f:设置音频 pcm 数据的存储格式是什么

播放:ffplay -ar 44100 -ac 2 -f s16le  out.pcm
7、FFmpeg 滤镜命令
  • 视频裁剪滤镜
示例:ffmpeg -i input.mp4 -vf crop=in_w-200:in_h-200 -c:v libx264 -c:a copy out.mp4

-vf:设置视频滤镜
-c:v:指定视频编码格式
-c:a:指定音频编码格式
8、FFmpeg 裁剪与合并命令
  • 音视频裁剪
示例:ffmpeg i input.mp4 -ss 00:00:00 -t 10 out.ts

-ss:标识视频从什么时间戳开始裁剪,时:分:秒
-t:标识裁剪多少秒,以秒为单位
  • 音视频合并
示例:ffmpeg -f concat -i inputs.txt out.mp4

-f concat:标识对后面的文件进行拼接合并
inputs.txt:内容为 'file filename' 格式
9、FFmpeg 图片/视频互转命令
  • 视频转图片
示例:ffmpeg -i input.mp4 -r 1 -f image2 image-%3d.jpeg

-r:指定转换图片的帧率
-f:指定转换的格式
image-%3d.jpeg:动态输出图片文件名

打开图片:open image-001.jpeg
  • 图片转视频
示例:ffmpeg -i image-%3d.jpeg out.mp4
10、FFmpeg 直播相关命令
  • 直播推流
示例:ffmpeg -re -i input.mp4 -c copy -f flv rtmp://server/live/streamName

-re:减慢帧率速度,保持跟真正的帧率同步
-c:指定音视频模式
-f:指定推出的流的格式
  • 直播拉流
示例:ffmpeg -i rtmp://server/live/streamName -c copy dump.flv
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值