使用javascript从视频流中提取音频

Posted

技术标签:

【中文标题】使用javascript从视频流中提取音频【英文标题】:Extract audio from video stream using javascript 【发布时间】:2012-06-26 07:26:42 【问题描述】:

我想使用 javascript 从视频文件中提取音频,是否可以制作 mp3 文件或任何格式,以便我可以在 html5 的音频标签中播放它?如果是的话怎么办?或者我应该使用什么 API?

【问题讨论】:

【参考方案1】:

JavaScript 是在客户端运行的脚本,通常用于处理用户交互。长时间的计算会导致浏览器暂停脚本,并可能使页面无响应。此外,它不适合视频编码/解码。

您应该使用 Java 小程序进行视频处理/音频提取。这样,处理仍然被卸载到客户端。服务器上的处理在内存和处理器周期方面是昂贵的。不推荐。

【讨论】:

那你知道我应该用什么java小程序吗?或者你推荐什么方法? 这取决于您尝试处理的视频类型(编解码器/比特率/格式)。有 JMF(Java Media Framework) 可以帮助你。【参考方案2】:

Sooo,这不是最佳解决方案。这实际上有点可怕,因为您将强迫用户在没有看到它的情况下下载视频。您可以做的是将文件作为 HTML5 视频播放,然后隐藏视频显示然后显示控件,就好像它只是音频一样。这有点像播放视频,但不是一边听音频一边看视频。

结帐 jPlayer:http://jplayer.org/

它可以让您基本上在任何浏览器上播放 MP4,方法是告诉它使用 flash,然后在需要时回退到 HTML5。然后你可以使用 CSS/HTML/Images 来设置你想要的样式。

您可能想先尝试一个小测试,看看display:none; css 样式是否也会阻止视频的音频播放。如果是这种情况,您也可以使用height:0;;

再一次,这是次优的,因为您正在占用用户的带宽。还有其他解决方案可能会在流媒体环境中为您去除音频。

【讨论】:

以上是关于使用javascript从视频流中提取音频的主要内容,如果未能解决你的问题,请参考以下文章

FFmpeg从视频中提取音频

使用ffmpeg从视频文件中提取音频文件视频抽帧和切割视频

从python中的视频中提取音频

当我使用 ffmpeg 从视频中提取音频时,出现错误

从视频文件中提取音频并在 OpenAL 中播放

怎么从视频里提取音乐