为什么使用Ogg封装而不是本机来完成基于HTTP的FLAC流式传输?

时间:2012-07-15 03:59:31

标签: streaming ogg flac

所有当前的FLAC流媒体实现(例如带有Icecast的Edcast)似乎在流媒体时使用Ogg作为FLAC的容器。

  1. 这是什么原因?
  2. 使用Ogg 有什么缺点,而是流式传输“原生”FLAC流?
  3. 我已经完成了一些通过HTTP传输FLAC的测试,它似乎在VLC中运行得很好。 FLAC似乎是built in such a way that frames can stand independently,使其能够抵御流损坏和/或丢帧。鉴于此,我不太明白为什么在Ogg中包装FLAC是必要的。

1 个答案:

答案 0 :(得分:4)

FLAC-to-Ogg mapping page有一个相当详尽的解释,为什么在许多情况下使用Ogg封装而不是流式传输FLAC是理想的:

  

原始FLAC格式包括非常薄的传输系统 ...称为“原生FLAC”。 ...它非常轻量级,不支持更复杂的传输机制,例如多个逻辑流,......

     

原生FLAC传输不是传输层"以标准编解码器设计的方式,因为它不能完全与有效载荷分开。 ...

     

当尝试将FLAC封装在其他真实的传输层中时,会出现问题 ...

     

另一种方法是将本机FLAC帧视为Ogg数据包并接受传输冗余。事实证明,这不是一个惩罚; ......冗余只占百分之几。

     

[强调补充]

有关详细信息,请参阅完整页面,但结果是虽然可用于流式传输,但本机FLAC并不适合更复杂的设置,并且Ogg封装的成本非常低。如果原生FLAC可以满足您的特定需求,您可以继续使用它,但Ogg最终将为您提供更大的灵活性。