音视频入门基础:MPEG2-TS专题(22)——FFmpeg源码中,获取TS流的音频信息的实现

=================================================================

音视频入门基础: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裸流音频信息的实现》。

相关推荐
不吃鱼的猫7481 小时前
【音视频流媒体进阶:从网络到 WebRTC】第02篇-I/O 多路复用:从 select 到 epoll
网络·音视频·webrtc
不吃鱼的猫7482 小时前
【音视频流媒体进阶:从网络到 WebRTC】第03篇-Reactor 模式与事件驱动网络框架
网络·音视频·webrtc
不吃鱼的猫7482 小时前
【音视频流媒体进阶:从网络到 WebRTC】第01篇-Socket 编程基础:TCP 与 UDP 的选择
网络·音视频·webrtc
Flamingˢ14 小时前
ZYNQ + OV5640 视频系统开发(四):HDMI 显示链路
嵌入式硬件·fpga开发·硬件架构·音视频
潜创微科技--高清音视频芯片方案开发15 小时前
2026年HUB方案商选型指南:主流厂商核心优势与不同应用场景适配方案深度分析
音视频·硬件工程
月诸清酒15 小时前
26-260410 AI 科技日报 (阿里开源视频模型HappyHorse登顶,马斯克疑似泄露Claude参数)
人工智能·开源·音视频
ai产品老杨16 小时前
异构计算时代的视频底座:基于 ZLMediaKit 与 Spring Boot 的 X86/ARM 跨平台架构解析
arm开发·spring boot·音视频
Black蜡笔小新19 小时前
花屏/蓝屏/黑屏/画面抖动/冻结/模糊检测,聊聊EasyCVR的视频质量诊断插件,解决运维人的实际烦恼
运维·音视频
琪伦的工具库20 小时前
批量音频音量调整工具使用说明:固定增减分贝与目标响度两种模式怎么选
音视频
y小花20 小时前
安卓音频子系统之USBAlsaManager
android·音视频