AS3 Media Encoder Libraryとは

AS3 Media Encoder Libraryは、動画エンコード用のFlashコンポーネント(.swc)で、リアルタイムにエンコードしながら動画ファイルを作成できます。
AS3 Media Encoder Library is a Flash component (.swc) for media encoding that makes a movie file in real-time from video capture.

 

Adobe Flash ActionScript 3.0において、AVI動画ファイルまたはFLV動画ファイルを作成するために開発されました。
Workerクラスによるマルチスレッドを利用しているため、30fpsのビデオキャプチャでも遅延のない録画が可能です(Adobe Flash Player 11.4 以上必須)。

 

AVIコンテナ<Motion JPEG (MJPEG)フォーマット>、または、FLVコンテナ<ScreenVideoフォーマット>に対応しています。

 

デモ:Demo カメラ映像のキャプチャー動画を作成

AS3 Media Encoder Libraryを利用した、Flashプログラムのサンプルを紹介します。

 

このサンプルでは、カメラの映像をリアルタイムエンコーディングにより動画ファイルとして保存します。
現在のところ、まだ録音機能がないため、無音声の動画が作成されます。

 

プログラムのソースは、下のリンクからダウンロードできます。
ソースには、FlashDevelopで作成したプロジェクトがそのまま入っています。

 

MEBKM%3ATITLE%3AAS3%20Media%20Encoder%20Library%3BURL%3Ahttp%5C%3A%2F%2Fwww.nibiirosoft.com%2FProducts%2FAS3-Media-Encoder-Library.html%3B%3B

 

使い方:Usage (ActionScript 3.0 Code)

/* 下のリンクからAS3MediaEncoderLibrary.swcをダウンロードし、ライブラリに追加すると、
 * 以下のクラスがインポート可能になります。 */
import com.nibiirosoft.media.encoders.AVIEncoder;
import com.nibiirosoft.media.encoders.events.EncoderEvent;

/* AVIエンコーディングにはAVIEncoderクラスを、
 * FLVエンコーディングにはFLVEncoderクラスを利用して下さい。
 * どちらのクラスも、使い方は同じです。 */
var encoder:AVIEncoder = new AVIEncoder();

var camera:Camera = Camera.getCamera();
var bitmapData:BitmapData = new BitmapData(width, height, false);

// エンコード開始時と、フレームの変換処理時にイベントが発生するので、イベントリスナーに登録します。
encoder.addEventListener(EncoderEvent.START, onStartEncoder);
encoder.addEventListener(EncoderEvent.PROGRESS, onProgressEncoder);

/* エンコードを開始します。
 * 引数の役割は名前から類推してください。
 * OTFMode: Flash Player で再生させる場合は必ず false を指定して下さい。
 * buffer_size: 全フレームを合わせた最大バッファサイズです。
 * buffer_length: バッファする最大フレーム数です。 */
encoder.start(width, height, framerate, duration, quality, OTFMode, buffer_size, buffer_length);

// 任意の方法で、BitmapData型の画像データを用意します。
camera.drawToBitmapData(bitmapData);

/* 用意した画像データをエンコーダーに追加します。
 * encoder.addByteArray(byteArray:ByteArray)メソッドでもOKです。 */
encoder.addBitmapData(bitmapData); // 1フレーム目
encoder.addBitmapData(bitmapData); // 2フレーム目
encoder.addBitmapData(bitmapData); // 3フレーム目
encoder.addBitmapData(bitmapData); // 4フレーム目
encoder.addBitmapData(bitmapData); // 5フレーム目・・・

// エンコードを終了させます。
encoder.addEventListener(EncoderEvent.COMPLETE, onEncoderComplete);
encoder.finish();

// 任意の処理を行ってください。
private function onStartEncoder(e:EncoderEvent):void 
{

}

// 任意の処理を行ってください。
private function onProgressEncoder(e:EncoderEvent):void 
{

}

// 任意の処理を行ってください。
private function onEncoderComplete(e:EncoderEvent):void 
{
	var fileref:FileReference = new FileReference();

	// e.dataにByteArray型でAVIファイルのデータが入っています。
	fileref.save(e.data, "moviefile.avi");
}

ライセンス:License

  • 商用利用/複製/改変/再配布は認めません。
  • 制作者は如何なる理由においても、本プログラムを使用して生じた被害に対し責任を負いません。
     

ダウンロード:Download

2013/08/20 ver1.1 AS3MediaEncoderLibrary_v1.1.swc (29.0KB) デモのプロジェクト (1.09MB) developed by nibiironokane

  • AVIヘッダの記入漏れを修正
  • AVIフッダにゴミ情報が入っていたので削除
     

2013/06/01 ver1.0 AS3MediaEncoderLibrary_v1.0.swc (29.1KB) デモのプロジェクト (1.09MB) developed by nibiironokane

  • 初期Verです。
     

コメント:Comment

コメントはありません。 コメント/Products/AS3-Media-Encoder-Library?

お名前: URL B I U SIZE Black Maroon Green Olive Navy Purple Teal Gray Silver Red Lime Yellow Blue Fuchsia Aqua White