【问题标题】:How can I monitor an mp3 live stream to detect corruption?如何监控 mp3 直播流以检测损坏?
【发布时间】:2011-11-21 20:59:28
【问题描述】:

每月一次,mp3 流会出现问题,而判断它出现问题的唯一方法是在播放时收听。是否有脚本、程序或工具可用于监控给定 url 的实时流并在其损坏时发送某种标志?

通常发生的情况是它播放一首歌曲或一些音乐,但每月一次,每月一次,随机地,流损坏并启动随机黑猩猩,如垃圾音频。对此有什么想法吗?我才刚刚开始,完全不知道。

【问题讨论】:

    标签: encoding mp3 live-streaming icecast


    【解决方案1】:

    通常,当您播放错误采样率的曲目时会发生这种情况。

    大多数(我所见过的)SHOUTcast/Icecast 编码器(直接从文件中提取)可以很好地压缩 MP3,但假设它们配置的任何内容都具有固定的采样率。通常这将是 44.1kHz。如果您插入 48kHz 或 22.05kHz 的音轨,它们将以不同的速度播放,同时会导致流中出现各种随机问题。

    这个问题很容易验证。只需创建一个不同采样率的文件并对其进行测试。我怀疑你会重现这个问题。如果是这种情况,据我所知,没有办法检测到它,因为您的流实际上并没有损坏......它只是听起来不正确。您必须扫描所有文件以获取采样率。脚本中的FFMPEG 应该可以帮助您。


    现在,如果问题实际上是损坏的 MP3 流,那么您的编码方面就有问题。我怀疑只需用最新的稳定版本LAME 替换您正在使用的任何 DLL 或模块会有所帮助。

    要检测损坏的 MP3 流,您的编码器必须使用 CRC。如果启用它,您应该能够读取每个帧的标头以找到 CRC,然后在音频数据上运行它。如果您收到错误(或多帧错误),您可以触发警告。

    您可以在此处找到有关 MP3 流标头的信息:

    http://www.mp3-tech.org/programmer/frame_header.html

    【讨论】:

    • 非常感谢布拉德!!!!我想多讨论一下,以便更好地了解这一点。我是一名 coop 学生,从未从事过这方面的工作,并且得到的文档很少。我被告知他们有一些编码器和这样的工作,并且发生这种情况的问题是当提要或流被转码以在单元格上播放时。 “每月随机一次,记录开始播放乱码,为了解决这个问题,我们重置了我们的连接,这解决了问题”其中一位技术人员对我说也要研究 ffmpeg。非常感谢!
    • @Nadal,如果您在流媒体方面需要任何帮助,请随时通过 brad@musatcha.com 与我联系。如果您有专门与编程相关的问题,请将它们发布到 Stack Overflow(并给我发送链接),以便每个人都可以提供意见和学习。
    • 谢谢!我正在尝试下载 FFMPEG,但我以前从未使用过流,所以我不确定如何开始。您可以删除您的电子邮件,以免收到垃圾邮件,我已将其记录下来。
    • 这似乎不是问题。所有进入的直播流都是相同的频率。考虑研究 FMPEG 和比特率
    • @Nadal,比特率与此无关。采样率在客户端显示相同,但​​在源材料中可能不同。我将通过电子邮件与您讨论这个问题,因为这不是编程问题。
    猜你喜欢
    • 2011-08-20
    • 1970-01-01
    • 1970-01-01
    • 2012-04-13
    • 2011-07-24
    • 1970-01-01
    • 2018-03-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多