有没有办法在数据生成模式下将 |RtmpSampleAccess 命令写入 NetStream?

Is there a way to write a |RtmpSampleAccess command to a NetStream in data generation mode?

我正在从服务器流式传输数据并以数据生成模式将其传递到网络流中。我成功地包装了 H264 和 PCMU 以通过 NetStream 播放,但是我需要能够从它所在的视频显示器中捕获此输出并将其存储在图像中。使用 RTMP 服务器时,我会将其配置为发送 RtmpSampleAccess 命令,并允许 true,true 访问音频和视频。使用 RTMFP 时,我会做同样的事情,send() 来自对等方的 RtmpSampleAccess true,true 以允许访问。

我认为我需要为脚本数据对象发送一个 FLV 标记来表示 RtmpSampleAccess 命令,但是我找不到关于该标记需要什么格式的任何信息成为。我尝试使用 OSMF FLVTagScriptDataObject 并将对象设置为以下组合:

["|RtmpSampleAccess", true, true];
["|RtmpSampleAccess", [true, true]];

以及猜测对象参数命名的各种尝试(尽管查看了协议文档,但我不确定是否有)。

有人能帮我吗,我将不胜感激。

在将 Netstream 置于数据生成模式的位置添加第二个播放命令。第二个只是播放 "a blank",出于某种原因,这会覆盖安全错误。

ns.play(null);
ns.play(""); //works to avoid all security errors
ns.appendBytesAction(NetStreamAppendBytesAction.RESET_BEGIN);

然后绘制只需设置一个按钮到 运行 单击 draw_VideoFrame 功能,或尝试使用如下所示的实时绘图(使用 enterFrame):

vid_Obj.addEventListener(Event.ENTER_FRAME, draw_VideoFrame);

然后像这个例子一样创建一个函数。

function draw_VideoFrame (e:Event) : void
{
    vid_BMD.draw( vid_Obj ); //draw into a BitMapData variable
}