您将如何设计流式广播的“广告拦截器”?

时间:2009-03-04 19:21:13

标签: adblock streaming-radio

我无法忍受听传统收音机,因为我无法忍受听广告。 (对于电视来说也是如此,广告比你想要观看的广告要大200%。)

不幸的是,我的妻子需要在早上做好准备时收听广播。

我在想,我们在网络浏览器中设置了阻止广告的插件,为什么不用于广播呢?

大多数广播电台都通过网络提供内容流媒体。您如何设计广告拦截器?你能预见到任何陷阱吗?

更新

有几点出现......

用以下内容替换广告:沉默会很好。

识别广告:可能是第一次添加广告时无法识别,但您必须向软件发出此广告的信号。广告将被录制。是否有可能处理它并提取某种独特的“签名”,以便下次播放它时会被识别并静音?

12 个答案:

答案 0 :(得分:6)

我在法国广播网络上也有同样的迫切需求。 对于基于计算机的解决方案,以下是我对该过程中的3个问题的看法。

<强> 1。识别广告何时播放

1.1手动[闭嘴]按钮很有用:每当听到烦人的广告时按下它。这是可靠的(虽然有点晚),“警报”可以通过互联网广播到社区工具。

1.2从互联网接收“这是广告”信号(无论是否生成人员或软件)。

1.3分析信号,计算签名,并与互联网上的社区数据库进行比较。

1.4分析信号以发现响度高于平均值。

1.5分析信号,找到比平均水平更快的句子。

1.6分析信号,发现可疑的短语,如“便宜”,“仅限美元”,“惊人”,“特别优惠”等。

<强> 2。使用其他声音填充广告时间

2.1对某些人来说,沉默确实是完全可以接受的。

2.2告诉玩家在广告中播放自己的mp3播放列表。

2.3告诉玩家切换到另一个喜欢的收音机(最好不要同时播放广告。

2.4如果您接受60秒的延迟,系统将利用社区信号,并能够在第一秒钟内停止广告。

第3。广告公司会生气吗?

3.1好吧,拿一个很棒的AdblockPlus示例。它工作得非常好,我在2008年左右询问了它的开发者Wladimir Palant,他在广告游说中遇到了麻烦。他回答说“不是:如果Firefox拥有20%的份额,然后20%的Firefox用户安装了Adblock,那么只有4%的互联网用户......还不足以成为他们的巨大担忧。我从未受到过任何压力从他们那里尝试。“

3.2尽管如此,Tivo VCR让美国电视内容提供商非常生气,因为它允许跳过广告。

3.3在通过互联网(仅占所有广播听众的一小部分)的基于计算机的广播听众的特殊情况下,我认为该软件在任何内容提供商感到受到威胁之前很久就能够获得极高的可靠性和普及性:像AdblockPlus。

答案 1 :(得分:5)

对于最简单的情况,我会简单地监视流的体积移动平均值。如果移动平均值超过阈值(可以调整),则只需将音量静音(或将其剪切) 80%)。

我做了一个快速的谷歌搜索,看起来这个类会有所帮助(假设你在.net中这样做):http://www.codeproject.com/KB/audio-video/SoundViewer.aspx

答案 2 :(得分:3)

从这个页面收集一些见解,我为流式广播构建了一个广告块: http://adblockradio.com

服务器执行(相当昂贵的)计算并提供&#34;垃圾邮件&#34;客户的索引,可以相应地静音。

我现在只为一些法国流选择。未来可能更多,用各种语言。

答案 3 :(得分:2)

我为无线电广播创建了一个开源广告拦截器。它假设每个商业街区都以特定的叮当声开始并结束。我录制了这些歌曲,然后使用cross-correlation在广播流中检测它们。

我准备了两个版本的广告拦截器。第一个是一个简单的GUI应用程序,它接收互联网流,静音广告并播放结果。

第二个是用于立体声接收器的广告拦截器。我在Raspberry Pi上运行它来静音家用立体声系统中的广告。对于这个版本,我需要一个广播源进行分析。我用了便宜的DVB-T棒和rtl_fm应用程序。

可以在my blog上找到实施细节。

答案 4 :(得分:1)

鉴于流媒体发生直播,一个明显的问题是你会用什么来填补?从理论上讲,你可以完全切断收音机30秒左右,但这不是一个很好的解决方案。

此外,即使假设您可以完美地将广播语音转换为文本(实时) - 一个大的“ if ”,您如何确定形成广告所涉及的文本流?开始?

答案 5 :(得分:1)

您必须注意的一件事是,有些客户非常聪明,如果您过多调低音量,他们会暂停广告。 Spotify就是这样做的。

无线电或纯媒体流没问题。

答案 6 :(得分:1)

我经常希望有这个,但没有聪明才能做到这一点。我的设计要点是:

  • 您可以从声卡本身攻击它,而不是分析传入的流。这样,无论如何播放商业或不需要的音频,它都可以被切断。
  • 聆听时缓冲10-15秒。然后,当用户说“这是商业广告”时,允许他/她在该缓冲区中识别它开始的位置。然后,应用程序可以将传出音频与其商业声音咬合的命中列表进行匹配,并知道何时静音。
    • 随着新商业广告的播放,提示用户指示何时结束。然后该应用程序知道要静音多长时间。
    • 奖励:商业播音员经常在同一个电台上做很多商业广告。语音质量识别可以让应用程序听取播音员(通常很烦人)的声音并询问“这是商业广告吗?”,这样可以更容易地将商业广告添加到热门列表中。

答案 7 :(得分:0)

我不确定你会怎么做,但你可以创建某种音频“过滤器”,每隔一段时间(5-10秒)检查一下每个流。

如果过滤器失败,则表示它是广告,因此您可以暂时关闭或静音该流。

将其视为音频正则表达式。

现在出现问题。

正如莱维克所说,你用什么来填补死亡时间?

您如何将滤镜附加到流光?如果你直接将它连接到扬声器馈送,这可能会起作用,但如果你想让其他东西的音频播放,同时将收音机静音,你会怎么做?

这会有多大的计算成本?

这听起来像一个有趣的项目,如果你在这方面取得了很好的进展,请告诉我们!

答案 8 :(得分:0)

NI的

LabVIEW有一堆音频(和振动)分析工具。想到的一个想法是比较左右声道。如果它们不同,那么你可能有音乐。它可能仍然是一个广告。我没有使用他们的音频工具,也不熟悉音频分析,所以你还有一些功课要做。

有时您需要放弃编程方法并以不同方式执行。我在pandora.com上听音乐。广告在显示器上是可视的,但从不可听见。我选择了我想听的音乐类型并让它播放。

答案 9 :(得分:0)

关于填补空白并处理处理延迟

如果你的妻子不太注意时间安排,你的工具可以在她起床前30分钟开始,因此有一个无广告无线电缓冲区。

答案 10 :(得分:0)

我认为您想要感知音量变化,然后将其编程为静音60秒,在该点重新测试流,如果在同一级别保持关闭30次,则再次采样并且如果应用程序感知到是一个较低的自愿程序,它取消任何变化。某种低频,定时压缩器,其阈值高于预设水平(在收听程序时设置)。一个以图形方式显示级别的公司音频分析器窗口或图形将是理想的......

我找到了这个网站,因为我被Heart&amp; Bdy Extrct广告所困扰,这些广告困扰着Jeff Rense的夜间节目和其他几个alt新闻台。每一次广告!如果你设计一些能够可靠地完成工作的软件,你可能会赚到一些钱,但广告人会觉得很疯狂。 (我假设你的意思是流媒体广播) 但是如果你开发的话,我会排队买一个......更好的是,让我成为你的第一个顾客!!我常常会错过几分钟的演出,因为我在房间里找了些什么后忘记取消静音...这里有很多值得学习的东西......

答案 11 :(得分:0)

超级简短的答案,但是可行并花时间/投资创建:

Crowd在vlc插件中提供它,允许用户点击按钮并传播包含广告的范围。如果在约束内多次报告范围,则停止广告录制blah blah condense radio,比较音频哈希文件以执行此操作。 Wham bam你有人群采购的商业免费电台,可以选择只收听unqiue精简收音机(没有重播)。很确定你必须在客户端存储压缩收音机,否则它是非法的或其他东西。