繁体   English   中英

javascript中的H.264视频编码器

[英]H.264 video encoder in javascript

我期待完全用Javascript制作视频编码器。 想法是用户将能够指定现有视频(足够简单)或一系列图像,然后能够将其编码为H.264以进行发布。

我知道目前不支持编码内容,但我想知道这是否完全可以在Javascript(或Flash桥)中使用?

谢谢。

可以使用emscripten将视频编码器编译为javascript。 例如,这是google的VP9 libvpx库的emscripten编译版本:

https://bitbucket.org/desmaj/libvpx.js/overview

不幸的是,速度非常慢 - 大约是本机库速度的十分之一。 我相信这是因为有很多内存访问正在进行,而且在emscripten中速度非常慢(请参阅https://bugzilla.mozilla.org/show_bug.cgi?id=771106 )。 此外,编码通常依赖于GPU或SIMD并行性,这在javascript中目前不可用。

我认为视频编码目前在javascript中是不可行的。 最好的解决方案是W3C将视频编码/解码API添加到HTML5,可能是WebRTC / getUserMedia的一部分。

此外,请参阅此博客文章,其中描述了这种情况:

https://brendaneich.com/2013/05/today-i-saw-the-future/

视频编码本质上只是对来自一个文件的二进制数据的专门数学运算,以获得更多二进制数据以放入另一个文件中。 如果你有办法以你需要的方式获取数据(例如HTML 5 FileReader )和out(例如AJAX ),那么中间部分可能在JavaScript中的可能性。

话虽如此,大多数计算机和移动设备都包含专门用于矢量处理或视频压缩的专用硬件,这些允许平台专用软件相对于单独的基于CPU的处理相对快速地编码视频。 您可能会发现,您在JavaScript中可以做的很慢,不能成为一个非常好的替代方案,具体取决于您的JavaScript环境可用的功能。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM