FFmpeg 常用命令
ffmpeg command
基本信息查询
录制
- 查看支持的采集设备编号列表
1 | ffmpeg -f avfoundation -list_devices true -i "" |
- 视频录制
1 | # -f : 指定使用 AVfoundation 采集数据 |
- 视频播放
1 | # -s : size,视频分辨率 |
- 音频录制
1 | # -i : 指定采集设备,冒号前面是视频采集设置,冒号后面是音频采集设备 |
- 音频播放
1 | ffplay out.wav |
分解与复用
- 转换 复用
1 | ## 直接转格式 demuxer + muxer |
- 分解
1 | ## 抽取视频 |
处理原始数据
- 抽取视频原始数据 yuv
1 | # -c:v rawvideo : 视频编码。rawvideo 原始视频 |
- 抽取音频原始数据 pcm
1 | # -ar : 音频采样率 44.1k |
剪裁与合并
- 裁剪
1 | # -ss : 视频裁剪起始点 |
- 合并
1 | # inputs.txt : 想要合并的文件的文件名列表,内容格式为 file 'filename.xxx' |
图片与视频互转
- 图片转视频
1 | ffmpeg -i image-%3d.jpeg out.mp4 |
- 视频转图片
1 | # -r : 指定转换图片帧率。 1 每秒转出1张 |
直播相关
- 推流
1 | # -re : Read input at native frame rate. Mainly used to simulate a grab device, or live input stream (e.g. when reading from a file). Should not be used with actual grab devices or live input streams (where it can cause packet loss). By default ffmpeg attempts to read the input(s) as fast as possible. This option will slow down the reading of the input(s) to the native frame rate of the input(s). It is useful for real-time output (e.g. live streaming). |
- 拉流
1 | ffmpeg -i rtmp://server/live/streamName -c copy dump.flv |
滤镜
- 视频裁剪
1 | # -vf : vf,使用视频滤镜;crop 滤镜名;crop=in_w-200:in_h-200,滤镜参数,长宽减200;默认原点是中心 |
- 添加水印
1 |
FFmpeg 常用命令