第17章-转码

转码

对输入文件进行处理,并生成输出文件的过程,称为转码

转码可以是这样:

  • 格式转换
  • 只修改某些数据,同时保持文件格式不变

转码过程可以被分成以下部分:

  1. 解复用:使用libavformat中的解复用器,对输入文件进行处理,生成已编码的数据包
  2. 解码:使用解码器,将已编码的数据包进行解码,生成未压缩的帧
  3. 滤镜(可选):使用滤镜对解码后的帧进行处理
  4. 编码:使用编码器,将未压缩的帧,编码为数据包
  5. 复用:使用复用器,将数据包封装为所选择的媒体格式

解复用器,会基于输入文件的扩展名进行自动选择
如果没有指定所使用的编码器、复用器,则会基于输出文件的扩展名进行自动选择

编解码器(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章-转码/
作者
Daniate
发布于
2021年11月21日
许可协议