第17章-转码
转码
对输入文件进行处理,并生成输出文件的过程,称为转码。
转码可以是这样:
- 格式转换
- 只修改某些数据,同时保持文件格式不变
转码过程可以被分成以下部分:
- 解复用:使用
libavformat
中的解复用器,对输入文件进行处理,生成已编码的数据包 - 解码:使用解码器,将已编码的数据包进行解码,生成未压缩的帧
- 滤镜(可选):使用滤镜对解码后的帧进行处理
- 编码:使用编码器,将未压缩的帧,编码为数据包
- 复用:使用复用器,将数据包封装为所选择的媒体格式
解复用器,会基于输入文件的扩展名进行自动选择
如果没有指定所使用的编码器、复用器,则会基于输出文件的扩展名进行自动选择
编解码器(codec
)这个名字,源自编码器(取coder
中的co
)和解码器(取decoder
中的dec
)。
在命令行中指定编解码器,需要使用-c
或-codec
选项,其语法如下:
-c 编解码器名称
或-codec 编解码器名称
转码时,如果要保持编解码器不变,可以使用-c copy
、-codec copy
。
如果要保持音频编解码器不变,可以使用-c:a copy
、-codec:a copy
。
如果要保持视频编解码器不变,可以使用-c:v copy
、-codec:v copy
。
ffmpeg -i input.mp4 -c copy output.flv
第17章-转码
https://daniate.github.io/2021/11/21/ffmpeg-cli/第17章-转码/