【发布时间】:2022-01-18 16:20:12
【问题描述】:
是否有一种编解码器允许一个数据流,其中存在最低质量的数据基线,并且可以从提高质量的源发送更多数据,反之亦然?
通常,我们有一个视频或流的多个版本。像 240p、360p、480、720p、1080p、1440p、2160p ......其中每一个都是完全不同的数据集,具有不同的编解码器设置。这会导致数据倍增的问题。所以我想知道某些编解码器是否只允许使用最高质量的版本,比如 2160p,它可能是 10 Mb/s 的比特率,但它会允许慢速在线消费者接收,比如来自同一数据源的 512 kb/s 和因此收到的原始源质量较低....或者我们注定要始终为每种源质量提供专用文件/流?
我猜可能不是编解码器问题,而是容器问题?我一直在使用视频流,所以我对编解码器和容器有一个大致的了解,但我不是专家。
如果仍然不清楚,可以进一步扩展 - 想象一下有一个大小为几 G 的视频文件,并且您想要流式传输它。通常,流意味着必须将源分成 5 秒长的片段。假设每个段的大小为 10 Mb。快速消费者将能够在 5 秒内接收到整个块,这将允许消费者以原始质量消费整个视频。但是假设一个缓慢的消费者只能消费前面提到的 512 kB,在这种情况下,只有半兆的片段会被发送给这个消费者,而忽略了 9.5 兆,消费者仍然可以渲染这个块收到的视频。
因此,编解码器/容器将作为具有不同数据层的分层或组合结构工作,每一层都为前一层提供更多“质量”。因此,消耗的“层”越多,渲染的质量就越高。我想这与拨号互联网时代流行的渐进式 jpeg 图像一致。
【问题讨论】:
标签: video video-streaming mp4 codec video-codecs