WebM 也适用于音频,还是仅适用于视频?

Posted

技术标签:

【中文标题】WebM 也适用于音频,还是仅适用于视频?【英文标题】:Is WebM for audio too, or just video? 【发布时间】:2016-10-15 16:24:53 【问题描述】:

我看到有人提到 WebM 用于音频,但阅读 WebM 项目site 和谷歌搜索convert mp3 to webm 让我相信 WebM 仅用于视频。我肯定看到很多 WebM 到 mp3 的转换实用程序,但不是相反。

我可以看到它肯定用于视频,但音频呢?如果它也用于音频文件,我如何生成 WebM 文件?

【问题讨论】:

【参考方案1】:

WebM is just a container format 可以同时包含视频和音频:

WebM 是一种数字多媒体容器文件格式,由 开源 WebM 项目。它包括 Matroska 的一个子集 多媒体容器格式。

只要音频被编码为 Vorbis 或 Opus,它就可以用于纯音频目的。只需指定正确的 mime 类型(同上):

纯音频文件应具有“audio/webm”的 mime

要生成这样的文件,必须使用支持 webm 容器及其支持的编解码器的合适软件。不幸的是,很难获得对它的支持。当您想使用 Opus 编解码器对音频进行编码时,通常会使用 OGG 容器,因为它具有更广泛的支持,这可能解释了 webm 对音频缺乏支持(在撰写本文时)。

更新:通往 WebM 的一种方法是使用 FFMpeg(请参阅 this answer),只需忽略 video options (-vn)。

【讨论】:

谢谢。以及如何生成 .webm 音频文件?对此有什么想法吗? @BrianFitzGerald 我添加了一段关于它的内容,但恐怕目前对 webm 的支持很少。 :-/ 通常你会使用 OGG 来处理音频,因为它们使用相同的 Vorbis 编码器,而且 OGG 有更好的支持。 正如 K3N 所说,将 .OGG 容器格式用于 Opus 编解码器音频更为常见。 谢谢大家。 .WebM 让我想到音频的一部分是 HowlerJs 库的创建者的建议,他推荐 .WebM 作为主要格式。我正在处理某些 mp3 文件的计时/同步问题,并尝试查看 WebM 是否出现相同的问题。 github.com/goldfire/howler.js/tree/2.0#format-recommendations

以上是关于WebM 也适用于音频,还是仅适用于视频?的主要内容,如果未能解决你的问题,请参考以下文章

适用于 Android 的低延迟音频 API?

SessionStatus object.setComplete() 是清除所有会话属性还是仅适用于使用它的控制器?

WebRTC connectionState 停留在“new” - 仅适用于 Safari,适用于 Chrome 和 FF

如何将 Firebase 数据检索到 TableView android 中?我应该使用 RecycleView 还是仅适用于列表?

Javascript 方法 pause() 仅适用于音频元素

您可以播放 iPod 库中的视频吗?