为什么Firefox不支持<audio>中的MP3文件格式

是否有一个特定的原因,为什么Firefox不支持<audio>元素中的MP3文件播放,只有Ogg格式?

这是一个授权问题吗?

有没有计划为将来的实施?

是否可以开发一个插件来支持<audio>元素中的MP3播放?

许可问题: HTML5video和H.264 – 历史告诉我们,为什么我们站在networking和Mozilla捍卫Firefox的HTML5支持只有Ogg Theoravideo (尽pipe他们的标题,他们都谈论MP3许可,尽pipe简要) 。

你所能做的就是回到Flash并通过它来播放它们。

2012年10月更新: Wooohooo! Brendan Eich刚刚在他的博客上宣布,在Firefox中支持MP3和H264的工作正在进行中。 您可以跟踪BugZilla上的工作: 在桌面版Firefox上支持H.264 / AAC / MP3video/audio播放

2013年2月更新 :经过Firefox开发者Chris Pearce的大力支持之后, 该补丁翻转了开关,在Windows 7和Windows 7上运行时,默认启用了HTML5 <audio>和<video>元素的MP3,MP4,H.264和AAC播放。后来。 在下一个稳定的FF版本中,我们应该看到一些原生的networkingMP3支持。

更新2013年4月 :呜呼! 最新稳定的Firefox对MP3有实验支持。 要打开它,请在Firefox中键入about:config,findmedia.windows-media-foundation.enabled并将其设置为true。 重新启动Firefox,你就全部设置好了。 去一个HTML5audio网站(例如我的电台网站 ),你会看到Firefox的确在播放原生MP3,而不是诉诸于Flash后备。

2013年5月更新 :最后! Firefox 21今天发布 ,它包括Windows上的原生HTML5 MP3支持。 我只是validation它支持原生MP3audio开箱即用,只要您的操作系统支持它。 我在Windows 8上进行了testing,但是我相信这会在Windows 7和Vista上自动运行。

2013年12月更新 : 今天发布了Firefox 26 ,它可以为所有版本的Windows提供本机MP3audio支持,使其能够回到Windows XP。


Ian Devlin目前接受的答案已经过时了。 新的答案是:虽然由于许可原因,Firefox历来不支持原生MP3播放,但未来这一点将会改变; 我们很快就会看到一个通过HTML5 <audio>标签本地播放MP3的Firefox。

2012年3月,Mozilla在这个问题上做了一个关于这个问题的公开声明 ,只要最终用户的系统上已经有编解码器, 他们就会公开表示他们将支持MP3和H.264的原生HTML5实现 。

在链接的文章中,Mozilla的研究主pipeAndreas Gal发表了如下公开声明:

“我们将支持解码系统中现有解码器支持的任何video/audio格式,包括H.264和MP3。 真的没有理由阻止我们的用户使用已经在设备上的系统解码器,所以我们不会过滤任何格式。

我不认为这个bug显着改变了我们在公开video上的立场。 我们将继续推广和支持开放的编解码器,但是何时何地现有的编解码器已经在设备上安装并获得许可,我们将利用这些编解码器为用户提供最好的体验。“

这与他们之前的位置形成对比,即使操作系统支持,也不会尝试播放MP3和H.264。

底线: Firefox将最终在其HTML5 <audio>实施中支持MP3。 截至2012年9月,我没有看到这种情况发生的时间。 Firefox在Droid上似乎正在开发中 ; 我猜测我们很快就会看到桌面Firefox的支持。 编辑 2012年10月:确实,这个猜测是正确的:在桌面Firefox的原生MP3和H264播放正在开发中 。

更新 :桌面Firefox版本20+ 现在支持原生MP3(和H264)

我使用它来跟随播客,偶尔的MP4video。

如果它不起作用,有一个隐藏的选项来启用
about:config → media.windows-media-foundation.enabled → true

它也适用于HTML5 YouTube
(应该使用webm ,但可能更适合于h264

MP3通常是弗劳恩霍夫/汤姆森的专利问题。 他们在略带黑幕的mp3licensing.com域上出售许可证。

关于专利(更新2016/6)( 维基百科 ):

基本的MP3解码和编码技术在欧盟是无专利的,所有的专利都已经到期了。 在美国,这项技术将在2017年12月31日实质性取消专利(见下文)。 2007年至2015年期间,大部分MP3专利在美国过期。

在最初提交申请date20年后,专利权可以在12个月后在其他国家提交。 因此,在ISO CD 11172发布21年后的2012年12月,大多数国家/地区实施MP3所需的专利已经过期。

至于专利在2017年12月终于在美国到期:

除了三项专利外,Sisvelpipe理的美国专利在2015年全部到期,但是(例外情况是:2017年2月到期的美国专利5,878,080,2017年2月到期的美国专利5,850,456和2017年4月9日到期的美国专利5,960,037。

以及

MP3技术将于2017年12月30日在美国获得专利,当时由Fraunhofer-Gesellschaft公司持有并由Technicolorpipe理的美国专利5,703,999将到期。

有一些软件可以规避这些专利,比如LAME MP3编码器 ,但是它们只能通过源代码的forms进行分发。

LAME开发者声明,由于他们的代码只是以源代码的forms发布,所以只能作为MP3编码器的教育描述

然后是LAME的二进制分布 ,正如你从域名中很容易看到的,它们来自阿根廷。 这可能是因为许多软件专利概念从未被立法的国家的MP3专利被认为是无效的

(我希望有一个详尽的国家名单,但情况发展得相当迅速,我甚至不知道我国的软专利划分在哪一边。这不是Mozilla想要应对的不确定性水平用)

再次,Mozilla可能已经find了解决专利问题的方法。

这并不完美。 (也就是说,它将linux留在泥潭里)

Mozilla研究总监Andreas Gal写道:
(但讨论围绕B2G ,真正阅读整篇文章形成意见)

“我们将支持解码系统中现有解码器支持的任何video/audio格式,包括H.264和MP3。 他说:“确实没有理由阻止我们的用户使用已经在设备上的系统解码器,所以我们不会过滤任何格式。” “我不认为这个错误显着改变了我们在开放video上的立场。 我们将继续推广和支持开放的编解码器,但是何时何地现有的编解码器已经在设备上安装并获得许可,我们将利用这些编解码器为用户提供最好的体验。“

所以,从我所看到的:

WindowsMac (使用,已获得操作系统,dll / dylibs许可)Mozilla可能最终支持MP3。

Linux上 …我想知道。 也许在选定的国家,你会最终安装一些未经许可的库,并逃避Audacity的方式。

隧道尽头有一盏灯,但我们只希望它不是快到的列车。

采取从维基百科,为MP3 :

通常被称为MP3的MPEG-1或MPEG-2audio层3(或III)是使用有损数据压缩forms的专利数字audio编码格式。

采取Ogg :

Ogg是由Xiph.Org基金会维护的免费开放标准容器格式。 Ogg格式的创build者声明,它不受软件专利的限制,旨在为高质量数字多媒体提供高效的stream媒体和处理。

Mozilla不想要专利问题,所以Ogg被选为更好的候选人。

有可能做出这样的实现,以便Firefox可以在<audio>标签中播放mp3,但是由于我提到的问题,这不会完成。

有时,政治和其他现实世界的问题,决定了实施什么,什么不实施。

对于Linux为MP3,MP4, H.264和AAC打开HTML5stream媒体,您必须将media.gstreamer.enabled设置为true about:config

Gstreamer在大多数(如果不是全部的话)Linux发行版中都存在!

我相信Mozilla的开发者决定不采用MP3支持,以避免从许多组织(Technicolor / Thomson Consumer Electronics,Fraunhofer Institute,Alcatel-Lucent,Sisvel和其他人)那里获得专利许可)。

现在可以在使用JavaScript的现代浏览器中对各种audio格式(包括MP3文件)进行解码。 http://audiocogs.org/codecs/mp3/

如果一个网站使用这种types的代码(或者一个Firefox插件),Firefox就可以播放MP3文件了。

如前所述,这是一个专利问题。 已经有大量的开源MP3解码器和编码器实现(其中有LAME和FFmpeg ),问题是运送二进制文件需要有人支付专利许可。 这是来自LAME维基百科的文章中的一段话,证实了这一点:

像所有的MP3编码器一样,LAME实现了一些由弗劳恩霍夫协会和其他实体拥有的专利所涵盖的技术。 LAME的开发者本身并不授权这些专利所描述的技术。 将识别这些专利的国家的LAME,其图书馆或源自LAME的程序的编译的二进制文件分发给专利可能是专利侵权。 LAME开发人员指出,由于他们的代码只是以源代码的forms发布,因此只能作为MP3编码器的教育描述,因此仅作为源代码发布时不会侵犯任何专利。 同时,他们build议用户在产品中包含编码器编码版本之前,获得LAME可能实施的任何相关技术的专利许可。

Mozilla显然不能支付任何下载的Firefox副本的专利。

两种可能的解决scheme是:

  • 使用已安装在系统中的外部编码解码器安装Firefox。此解决scheme是在Windows中运行时所采用的解决scheme,如其他答案中所述 。 在这种情况下,如果使用微软的MP3编解码器,那么微软就是支付专利许可证的那个人,这个成本是Windows许可证的一部分;
  • 等待MP3专利到期 。 最后一个可能会在2017年4月16日到期,大概是从现在起3年半的时间,但时间过得很平稳! Firefox 1.0在2004年11月9日推出 ,这已经是9年多了!

这就是为什么使用无需专利的编解码器,从用户angular度来看,更可取!

2017年更新:专利已经过期,开源项目现在开始拿起MP3支持, 例如Fedora 。 让我们希望Firefox尽快做到这一点!

我通过在转换时将Mono更改为Stereo来解决此问题。