【发布时间】:2011-11-21 20:59:28
【问题描述】:
每月一次,mp3 流会出现问题,而判断它出现问题的唯一方法是在播放时收听。是否有脚本、程序或工具可用于监控给定 url 的实时流并在其损坏时发送某种标志?
通常发生的情况是它播放一首歌曲或一些音乐,但每月一次,每月一次,随机地,流损坏并启动随机黑猩猩,如垃圾音频。对此有什么想法吗?我才刚刚开始,完全不知道。
【问题讨论】:
标签: encoding mp3 live-streaming icecast
每月一次,mp3 流会出现问题,而判断它出现问题的唯一方法是在播放时收听。是否有脚本、程序或工具可用于监控给定 url 的实时流并在其损坏时发送某种标志?
通常发生的情况是它播放一首歌曲或一些音乐,但每月一次,每月一次,随机地,流损坏并启动随机黑猩猩,如垃圾音频。对此有什么想法吗?我才刚刚开始,完全不知道。
【问题讨论】:
标签: encoding mp3 live-streaming icecast
通常,当您播放错误采样率的曲目时会发生这种情况。
大多数(我所见过的)SHOUTcast/Icecast 编码器(直接从文件中提取)可以很好地压缩 MP3,但假设它们配置的任何内容都具有固定的采样率。通常这将是 44.1kHz。如果您插入 48kHz 或 22.05kHz 的音轨,它们将以不同的速度播放,同时会导致流中出现各种随机问题。
这个问题很容易验证。只需创建一个不同采样率的文件并对其进行测试。我怀疑你会重现这个问题。如果是这种情况,据我所知,没有办法检测到它,因为您的流实际上并没有损坏......它只是听起来不正确。您必须扫描所有文件以获取采样率。脚本中的FFMPEG 应该可以帮助您。
现在,如果问题实际上是损坏的 MP3 流,那么您的编码方面就有问题。我怀疑只需用最新的稳定版本LAME 替换您正在使用的任何 DLL 或模块会有所帮助。
要检测损坏的 MP3 流,您的编码器必须使用 CRC。如果启用它,您应该能够读取每个帧的标头以找到 CRC,然后在音频数据上运行它。如果您收到错误(或多帧错误),您可以触发警告。
您可以在此处找到有关 MP3 流标头的信息:
【讨论】: