美文网首页
FFmpeg命令分类 (初级)

FFmpeg命令分类 (初级)

作者: pengxiaochao | 来源:发表于2020-09-14 11:06 被阅读0次
image.png

1.基本信息查询命令

ffmpeg -version //显示版本

ffmpeg -demuxers //显示可用的demuxers

ffmpeg --muxers //显示可用的muxers

ffmpeg --devices //显示可用的设备

ffmpeg --codecs //显示可用的编解码器

ffmpeg --decoders //显示可用的解码器

ffmpeg -encoders //显示可用的编码器

ffmpeg -bsfs //显示比特流filter

ffmpeg -formates //显示可用的格式

ffmpeg -protocols //显示可用的协议

ffmpeg -filters //显示可用的过滤器

ffmpeg -pix_fmts //显示可用的像素格式

ffmpeg -sample_fmts //显示可用的采样格式

ffmpeg -layouts //显示channnel名称

ffmpeg --colors //显示识别的颜色名称

2.录制命令

2.1 查看当前mac 设备支持avfoundataion音视频输入源

ffmpeg -f avfoundation -list_devices true -i ""

2.2 录当前屏幕的视频

ffmpeg -f avfoundation -i 1 -r 30 out.yuv

-f:指定使用avfoundation采集数据

-i:制定从哪采集,它是一个文件索引号

-r: 指定帧率

2.3 ffplay播放 yuv数据

ffplay out.yuv //此命令播放会失败

ffplay -s 1920x1080 -pix_fmt uyvy422 out.yuv //指定画面像素 和图像编码格式

-s: 查看采集的流的视频画面宽高

-pix_fmt:查看采集的流的图像的编码格式

2.4 用ffmpeg 在mac 下录制声音

ffmpeg -f avfoundation -i :0 out.wav

:0 代表音频设备

2.5 用ffplay 播放 录音文件

ffplay out.wav

3.分解/复用命令

3.1 将mp4 的封装格式更改为flv(可转其它格式)

ffmpeg -i input.mp4 -vcodec copy -acodec copy out.flv

-i :输入文件

-vcodec copy :视频编码处理方式

-acodec copy :音频编码处理方式

3.2 抽取输入文件mp4封装格式的视频流

ffmpeg -i input.mp4 -an -vcodec copy out.h264

-an : audio not 音频不要的意思

3.3 抽取输入文件mp4封装格式的音频流

ffmpeg -i input.mp4 -vn -acodec copy out.aac

-vn: video not 不要视频

4.处理原始数据命令

4.1 ffmpeg 提取YUV 数据

ffmpeg -i input.mp4 - an -c:v rawvideo -pix_fmt yuv420p out.yuv

-an 输出文件不开启音频

-c:v 使用编码格式, rawvideo 表示原始视频格式

-pix_fmt 像素格式编码格式yuv420p

4.2 ffmpeg 提取PCM 数据

ffmpeg -i input.mp4 -vn -ar 44100 -ac 2 -f s16le out.pcm

-vn 输出文件不开启视频

-ar 设置音频的采样率

-ac 2 a代表audio、c代表channel 、2 代表双声道

-f 数据存储格式

4.3 ffplay 播放 pcm

ffplay -ar 44100 -ac 2 -f s16le out.pcm

5.裁剪与合并命令

5.1 裁剪一个视频大小

ffmpeg -i input.mp4 -vf crop= in_w-200:in_h-200 -c:v libx264 -c:a copy out.mp4


-vf v代表视频 、f代表滤镜

in_w 本身的视频宽 (in_w-200 本身视频的宽度减去200)

-c:v 编码器 视频的 用libx264

-c:a 编码器 音频的用copy (不对音频做特殊处理)

5.2 裁剪一个视频中的某个片段

ffmpeg -i input.mp4 -ss 0:0:0 -t 10 out.ts

-i 指定输入源

-ss 指定开始时间 (00:00:00 时/分/秒)

-t 指定截取时间(以秒为单位)

5.3 合并多个视频片段

ffmpeg -f concat -i input.txt out.flv

input.txt 内容为"file filename"格式

例如:

file '1.ts'

file '2.ts'

6.图片/视频互转命令

6.1 视频转图片

ffmpeg -i input.mp4 -r 1 -f image2 image-%3d.jepg

-r 指定转换图片的帧率(1秒钟转出1张图)

-f 输出文件转成image2 格式

6.2 图片转视频

ffmpeg -i image-%3d.jpeg newout.mp4

7.直播相关命令

7.1 直播推流

ffmpeg -re -i input.mp4 -c copy -f flv rtmp://server/live/streamName

-i 需要推出去的多媒体文件

-c copy 音频与视频的参数不变

-f flv 推出的文件格式 flv 格式

7.2 直播拉流

ffmpeg -i rtmp://server/live/streamName -c copy output.flv

8.各种命令集合

image2.png

相关文章

网友评论

      本文标题:FFmpeg命令分类 (初级)

      本文链接:https://www.haomeiwen.com/subject/qnoaektx.html