如何在Adobe Air/Flash中编码视频?



我有一个Adobe Air Flash, Action script 3.0应用程序。我需要将网络摄像头(或者更确切地说是一系列作为帧的位图)保存到视频文件中。视频文件需要被压缩,并且需要随着帧的移动而保存。

AIR/Flash不允许访问任何本地视频编码器,因此压缩视频是这个问题的难点。

剩下的,使用BitmapData.draw()函数抓取视频帧。然后可以将文本绘制到相同的bitmapdata中。

对于未压缩的视频,您可以这样做:http://www.joristimmerman.be/wordpress/2008/12/18/flvrecorder-record-to-flv-using-air/.

理论上,你可以在ActionScript中编写视频编码器。没有人这样做的事实告诉我,你会遇到问题(技术上或法律上的——对于某些编解码器)。在AIR中,更好的做法是使用NativeProcess API或本机扩展将编码卸载到本机代码中。这需要将AIR应用本身作为原生应用发布,并为你支持的每个平台创建一个单独的版本。(通过添加对本机代码的依赖,您将失去AIR的跨平台优势。)

在Flash (Web)中,典型的方法是将相机流发送到服务器并在那里进行处理。

最新更新