我要找一个完全在Javascript的视频编码器。这个想法是,用户将能够指定现有的视频(足够简单)或一系列图像,然后能够将其编码为H.264以供发布。
我知道现在还不支持对内容进行编码,但我想知道这是否完全可以在Javascript (或Flash桥)中实现?
谢谢。
发布于 2014-04-24 09:33:01
可以使用emscripten将视频编码器编译为javascript。例如,下面是谷歌的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来说,最好的解决方案是向HTML5添加一个视频编码/解码API,也许可以作为WebRTC/getUserMedia的一部分。
另请参阅这篇博客文章,其中描述了这种情况:
发布于 2013-08-08 07:00:48
视频编码本质上只是对一个文件中的二进制数据进行专门的数学运算,以便将更多的二进制数据放入另一个文件中。如果你有一种方法以你需要的方式获取数据(例如HTML 5 FileReader)和输出(例如AJAX),那么位于中间的部分在JavaScript中肯定是在可能的范围内。
话虽如此,大多数计算机和移动设备都包含专门用于矢量处理或视频压缩的专用硬件,与基于CPU的处理相比,这些硬件允许特定于平台的软件对视频进行相对较快的编码。您可能会发现,根据您的JavaScript环境提供的功能,您可以在JavaScript中执行的操作非常慢,因此不是一个很好的替代方案。
https://stackoverflow.com/questions/17025600
复制相似问题