video - mpegts 是如何工作的

标签 video audio decode mpeg mpeg2-ts

谁能解释一下 mpeg-ts 的工作原理。我已经阅读了规范文档,但不明白为什么将多个流组合成一个流。

我还使用媒体信息工具打开了一个 .ts 文件,对于音频,它显示了 2 个音频流。那么在播放内容时将使用哪个音频流。

最佳答案

原因解释起来很简单:在一个比特流上传输多个媒体。考虑 DVB(数字电视):每个转发器(= 频率)提供一个比特流。但是您已经需要至少两个电视 channel 流:音频和视频。还有更多你永远看不到的元信息。因此,不是在单独的频率上传输这些流中的每一个,而是将它们多路复用成一个比特流。那就是 MPEG-TS(传输流)。然后,多路分解器获取该流并将其分成携带真实信息的子流。

通过这种方式,欧洲典型的 DVB-T 转发器可以承载四个电视 channel (称为花束)。数量可能会有所不同,这是流媒体提供商的决定(我猜是在更高质量 = 更少 channel = 更贵或更差质量 = 更多 channel = 更便宜之间进行权衡)。

关于播放哪个音频流:一个电视 channel 可以有多个音频流(例如,普通音频、带有视觉障碍描述的音频、另一种语言等)。默认情况下,播放器可能会播放第一个音频流,但可以随时切换音频流。

关于video - mpegts 是如何工作的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5311825/

相关文章:

python - 如何将单个音频文件拆分为多个文件?

ios - 在钢琴应用程序中演奏声音的最佳方式是什么?

java - 请求的数组大小超出 VM 限制

c++ - 使用 FFmpeg 从 HEVC 视频读取 SEI 数据

css - 如何在具有动态高度的 DIV 容器中制作响应式视频背景?

audio - 什么是 I2S channel 对?

python - python 3.6中的编码解码字符串不起作用?

java - struts html字符编码和解码

javascript - 从 videoJS 显示视频时长

javascript - 如何使用 JavaScript 在嵌入的 YouTube 视频上创建可点击的时间戳链接?