Streaming 为什么HTTP上的FLAC流是通过Ogg封装而不是本机完成的?

Streaming 为什么HTTP上的FLAC流是通过Ogg封装而不是本机完成的?,streaming,ogg,flac,Streaming,Ogg,Flac,所有当前的FLAC流媒体实现(如Edcast和Icecast)似乎都在流媒体时使用Ogg作为FLAC的容器 这是什么原因 不使用Ogg,而是使用“原生”FLAC流的缺点是什么 我在HTTP上做了一些流式FLAC测试,它在VLC中似乎工作得很好。FLAC看起来很强大,它可以抵抗流损坏和/或丢失的帧。有鉴于此,我不太明白为什么有必要在Ogg中包装FLAC。对为什么在许多情况下需要使用Ogg封装而不是流式原生FLAC有一个相当透彻的解释: 原始FLAC格式包括一个非常薄的传输系统。。。被称为“本土FL

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

  • 这是什么原因
  • 不使用Ogg,而是使用“原生”FLAC流的缺点是什么
  • 我在HTTP上做了一些流式FLAC测试,它在VLC中似乎工作得很好。FLAC看起来很强大,它可以抵抗流损坏和/或丢失的帧。有鉴于此,我不太明白为什么有必要在Ogg中包装FLAC。

    对为什么在许多情况下需要使用Ogg封装而不是流式原生FLAC有一个相当透彻的解释:

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

    本机FLAC传输不是标准编解码器设计中的传输“层”,因为它不能与有效负载完全分离

    当试图将FLAC封装到其他真正的传输层时,这会出现问题

    另一种方法是将本机FLAC帧视为Ogg数据包,并接受传输冗余。事实证明,这算不上什么惩罚。。。冗余度仅为百分之一的零头

    [重点补充]


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

    而且HTTP不应出现“流损坏和/或丢弃帧”。@DanD.,这通常发生在编码端,当连接客户端时停止并重新启动编码器时。我不是指网络层,很抱歉不清楚。此外,在服务器端,它似乎允许“哑”实现,其中服务器发送一些初始化数据,然后在任意点直接放入流中。我还没有测试过这方面,我住在芝加哥!好吃,纸杯蛋糕/我知道我今晚要研究什么!谢谢,我已经看过这个解释了,但是大多数解释并不适用于流式传输单个流。对于一个简单的单流,我看不出有什么好处。无论如何,谢谢你的解释。假设我一次只需要一个流,还有什么我没有考虑的吗?如果没有别的,考虑到流软件更倾向于进行Ogg封装,可能会有更多与Ogg兼容的播放软件,而不是原生FLAC,但这对您的情况可能并不重要。如果您只是将单个流传输到VLC,我看不到封装有什么特别的好处。