问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

FFmpeg命令行参数详解:音视频封装格式转换与参数设置

创作时间:
作者:
@小白创作中心

FFmpeg命令行参数详解:音视频封装格式转换与参数设置

引用
CSDN
1.
https://blog.csdn.net/shulianghan/article/details/137217723

FFmpeg是一个强大的开源多媒体处理工具,广泛应用于音视频的编码、解码、转换等场景。本文将详细介绍如何使用FFmpeg进行音视频封装格式转换,并对视频帧率、码率、分辨率以及音频码率、采样率等关键参数进行设置。

一、音视频封装过程

音视频文件从采样到最终封装的过程可以分为以下几个步骤:

  1. 采样
  2. 处理
  3. 得到原始数据帧队列
  4. 音视频编码
  5. 音视频包队列
  6. 格式封装

封装格式的详细分析可以参考相关博客。

二、保持编码格式转封装

1. 设置音视频编解码器参数

在FFmpeg命令中,可以使用以下参数设置音视频编解码器:

  • 使用-vcodec参数设置视频编解码器
  • 使用-acodec参数设置音频编解码器
  • 使用-codec参数同时设置音视频编解码器

如果为-codec-vcodec-acodec参数设置copy参数值,FFmpeg会保持原始数据流的编码格式不变,直接将数据流复制到新的容器中。

2. 使用vcodec/acodec参数

执行以下命令,将输入文件保持音频和视频的封装格式不变,输出到TS封装容器中:

ffmpeg -i input.mp4 -vcodec copy -acodec copy output.ts

TS(Transport Stream)是一种传输流封装格式,主要用于数字广播系统。

执行以下命令播放输出文件:

ffplay output.ts

3. 使用codec参数

执行以下命令,也可以将MP4封装格式转换为TS封装格式:

ffmpeg -i input.mp4 -codec copy output.ts

执行以下命令播放输出文件:

ffplay output.ts

三、改变编码格式转封装 - 重新进行编码

1. 使用vcodec/acodec参数

执行以下命令,将视频使用libx265编解码器重新编码,将音频使用libmp3lame编解码器重新编码:

ffmpeg -i input.mp4 -vcodec libx265 -acodec libmp3lame output.mkv

由于重新进行了编码,该命令执行时间可能较长。

2. 使用ffprobe查看视频封装信息

执行以下命令查看输出文件的封装信息:

ffprobe output.mkv

3. 查询可用的音视频编解码器

执行以下命令查询FFmpeg支持的编解码器:

ffmpeg -codecs

每个编解码器前面都有类型标识,具体含义如下:

  • D:支持解码
  • E:支持编码
  • V:视频编解码器
  • A:音频编解码器
  • S:字幕编解码器
  • I:内部帧编码器
  • L:有损压缩
  • S:无损压缩

四、改变封装格式的视频参数

1. 修改视频帧率

执行以下命令将视频帧率修改为15fps:

ffmpeg -i input.mp4 -r 15 output.mp4

注意:改变帧率需要重新编码,不能使用-codec copy参数。

执行以下命令查看输出文件的详细信息:

ffprobe output.mp4

2. 修改视频码率

执行以下命令将视频码率修改为400kbps:

ffmpeg -i input.mp4 -b 400k output.mp4

也可以使用-b:v 400k参数设置码率。

执行以下命令查看输出文件的详细信息:

ffprobe output.mp4

3. 修改视频分辨率

执行以下命令将视频分辨率修改为200x200像素:

ffmpeg -i input.mp4 -s 200x200 output.mp4

执行以下命令查看输出文件的详细信息:

ffprobe output.mp4

五、改变封装格式的音频参数

1. 修改音频码率

执行以下命令将音频码率修改为192kbps:

ffmpeg -i input.mp4 -b:a 192k output.mp4

其中:

  • -b:a 192k参数设置音频数据流码率为192kbps
  • -b:v 192k参数设置视频数据流码率为192kbps

执行以下命令查看输出文件的详细信息:

ffprobe output.mp4

2. 修改音频采样率

执行以下命令将音频采样率修改为44100Hz:

ffmpeg -i input.mp4 -ar 44100 output.mp4

执行以下命令查看输出文件的详细信息:

ffprobe output.mp4
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号