ffmpeg常见命令
1.基本信息查询命令
-version
显示版本-demuxers
显示可用的demuxers-muxers
显示可用的muxers-devices
显示可用设备-codecs
显示所有编解码器-decoders
显示所有的解码器-encoders
显示所有的编码器-bsfs
显示比特流filter-formats
显示可用的格式-protocols
显示可用的协议-filters
显示可用的过滤器-pix_fmts
显示可用的像素格式-sample_fmts
显示可用的采样格式-layouts
显示channel名称-colors
显示识别的颜色名称
2.录制命令
windows 录制视频桌面(无声)
bash
ffmpeg -f gdigrab -i desktop -pix_fmt yuv420p out.mp4
3.分解/复用命令
多媒体视频转换
- 将out.mp4转化为out.flv
bash
ffmpeg -i out.mp4 -vcodec copy -acodec copy out.flv
- 分离视频
ffmpeg -i .\out.mp4 -an -vcodec copy out.h264
分离声音
ffmpeg -i .\out.mp4 -acodec copy -vn out.mp3
4.处理原始数据命令
提取YUV数据
bash
ffmpeg -i .\out.mp4 -an -c:v rawvideo -pix_fmt yuv420p out.yuv
ffmpeg [输入文件]-i .\out.mp4 [不要声音]-an [原始格式]-c:v rawvideo [像素格式]-pix_fmt yuv420p [输出文件]out.yuv
提取PCM数据
bash
ffmpeg -i out.mp4 -vn -ar 44100 -ac 2 -f s16le out.pcm
ffmpeg [输入文件]-i out.mp4 [去视频]-vn [声音采样率]-ar 44100 [声道]-ac 2 [格式]-f s16le [输出文件]out.pcm
5.裁剪与合并命令
视频裁剪
bash
ffmpeg -i input.mp4 -ss 00:00:00 -t 1 out.ts
ffmpeg [输入文件]-i input.mp4 [开始时间]-ss 00:00:00 [持续时间]-t 1 [输出文件]out.ts
视频合并
bash
ffmpeg.exe -f concat -i inputs.txt concat.flv
inputs.txt file filename
text
file 1.mp4
file 2.mp4
6.图片/视频转换命令
视频转图片
bash
ffmpeg -i .\tmp.mp4 -r 1 -f image2 image-%3d.jpeg
ffmpeg [输入视频]-i .\tmp.mp4 [帧率]-r 1 [格式]-f image2 [输出文件]image-%3d.jpeg
图片转视频
bash
ffmpeg -i image-%3d.jpeg out.mp4
7.直播相关命令
直播推流
bash
ffmpeg.exe -re -i .\out.flv -c copy -f flv rtmp://server/live/streamName
直播拉流
bash
ffmpeg -i rtmp://server/live/streamName -c copy dump.flv
8.各种滤镜命令
滤镜入门
裁剪视频
bash
ffmpeg -i .\out.mp4 -vf crop=in_w-400:in_h-200 -c:v libx264 -c:a copy out.mp4