目录

1--FFplay简单过滤器

2--FFmpeg命令参数

2-1 主要参数

2-1-1 -i设定输入流

2-1-2 -f设定输出格式

2-1-3 -ss设定开始时间

2-1-4 -t设定时间长度

2-1-5 代码实例

2-2 音频参数

2-2-1 -aframes设置输出的音频帧数

2-2-2 -b:a设置音频码率

2-2-3 -ar设置音频采样率

2-2-4 -ac设定声音的通道数

2-2-5 -acodec设定声音编解码器

2-2-6 -an表示不处理音频

2-2-7 -af设置音频过滤器

2-2-8 代码实例

2-3 视频参数

2-3-1 -vframes设置输出的视频帧数

2-3-2 -b设定视频码率

2-3-3 -b:v设定视频码率

2-3-4 -r设定帧速率

2-3-5 -s设定画面的宽与高

2-3-6 -vn表示不处理视频

2-3-7 -aspect aspect设置横纵比

2-3-8 -vcodec设定视频编解码器

2-3-9 -vf设定视频过滤器

2-3-10 代码实例


1--FFplay简单过滤器

① 视频旋转

ffplay -i test.mp4 -vf transpose=1

# 通过transpose控制旋转的角度,1表示顺时针旋转90°

② 视频反转

# 左右反转
ffplay test.mp4 -vf hfilp
# 上下反转
ffplay test.mp4 -vf vfilp

③ 视频旋转和反转

ffplay test.mp4 -vf hflip,transpose=1

④ 变速播放

# 音频变速播放
ffplay -i test.mp4 -af atempo=2

# 视频变速播放
ffplay -i test.mp4 -vf setpts=PTS/2

# 音视频同时变速
ffplay -i test.mp4 -vf setpts=PTS/2 -af atempo=2

2--FFmpeg命令参数

2-1 主要参数

2-1-1 -i设定输入流

        通过 -i 参数设置输入视频流,如:-i test.mp4;

2-1-2 -f设定输出格式

        通过 -f 设定输出格式,但一般情况下不使用,而是直接通过输出文件名来指定输出格式,-f flv 表示设定输出格式为flv;

2-1-3 -ss设定开始时间

通过 -ss 可以设定输出视频流的开始时间,结合 -t 参数可用于剪切视频;

2-1-4 -t设定时间长度

        通过-t 设定输出视频流的时间长度;

2-1-5 代码实例

        输入视频流为test1.mp4,设置开始时间为10s,持续时间为100s,输出视频流为out1.mp4,输出格式为mp4        

ffmpeg -i test1.mp4 -ss 10 -t 100 out1.mp4

通过 ffprobe out1.mp4 可以查看输出视频文件的详细信息,如下图 Duration 参数显示了输出文件的持续时间约为 100s,与上面的处理代码符合;

ffplay嵌入Python窗口 ffplay -i_代码实例

2-2 音频参数

2-2-1 -aframes设置输出的音频帧数

2-2-2 -b:a设置音频码率

2-2-3 -ar设置音频采样率

2-2-4 -ac设定声音的通道数

2-2-5 -acodec设定声音编解码器

2-2-6 -an表示不处理音频

2-2-7 -af设置音频过滤器

2-2-8 代码实例

ffmpeg -i test.mp4 -b:a 192k -ar 48000 -ac 2 -acodec libmp3lame -aframes 200 out2.mp3

通过上面的代码可以把视频的部分音频流提取出来,查看音频编解码器可通过以下代码实现(Windows 对应的是 findstr mp3):

ffmpeg -encoders | grep mp3

# 表示查看mp3字样的编码器

ffplay嵌入Python窗口 ffplay -i_ffplay嵌入Python窗口_02

2-3 视频参数

2-3-1 -vframes设置输出的视频帧数

2-3-2 -b设定视频码率

2-3-3 -b:v设定视频码率

2-3-4 -r设定帧速率

2-3-5 -s设定画面的宽与高

2-3-6 -vn表示不处理视频

2-3-7 -aspect aspect设置横纵比

2-3-8 -vcodec设定视频编解码器

2-3-9 -vf设定视频过滤器

2-3-10 代码实例

ffmpeg -i test1.mp4 -vframes 300 -b:v 300k -r 30 -s 640x480 -aspect 16:9 -vcodec copy out2.mp4

        -vcodec copy表示使用原来的编解码数据;