目录
[1、-i 输入流的使用](#1、-i 输入流的使用)
[2、-i 配合 输出流-f使用](#2、-i 配合 输出流-f使用)
一:回顾一下主要参数
bash
-i 设定输入流。 支持本地和网络流
-f 设定输出格式(format)。 当未指定输出格式的情况,是以文件名的后缀为准
-ss 开始时间
-t 时间长度
二:使用主要参数操作视频
我这里准备了测试用的视频,先进入到测试视频的目录
cd F:\code\VC\study\FFmpeg\示例视频
1、-i 输入流的使用
bash
#输入
ffmpeg -i test.mp4
命令执行后,会在控制台显示信息,其中红字的部分标识该命令不能打开一个输出流。
ffmpeg 最基本的命令,至少要包含一个输出文件。
2、-i 配合 输出流-f使用
参数说明中,说明了 " 当未指定输出格式的情况,是以文件名的后缀为准 " 所以我们先测试不指定-f的情况
bash
ffmpeg -i test.mp4 test.mkv
如果出现了如下画面,就说明开始转换了。
生成mkv文件之后。打开可以正常播放。接下来我们分别看一下mp4和mkv的视频格式
bash
ffprobe test.mkv
ffprobe test.mp4
mkv的信息
mp4的信息
通过格式转换之后, mp4和mkv的视频格式都有变化。
当然,并不是所有的音频直接可以转换的,比如test.mp4 就不能直接转换为flv
bash
ffmpeg -i test.mp4 test.flv
报错如下, 大概的意思是采样率不支持2400 , 请选择44100 / 22050 / 11025 , 我们修改参数重新执行
输入:
bash
ffmpeg -i test.mp4 -ar 11025 test.flv
ffmpeg -i test.mp4 -ar 44100 test_44100.flv
开始正常转换,等待转换结束 。 可以看到转换结束后,不同采样率的文件大小不一样
以上都是按照后缀名做的转换,在转换过程中,可以使用-f强制指定格式,-f参数支持的格式可以通过 ffmpeg -formats查看
三、使用-ss开始时间进行转换
我们从test.mp4文件的1分钟位置开始进行转换
bash
ffmpeg -i test.mp4 -ss 00:01:00 test_000100.mkv
观察文件大小,比test.mkv小了很多。打开查看,确实是从1分钟开始转换的
四、使用-t参数,设置转换的时长
bash
ffmpeg -i test.mp4 -ss 00:01:00 -t 30 test_000100_30s.mkv
执行上面命令,将转换一个从1分钟开始的30秒的视频。