0

リクエスト

Flash/AS3 では、mp4 に埋め込まれた CEA-608 クローズド キャプションをどのようにデコードまたはキャプチャしますか? キャプション データのヒントすら得られないようですし、正しい方向を示すドキュメントも見つかりません。ドキュメント、例、またはアイデアは非常に役立ちます。

仕様

OSMF を使用して AS3 でビデオ プレーヤーを構築しています。m3u8 ビデオの mp4 チャンクに埋め込まれた CEA-608 クローズド キャプションへのアクセスに関する /any/ ドキュメントが見つからないようです。

OSMF CaptioningPlugin は外部の XML ファイルを必要とするため、それはできません。埋め込みキャプション トラックの統合の詳細を探しています。

onTextDataonMetaDataonCaptionDataonTextRRハンドラーとリスナーをOSMFにアタッチしようとしましたがNetstream、運がまったくありませんでした(たとえば、これらのイベントまたはハンドラーのいずれも発火したり、何かを返したりすることはありません)。

private function onTraitAdd ($e:MediaElementEvent) : void { var mediaElement: MediaElement = ($e.target as MediaElement);

    switch ($e.traitType) {
        case MediaTraitType.LOAD:
            _netStreamLoadTrait = mediaElement.getTrait(MediaTraitType.LOAD) as NetStreamLoadTrait;
            _netStreamLoadTrait.addEventListener(LoadEvent.LOAD_STATE_CHANGE, onNetStreamLoaded);
            break;
    }
}

private function onNetStreamLoaded ($e:LoadEvent) : void {
    var netStream:NetStream = _netStreamLoadTrait.netStream;
    netStream.client.addHandler("onTextData", onTextData);
    netStream.client.addHandler("onCuePoint", onTextData);
    netStream.client.addHandler("onMetaData", onTextData);
    netStream.client.addHandler("onCaptionData", onTextData);
    netStream.client.addHandler("onTextRR", onTextData);
    netStream.client.addHandler("onCaptionInfo", onTextData);


    netStream.addEventListener("onTextData", onTextData);
    netStream.addEventListener("onCuePoint", onTextData);
    netStream.addEventListener("onMetaData", onTextData);
    netStream.addEventListener("onCaptionData", onTextData);
    netStream.addEventListener("onTextRR", onTextData);
    netStream.addEventListener("onCaptionInfo", onTextData);

    netStream.addEventListener(NetStatusEvent.NET_STATUS, onNetStreamStatus);
    netStream.addEventListener(NetDataEvent.MEDIA_TYPE_DATA, onStreamData);

}

問題が私の OSMF 実装にあるのか (間違った NetStream をリッスンしているのかもしれません)、それともビデオからこのデータを取得する方法がないことが問題なのかはわかりません。

サンプル ファイル:

http://stream.flowplayer.org/big_buck_bunny_with_captions.mp4 http://now.video.nfl.com/i/captiontest/closedcaptiontest_,350k,550k,.mp4.csmil/master.m3u8 (このサンプル ファイルはより複雑です)ただし、HLS プラグインが必要なため)

他の

  1. 使ってみOSMFCCDecoder.swcました(見つけるのがかなり難しかったので、ここにアップロードしました)。ドキュメントはほとんどなく、期待される結果に関する情報もありません。

  2. またJWPlayer、キャプションの処理方法を確認するために逆コンパイルし、 byteArray refを解析します。

  3. JWPlayer でキャプションを再生する手順

jwplayer("container_wrapper")
    .setup({
        file: "http://now.video.nfl.com/i/captiontest/closedcaptiontest_,350k,550k,.mp4.csmil/master.m3u8"
    });
4

1 に答える 1