开发Adblock广播



tl; dr: Adblock Radio使用机器学习和类似Shazam的技术来识别音频广告。 主要的开源引擎 :在您的产品中使用它! 您可以携手支持更多的广播电台和播客。

很少有人喜欢听广播广告。 我启动了AdblockRadio.com项目, 以便听众可以跳过他们喜欢的网络广播中的广告。 该算法公开发布,本文介绍了它的工作原理。

Adblock Radio已经对来自七个国家的60多个广播电台的真实数据进行了测试。 它也与播客兼容,效果很好!

与以前的实现相比,我们的算法提供了一种通用的方法,可以处理来自各种来源的线程。 在以前的实现中,一个依赖于Internet无线电元数据 ,但是只有一小部分无线电与该方法兼容。 另一个实现可以识别已知的铃声 ,但是在许多情况下,商业中断的开始和结束并没有以铃声标记。

除了检测广告,该算法还可以区分会话和音乐。 因此,它还使您可以避免chat不休,只听音乐。

这是我近三年来个人工作的报告。 我于2015年底(聚变等离子体物理研究生院毕业)几个月后启动了Adblock Radio。 当Adblock Radio在2016年一举成名时,我受到了法国广播电台律师的威胁(详情请参见下文)。 我不得不部分关闭站点,更改系统架构,更好地研究法律后果等。今天,我相信在开放式创新范式下,AdBlock Radio将得到更好的发展。

本文分为三个部分。 它们是为不同的观众设计的。 您可以向下滚动或单击名称直接进入所需部分。

  • 广告检测:成熟的策略 。 对于精通技术的人,科学家,数据分析专家...以下是我尝试检测广告的各种技术方法,包括语音识别,声音指纹和机器学习。 关于进一步工作的选择的想法。
  • 不建议在云中运行Adblock Radio 。 适用于软件开发人员和对版权感兴趣的人。 我们将讨论在云服务中启动Adblock Radio时,要在技术和法律限制之间找到令人满意的折衷是多么困难。 由于这些原因,最好仅在最终用户设备上运行Adblock Radio。
  • 您可以将Adblock Radio集成到播放器中 。 对于制造商,产品所有者,UX设计人员,技术人员……我正在考虑将开源算法集成到最终产品(包括汽车播放器)中的想法,并强调需要用户提供有关故障情况的反馈。 这是维护系统所必需的。 最后,这里是有关如何创建正确的用户界面的提示。 我希望对此主题有很多反馈。



Adblock Radio带回了收听广播的乐趣

广告检测:成熟的策略


要屏蔽广告,您首先需要对其进行检测。 目的是在没有广播电台任何帮助的情况下检测音频流中的广告。 这不是一件容易的事。 在获得良好结果之前,我尝试了几种方法。

1.简单方法(不起作用)


数量


第一个想法是检查音量,因为广告声音很大! 对于广告,经常使用声音压缩 。 这是一个有趣的标准,但不足以区分广告。 例如,这种策略对于古典音乐电台来说效果很好,在古典音乐电台中,广告通常比音乐响亮。 但是流行与广告一样响亮。 而且,可以故意使一些广告安静,以避免被发现。

时钟锁


另一个想法是在特定时间按时间表广播广告。 在某种程度上是对的,但是没有准确性。 例如,我观看了法国车站的早间演出不是完全在同一时间开始,而是有两分钟的时间间隔。 广播电台可以通过随机地将其节目移动几十秒来轻松地规避这种锁定。

元数据


显而易见的解决方案是依靠ICY / Shoutcast元数据VLC等播放显示流信息。 不幸的是,在大多数情况下,此数据已损坏。 可以从广播电台的网站上的实时广播中获取信息(我为此开发了一种工具 ),但最常见的是广告并未被原样识别。 通常在网站上投放广告时会显示前一首歌曲或节目的名称。 一个值得注意的例外是Jazz Radio ,它在广告期间写着“音乐重演……” (音乐很快就会回来)。 总之,应当指出,这是一种不可靠的策略,因为无线电台可以非常轻松地更改元数据。

手动打标


毕竟,根本不需要任何算法就可以进行广告检测! 您可以简单地要求一些听众在广告开始和结束时按下按钮。 其他听众将从中受益。 这是机顶盒TiVo Bolt的策略。 它使您可以在设定的时间删除已建立渠道上的广告。 这会产生出色的结果,但无法很好地扩展到成千上万个广播电台。

缺点是很难从头启动系统。 新电台可能没有足够的观众进行正确的操作。 最初的听众会很烦恼并离开,因此该电台永远不会聚集足够多的听众。

另一个困难是,广播电台将要发送虚假信号来破坏系统。 它需要一个调节机制,共识系统或投票门槛。

众包是个好主意。 我认为,如果算法能够完成大部分工作,而对人们的影响却很小,那么看起来会更好。 这就是我所做的。

2.语音识别和词汇领域分析(失败)


广告始终是同一主题和词汇领域:买车,获得超市优惠券,注册保险等。如果您识别语音,则可以使用标准工具来打击垃圾邮件 。 这是我2015年底的第一个研究路径,但我无法实现语音识别。

作为语音处理的初学者,我从阅读Huang的《语音处理 》一书开始,尽管有些陈旧。 我把肮脏的小手放在当时最好的免费语音识别引擎CMU Sphinx上。

第一次尝试的结果很差,需要在CPU上进行大量计算。 我使用默认参数:标准法语词典(可能单词和相应音素的列表),语言模型(单词序列的概率)和声学模型(音素形式的音素连接)。

改进系统的尝试是徒劳的:识别效果仍然很差。 我在一个小的数据集上建立了词汇和语言模型,并使用了一个区分工具来共享声音。 他还将MLLR声学模型应用于欧洲1(法国)广播电台,并在该电台上训练了该系统。

通常,必须放弃语音识别的想法。 这可能是给专家的。 但是,将来您可以返回它。 自2015年以来,语音识别取得了重大进展。 新的开源工具已经发布,例如Mozilla Deep Speech

3.众包广告基础,通过声音指纹进行检测(令人鼓舞)


2016年 Adblock Radio的第一版使用了一个广告数据库。 系统连续收听声音流以寻找广告。 结果确实令人鼓舞,但是要保持这样的基础是很难的。

指纹搜索技术类似于Shazam在其服务器上进行的识别歌曲的操作。 这种算法通常称为地标 。 我对其进行了调整以使其适用于流式处理并打开了源代码

指纹适合于检测广告,因为它们以相同的形式反复广播。 出于同样的原因,他认识音乐。 但是这种技术不能用于语音,因为人们永远不会以相同的方式发音。 只有在晚上重新广播节目才有可能,这对我们不感兴趣。 因此,广告和音乐(作为“非广告”)必须输入指纹数据库,但是处理语音毫无意义。

本质上,声音指纹是将某些声音特征转换为一系列称为指纹的数字。 如果现场有许多印刷品与基准相符,我们可以得出结论,正在传播广告。 为了获得最佳分辨率,时间和频率范围,需要进行一些调整。 不同的模式应该很好地变化。 但是,即使声音压缩算法稍有更改,或者收音机已更改均衡器设置,系统也应能正常工作。 最后,您应该限制打印数量,以免加载计算资源。


计算声音打印的示例。 红色背景-光谱图。 它反映了声音强度在频率上的变化(下面的低频)。 在此图上,光谱峰被识别(蓝点)并被连接(灰线)。 每条灰线的位置,长度和方向都会转换为唯一的数字,即打印

二进制分类给出结果:样本是否为广告。 如果我们分析错误的情况,那么系统几乎总是会产生错误的负面结果,即它错过了广告,而很少注意到良好的广告内容。 用户只需单击一下即可报告未检测到的广告,从而提供了一个出色的用户界面。 相应的声音会自动添加到数据库中。 我对这些动作进行了后验。

由于商业广告经常变化,并且广告的广播几乎没有变化,因此很难使数据库保持最新。 它们也经常更新,有时是每几天更新一次。 某些收听者人数不足的流非常难以识别。

我探索了一些使听众工作自动化的有趣策略。 每天多次以相同的方式播放广告。 这可以用来识别它们。 搜索记录以获取最大重复序列 (MRS)。 其他内容也会重复播放,例如,歌曲和铃声(屏幕保护程序)。 我按长度对所有序列进行了排序,并采集了大约30秒的广告样本(通常是广告)。 因此,经常设法捕获广告。 但有时会出现歌曲合唱甚至录制的天气预报。

我找到了一种方法来过滤掉大部分音乐重复:我分析了电台的播放列表,下载了歌曲,然后将它们集成到带有“ no ads”标签的数据库中。 因此,越来越多的MRS候选人被证明是真正的商业广告。 但是仍然不是全部,因此用户帮助仍然是必需的。

所需的手动工作较少,但是服务器负载已经成为问题。 回顾过去,对于这些资源密集型,时间紧迫的数据库操作,选择SQLite并不是最佳选择。

幸运的是,该算法有几秒钟的时间来确定声音是否是广告。 这是因为Internet广播使用的音频缓冲区通常为4-30秒,该缓冲区不会立即在最终用户设备上播放。 这有助于防止在临时网络丢失的情况下广播中断。

我使用此后处理缓冲区延迟使算法预测更加稳定和上下文相关。 在最终用户设备上播放声音之前,该算法会立即查看仍在缓冲区中的预测结果以及已经播放的较早的预测结果。 它通过多个指纹匹配来切断有问题的数据点,显示出滞后现象 。 它还考虑了加权平均时间以消除可能的故障。


Adblock Radio在2016年的某个时候。 当前正在播放广告的广播电台的红色突出显示看起来非常酷! 用户可以使用蓝色按钮标记跳过的广告。 顶部的云端音乐按钮可用于导出自其中删除了广告的自定义MP3流,如果配置了此功能,则可以在广播电台之间进行平滑过渡。 以下是其他按钮和功能。

4.机器学习中的广告,对话和音乐的分类(准备就绪!)


该算法的下一个版本将分析声学:从低到高的声音及其时间变化。 仅通过声音和重要性的迹象,就可以检测到与进行培训的旧广告几乎一样的新未知广告。 这是一种用于分析音量的更复杂的方法(请参见前面的讨论)。

为此,我使用了连接到Tensorflow的机器学习工具,即Keras库。 这在不占用CPU的情况下给出了非常好的结果。 从2017年初到2018年中,该版本在生产中已经使用了一年多的时间。 现在可以区分对话和音乐,因此分类变得更加准确:代替“广告/非广告”-“广告/对话/音乐”。

我们将研究细节。 声音将转换为2D映​​射,其中声音强度将作为频率和时间的函数(以大约四秒为单位)呈现。 该卡在概念上类似于指纹章节中的红卡。 主要区别在于,我使用了与语音识别相关的梅尔倒谱系数 ,而不是经典的傅立叶频谱。

然后将具有不同时间戳的顺序卡在循环神经网络 (如LSTM (长短期记忆))中作为图片进行分析。 每张卡都独立于另一张卡进行分析(RNN 不保存状态 ),但是卡彼此重叠。 卡片长4秒,每秒钟出现一张新卡片。 每张卡的最终结果是softmax向量,例如, ad: 72%, talk: 11%, music 17% 。 然后使用与指纹部分相同的方法处理这些预测。


预览两个广播电台的典型机器学习结果。 横轴表示约17分钟的时间。 绿线在三个位置之间移动:顶部是广告,中间是对话,底部是音乐(最接近统一的灰色背景)。 红色区域-用户收听间隔。 如果算法给出了错误的预测,则用户可以对其进行更正

最初,我在非常小的数据集上训练了神经网络。 我开发了UI(请参见上图)以可视化预测,并可以添加更多数据来训练性能更好的模型。 在撰写本文时,训练数据集包含大约十天的音频:66个小时的广告,96个小时的谈话和73个小时的音乐。

尽管做得很好,但分类精度仍然略低于用户的期望(请参阅下面有关未来改进的部分)。 在培训中,类别预测的准确性为95%,但其余不正确的分类使用户感到不满意。

数据处理专家注意事项:通常会给出正式结果,将数据集分为训练和测试的子集。 我认为这在这里是没有意义的,因为数据集正在逐步建立在先前模型被误解的数据上。 这意味着数据集比平均广播包含的病理更多,准确性将被低估。 将需要单独的工作来测量实际指标。 操作员可以将常规音频记录的连续片段标记为测试数据,然后计算准确性并对其进行调用。 这样的常规检查将使您能够监视过滤器的性能。

广告/对话/音乐的分类为听众增加了便利。 但是,这种分类使用户界面复杂化,使用用户报告变得更加困难。 如果该标志指示某些内容不是音乐,则是广告还是对话? 在这里,您需要立即进行审核,而不需要事后审核。

为了进一步提高质量,我开发了Adblock Radio的最新版本,该版本略微改进了该策略。

5.声音分类和指纹匹配的组合(成功!)


我最好的算法发表在Github上 。 为了提高可靠性,他结合了之前两次尝试的概念:声学分类和指纹数据库。

训练有素的机器学习预测器可以对大多数原始资料进行正确分类,但是在某些情况下不起作用(请参阅下面有关未来改进的部分)。 指纹匹配模块的作用是减少机器学习模块的错误。

并非所有已知的训练数据都输入到指纹数据库中,只有一小部分机器学习显示错误。 我称它为“热点列表数据库”。 小尺寸有助于降低总体错误率,同时保持较低的CPU负载。

在普通笔记本电脑上,该算法仅消耗文件上5-10%的CPU和10-20%的实时CPU。

未来的改进


某些类型的内容仍然存在问题。


检测器不能完美地处理某些特定类型的音频内容:

  • 嘻哈音乐通常被认为是广告。 您可以通过将曲目添加到热点列表来解决此问题,但这是太多的音乐。 可能会以性能为代价来开发更通用的神经网络。
  • 音乐专辑广告通常被认为是音乐。 但是,当播放一首真实的歌曲时,通过指纹进行屏蔽会导致误报。 可以通过对上下文进行更深入的分析来解决该问题,但是这很难解决,因为仅在几秒钟之前就知道了上下文。
  • 脱口秀节目广告通常被认为是对话。 界限模糊,因为它既是对话又是广告。 我们看到分类广告/对话/音乐的可能性的极限。 为了通过指纹进行分类,我使用了一段时间的ad_self类,其中包含特定站点上的脱口秀广告,但是随着机器学习算法的引入,我停止了这样做。 重新创建此类可能是明智的。 另一个选择是对上下文进行更好的分析。
  • 本地广告,主持人在其中阅读赞助商文字。 在广播中,这种情况很少见,在播客中更常见。 阻止此类广告的逻辑下一步是引入语音识别软件。

马尔可夫链可实现更稳定的后处理


后处理的稳定性可以提高。 当前,仅使用置信度阈值。 达到阈值后,将进行最后一次置信预测。 因此,系统有时会保存错误。

广告,对话和音乐的周期在每个广播中都是周期性的。 例如,广告通常持续几分钟。 对于广告时段中的每个时间段,您都可以计算转换到另一种状态(对话或音乐)的可能性。 这种可能性将有助于更好地解释算法的嘈杂预测:仅仅是广告中的一小段音乐,还是广告中断完成了? 在这里, 隐马尔可夫模型将是一个很好的研究领域。

尚不支持模拟无线电


模拟信号(FM)尚未经过测试,目前不受支持。 模拟噪声优先于此处使用的方法。 可能需要过滤器和/或抗噪声指纹识别算法。 如果发生这种情况,则该程序可以在用户中找到更广泛的应用程序。 但是,无线电正越来越多地转向无噪声数字技术,例如DAB和Internet无线电。

不建议在云中运行Adblock Radio


理想情况下,Adblock Radio仅应在终端设备上运行。 但是现在云服务正在流行。 而且,这是一个好主意! Adblock Radio用这种范例测试了两个体系结构选项。 但是,经验表明,出于技术和法律原因,这不是最佳选择。

选项1.从服务器中继


服务器可以将带有广告/谈话/音乐标签的音频内容中继给听众。 我们在2016年对其进行了测试。 这里出现法律问题,因为中继流可以被视为伪造和/或侵犯版权(尽管我不是律师)。 它也不能很好地扩展,因为您现在是CDN,必须承担费用。

为了开个玩笑,在星期天,由于家庭原因我不在时,Adblock Radio广受欢迎, 并因此而倒闭 。 有趣的事实:几天后, 法国主要的公共广播电台France Inter在黄金时段刊登了Adblock Radio的广告 (但未命名)。 在监管机构于2016年决定放宽对国有广播电台广告的限制这一事实的背景下,这是一个出乎意料的编辑决定,这加剧了法国广播电台员工与管理层之间争执

几周后,我受到法国私人广播网络LesIndésRadio律师的威胁,据称是基于侵犯版权和商标的行为。 由于没有足够的资金来进行严格的保护,我不得不从站点中删除一些流量,部分关闭站点并更改系统的体系结构。 同时,该无线电网络拒绝合作以寻求折衷。 由于我在日志中看到他们继续监视我的网站(有时使用假名帐户),因此他们也咨询了律师 。 我真荣幸! 回顾过去,他们成功赢得了时间,但仅此而已。 大家好,来自Indés! 希望您喜欢阅读! xoxoxo


由131个法国广播电台组成的网络LesIndés宣告爱情

选项2。服务器中继声音,但是是私下中继


假定在服务器上进行分析并为特定用户中继清除的声音。 这样的系统可以免除版权法作为其自己的媒体私有副本。 如果服务器是由最终用户管理的,并且原始来源是合法的,并且在您所在地区可以正式使用,则一切都可能合法。 有关更多信息,请参见“ Station Ripper [FR]VCast [FR]”的讨论。 但是用户很少精通技术以自行租用和安装服务器。

将服务器置于第三方的控制之下非常诱人,但这会导致法律问题,因为复制者和最终用户不是同一个人。 在这种情况下,至少在法国实施了法律限制。 法国互联网服务商Wizzgo [FR]在2008年遇到了此规则。 最近,在美国, Aereo电视服务已关闭,尽管它通过向每个客户分配单独的调谐器 (!)来采取预防措施。

目前, 尽管Molotov.TV [FR]服务的联合创始人产生了巨大影响,但他们仍在与希望限制其功能[FR]的版权持有人斗争。 私人复制税 [FR]必须支付给官方组织 。 金额是通过相当不透明的计算[FR]确定的,并且每年都会增加[FR] ,达到每个用户每月数十欧分。 该委员会的地位如此之高,以至于Molotov.TV最近取消了其免费用户服务的功能 。 (注意:我衷心感谢法国站点NextINpact的记者对这个话题的很好报道)。

付费还不够:法律要求像Molotov.TV 这样的实体与受版权保护的公司签署关于其服务功能的[FR]协议 。 如果您开始削减广播公司的广告,请尝试与广播公司达成协议。

选项3.服务器仅发送元数据


用户和服务器都可以同时收听同一网络广播。 在这种情况下,服务器分析声音并发送用户分类元数据(广告/谈话/音乐),但不发送音频内容。 自2017年以来, adblockradio.com一直致力于该架构。 它依靠CDN,因此不会产生与广播音频有关的任何费用。

这种体系结构消除了侵犯版权的问题(免责声明:我不是律师)。 但是,商标法可能仍存在一些不确定性。 最近(2018年10月), Skyrock电台所有者要求在此基础上删除内容。


天石法律部的浪漫

除了法律方面的考虑外,音频和元数据之间的正确同步还有一个技术问题。 在大多数情况下,同步间隔少于两秒,一切正常。 但是某些广播电台具有奇怪的/恶意的CDN,或者它们将广告动态地注入流中。 这意味着服务器与不同客户端之间的流可能会有很大差异。 例如,在Radio FG上 ,观察到的延迟最多为20秒,在Jazz Radio上观察到的延迟最多为45秒。 这使听众失望。

通过比较服务器和用户之间的数据块,可以严格实现同步。 不幸的是,这在Web浏览器中不起作用,因为Internet广播电台上的大多数CDN都不使用CORS标头 。 因此,浏览器中的JavaScript将无法读取音频内容进行比较。 在工作中,您将需要单独的独立模块(例如Electron ),Flash模块(是)或Web扩展,这似乎有点多余。

您可以将Adblock Radio集成到播放器中


该项目不是针对最终用户的,而是针对发布大量产品的公司的。 你可以做到的!

开发人员有两种选择来集成Adblock Radio。 首先, SDK只需从adblockradio.com服务器获取元数据。 由于上述原因(法律和同步问题),这不是理想的解决方案。 最好运行完整的分析算法

软体类



硬体


  • 数字警报和业余项目,但要有足够的计算能力和网络访问权限。 尽管建议将RPi 3B / 3B +用于多个流的并行控制,但像Raspberry Pi Zero / A / B这样的平台应足以分析单个流。 Tensorflow在Raspbian上
  • 连接的扬声器,例如Sonos 。 该算法本身不适用于此类设备,因此您需要在云中或在同一局域网中(例如,在Raspberry上)的单独设备上处理数据。 众筹活动的好主意。

车载Adblock收音机


汽车是最受欢迎的收听广播的地方之一。 在那里,人们真的需要一个广告拦截器。 但这也是实现Adblock Radio并不容易的背景。 毕竟,系统必须收到反馈才能有效过滤新广告,因此该程序需要网络连接。 我看到了使用Adblock Radio的汽车产品的三种可能的概念。

  • 与现代汽车的信息娱乐系统兼容的应用 。 传输数据的最简单方法可能是通过用户的智能手机。 智能手机也可以单独使用-通过移动应用程序,通过音频输出流式互联网广播,连接到汽车的AUX或蓝牙来使用。 按照Apple Car PlayAndroid AutoMirrorLink的精神,它也可以与汽车的信息娱乐系统集成。 收听地面广播(FM,DAB)将是很棒的。 但是需要确定Adblock Radio在哪些特定配置中可以访问广播调谐器的音频输出并同时对其进行控制(音量,频道)。
  • 通用硬件适配器,专用用户界面 。 也有可能开发类似于现有汽车DAB适配器的定制设备。 这些设备调谐到广播电台,并通过AUX插孔或未使用的FM频道(例如旧的iPod FM适配器)将音频数据传输到汽车系统。 可以通过蓝牙通过智能手机访问网络。 如果比特率和价格合适,可以考虑使用其他解决方案,例如SigfoxLoRa 。 应开发一个与主要汽车设备分开的特殊用户界面。 最后,这可能太昂贵了。
  • 进入FM接收机的简约设备 。 如果需要,这种小型设备可以控制调谐器。 需要一个标准但易于连接的接口。 方向盘开关是一个很好的选择,但是最终用户无法为此轻松地对其进行修改。 因此,您需要破解系统。

    该无头设备将具有FM调谐器和麦克风,以分析用户正在收听的电台(互相关)。 当检测到广告时,设备会发出虚假的RDS数据(例如交通广播 ),以欺骗汽车调谐器并在广告持续时间内更改车站。它还可以在当前FM频率上广播静音。

    这种设备的界面非常简单,只有几个按钮。比全功能的车载适配器便宜。然而,尚不清楚这是否将可靠地工作,因为未经许可,无线电发射器使用受到法律的严格限制最后,尚不知道这种策略是否可以适用于DAB数字流。

如果有可能开发便宜的设备,那么这种产品必须具有商业成功。它也适用于众筹。

该项目需要有关错误响应的信号以及在处理过程中的协助。


将Adblock Radio集成到产品中时,请留下反馈的机会。故障应立即报告给我,以便我可以更新机器学习模型和热点列表。

可以手动查看报告:只需指定广播电台的名称和出现问题的时间即可。图书馆创办报告机制来发送。

报表处理需要时间。除了服务器成本外,这也是我没有在adblockradio.com上添加更多广播电台的另一个原因。需要帮助来收听音频轨道并在管理Web界面中对内容进行分类。因此,我们可以增加广播电台的数量并为播客提供支持。如果您愿意帮助,请在此处注册,并遵循讨论受支持线程存储库

如何替换广告:UX问题


在播客中跳过广告很简单:从听众的角度来看,这就像跳过歌曲的一部分。不幸的是,这不适用于收音机。我们不能快进直播!

Adblockradio.com现在提供三个过滤选项:

  • 降低音量
  • 切换到另一个电台,并在广告结束时返回。如果用户正在收听对话,则为true。在广告期间,他暂时切换到音乐台。
  • 永久切换到另一个站点。收听音乐台时很有用。

我尽力使它尽可能方便,但是系统仍然很复杂。就像安装或忘记计算机上的常规广播或广告拦截器一样简单。我真的指望集体的帮助。


当前的Adblock Radio 网络界面


从未出现过 旧原型。用户在这里拥有绝对完全的设置自由。仅来自一个电台的对话广播,仅来自另一个电台的音乐,等等。但是测试人员是如此困惑!回顾一下,即使对我来说,这个界面也很难理解

,对我来说,另一种聆听内容的方式似乎很有趣。由于上述法律原因,我无法在adblockradio.com上出售它。相反,我制作了一个独立的台式机播放器(本着数字视频录像机的精神,也可以在Github上获得。用户开始以大约10分钟的时移收听(即,例如,他们从早上7.30开始收听7.20以后的音频广播)。在每个广告时段,都会发生快速前进-您可以不受干扰地享受您的节目。通常,广告投放量为10分钟,您可以收听广播一两个小时而不会受到干扰。对于移动应用程序,这足以开始工作。

用户打开设备时,需要在十分钟前传送广播。在机动性的背景下,如何在能量和数据量受到限制的情况下如何做到这一点?请注意,法律禁止未经许可的第三方(在云中)广播广播录音。时移无线电播放器的


工作原型。音频块按段分类。音乐为蓝色,对话为绿色,广告为红色。当粉红色光标到达红色区域(广告)时,它会跳过它

从长远来看,该系统可以从所有电台接收广播内容-并根据每个收听者的喜好完全定制它。广播您喜欢的节目,您喜欢的音乐,插入播客等。我认为,难以推迟并稍后上传的直播内容:体育赛事,新闻,天气预报,现场音乐和等等。也许这将成为无线电的另一种商业模式

结论


阻止广播和播客中的广告的技术解决方案比我们想要的要复杂得多。需要使用新视频定期更新模型。这意味着该系统应在连接到Internet的设备(例如智能手机和WiFi无线电)中使用。该服务还不适用于常规的独立无线电(FM,DAB +)。幸运的是,随着移动通信的普及,人们正在改变他们的习惯,因此在将来屏蔽广告应该更加容易。

您可以帮助开发Adblock Radio。

  • 作为广播收听者:打开播放器,收听广播并注意识别错误,以便算法可以学习。没有您最喜欢的电台?没问题,请转到此处并提出要求。
  • 作为开发人员:进入存储库,运行演示,您可以加入讨论。在Electron上查看桌面播放器的另一个演示
  • 作为产品经理:如果要将Adblock Radio集成到产品中,请与我们联系。我很乐意提供帮助。

将来,音频广告将只留在遥远的记忆中!感谢您的阅读。

Source: https://habr.com/ru/post/zh-CN435720/


All Articles