欢迎光临
我们一直在努力

FFmpeg命令记录

基本信息查询命令

-version 显示版本
-demuxers 显示可用的demuxers (解封装格式)
-muxers 显示可用的muxers (封装格式)
-devices 显示可用的设备 (处理的输入设备,如音频设备,视频设备)
-codecs 显示所有编解码器
-decoders 显示可用的解码器
-encoders 显示所有的编码器
-bsfs 显示比特流filter
-formats 显示可用的格式
-protocols 显示可用的协议 (支持输入的网络文件格式)
-filters 显示可用的过滤器 (各种滤镜)
-pix_fmts 显示可用的像素格式
-sample_fmts 显示可用的采样格式
-layouts 显示 channel 名称 (如单声道,双声道,立体声)
-colors 显示识别的颜色名称
<span class="copy-code-btn">复制代码</span>

录制命令

ffmpeg -f avfoundation -i1-r30 out.yuv
-f:指定使用 avfoundation 采集数据
-i:指定从哪开始采集数据,它是一个文件索引号 (1:是屏幕,0:是摄像头)
-r:指定帧率
最后 out.yuv 就是输出文件

ffplay out.yuv
播放之前录制的视频

录制音频
ffmpeg -f avfoundation -i :0 out.wav
:0 表示音频设备
:1 麦克风
<span class="copy-code-btn">复制代码</span>

分解和复用命令

文件格式的转换
ffmpeg -i out.mp4 -vcodec copy -acodec copy out.flv
-i:输入文件
-vcodec copy: 视频的编码处理方式
-acodec copy: 音频的编码方式
以上的命令就是将一个 mp4文件转成 flv 格式,不改变他的音视频编码方式

抽取出视频部分,不要音频
ffmpeg -i out.mp4 -an -vcodec copy out.h264
-an: a表示音频 ,n 意思为 no

抽取出音频部分,不要视频
ffmpeg -i out.mp4 -acodec copy -vn out.aac
-vn:与 an 同理
<span class="copy-code-btn">复制代码</span>

处理原始数据命令

提取yuv数据
ffmpeg -i input.mp4 -an -c:v rawvideo -pix_fmts yuv420p out.wav
-c:v :表示对视频进行编码,编码格式为 rawvideo
-pix_fmt : 像素格式

提取pcm数据
ffmpeg -i input.mp4 -vn -ar 44100 -ac 2 -f s16le out.pcm
-ar 44100 :采样率
-ac 2 : 双声道
-f s16le :提取出的pcm存储方式
<span class="copy-code-btn">复制代码</span>

滤镜命令

ffmpeg -i in.mov -vf crop=in_w-200:in_h-200 -c:v libx264 -c:a copy out.mp4
-vf : 表示视频滤镜
crop=in_w-200:in_h-200 : 裁剪,in_w-200 ,表示视频本身的宽度减去200, in_h-200,表示视频的本身高度减去200
-c:v :视频编码器
-c:a :音频编码器
<span class="copy-code-btn">复制代码</span>

裁剪合并命令

裁剪
ffmpeg -i in.mp4 -ss 00:00:00 -t 10 out.ts
-ss:从什么时间点开始裁剪
-t :要裁剪多长时间 单位是秒

合并
ffmpeg -f concat -i inputs.txt out.flv
-f concat:合并滤镜
-i input.txt: 这个txt里面记录了要合并的所有文件信息
格式为 "file filename" ,file固定,filename 是文件名称
<span class="copy-code-btn">复制代码</span>

图片与视频互转命令

视频传图片
ffmpeg -i in.flv -r 1 -f image2 image-%3d.jpeg
-r 1 : -r 指定转换图片的帧率,1 表示每秒钟转出1张图片
-f image2:转成image2格式

图片转视频
ffmpeg -i image-%3d.jpeg out.mp4
<span class="copy-code-btn">复制代码</span>

直播流命令

推流
ffmpeg -re -i out.mp4 -c copy -f flv rtmp://server/live/streamName
-re :让帧率保持同步
-c :表示音视频
-f :推出去的文件格式
rtmp:服务器地址

拉流
ffmpeg -i rtmp://server/live/streamName -c copy dump.flv
未经允许不得转载:798VPS » FFmpeg命令记录

相关推荐

  • 暂无文章