【发布时间】:2011-10-21 16:03:35
【问题描述】:
我有一个 Adobe Air Flash,Action script 3.0 应用程序。我需要将网络摄像头(或者更确切地说是一系列位图作为帧)保存到视频文件中。视频文件需要压缩,需要按帧保存。
【问题讨论】:
标签: flash actionscript-3 air webcam
我有一个 Adobe Air Flash,Action script 3.0 应用程序。我需要将网络摄像头(或者更确切地说是一系列位图作为帧)保存到视频文件中。视频文件需要压缩,需要按帧保存。
【问题讨论】:
标签: flash actionscript-3 air webcam
AIR/Flash 不允许您访问任何本地视频编码器,因此压缩视频是这个问题的难点。
剩下的,使用 BitmapData.draw() 函数抓取视频帧。然后,您可以将文本绘制到相同的位图数据中。
对于未压缩的视频,您可以执行以下操作:http://www.joristimmerman.be/wordpress/2008/12/18/flvrecorder-record-to-flv-using-air/。
理论上,您可以在 ActionScript 中编写视频编码器。没有人这样做的事实告诉我,您会遇到问题(对于某些编解码器而言,技术或法律)。在 AIR 中,更好的做法是使用 NativeProcess API 或本机扩展将编码卸载到本机代码。这需要将 AIR 应用程序本身作为本机应用程序发布,并为您支持的每个平台创建一个单独的版本。 (通过添加对本机代码的依赖,您将失去 AIR 的跨平台优势。)
在 Flash(在 Web 上)中,执行此操作的典型方法是将相机流发送到服务器并在那里进行处理。
【讨论】: