=================================================================
音视频入门基础:MPEG2-TS专题系列文章:
音视频入门基础:MPEG2-TS专题(1)------MPEG2-TS官方文档下载
音视频入门基础:MPEG2-TS专题(2)------使用FFmpeg命令生成ts文件
音视频入门基础:MPEG2-TS专题(3)------TS Header简介
音视频入门基础:MPEG2-TS专题(4)------使用工具分析MPEG2-TS传输流
音视频入门基础:MPEG2-TS专题(5)------FFmpeg源码中,判断某文件是否为TS文件的实现
音视频入门基础:MPEG2-TS专题(6)------FFmpeg源码中,获取MPEG2-TS传输流每个transport packet长度的实现
音视频入门基础:MPEG2-TS专题(7)------FFmpeg源码中,读取出一个transport packet数据的实现
音视频入门基础:MPEG2-TS专题(8)------TS Header中的适配域
音视频入门基础:MPEG2-TS专题(9)------FFmpeg源码中,解码TS Header的实现
音视频入门基础:MPEG2-TS专题(10)------PSI、SI简介
音视频入门基础:MPEG2-TS专题(11)------ TS中的Section
音视频入门基础:MPEG2-TS专题(12)------ FFmpeg源码中,把各个transport packet组合成一个Section的实现
音视频入门基础:MPEG2-TS专题(13)------FFmpeg源码中,解析Section Header的实现
音视频入门基础:MPEG2-TS专题(14)------PAT简介
音视频入门基础:MPEG2-TS专题(15)------FFmpeg源码中,解析Program association section的实现
音视频入门基础:MPEG2-TS专题(16)------PMT简介
音视频入门基础:MPEG2-TS专题(17)------FFmpeg源码中,解析TS program map section的实现
音视频入门基础:MPEG2-TS专题(18)------PES流简介
音视频入门基础:MPEG2-TS专题(19)------FFmpeg源码中,解析TS流中的PES流的实现
音视频入门基础:MPEG2-TS专题(20)------ES流简介
音视频入门基础:MPEG2-TS专题(21)------FFmpeg源码中,获取TS流的视频信息的实现
音视频入门基础:MPEG2-TS专题(22)------FFmpeg源码中,获取TS流的音频信息的实现
音视频入门基础:MPEG2-TS专题(23)------通过FFprobe显示TS流每个packet的信息
音视频入门基础:MPEG2-TS专题(24)------FFmpeg源码中,显示TS流每个packet的pts、dts的实现
=================================================================
一、引言
通过FFmpeg命令可以获取到TS文件/TS流的音频压缩编码格式、音频压缩编码格式的profile、音频采样率、通道数、音频码率信息:
cpp
./ffmpeg -i XXX.ts
本文以音频为AAC为例讲述FFmpeg到底是从哪个地方获取到这些音频信息的。
二、音频压缩编码格式
FFmpeg获取TS文件/TS流的音频压缩编码格式,是从PMT表的stream_type属性中获取的。原理跟获取TS文件/TS流中的视频压缩编码格式一致,具体可以参考:《音视频入门基础:MPEG2-TS专题(21)------FFmpeg源码中,获取TS流的视频信息的实现》。
三、音频压缩编码格式的profile、音频采样率、通道数、音频码率
如果TS文件/TS流的音频压缩编码格式为AAC,FFmpeg获取其音频压缩编码格式的profile、音频采样率、通道数、音频码率,都是从ADTS Header获取或者根据里面的属性计算出来的。原理跟获取ADTS格式的AAC裸流音频信息一致,具体可以参考:《音视频入门基础:AAC专题(13)------FFmpeg源码中,获取ADTS格式的AAC裸流音频信息的实现》。