RTM流与OSMF - AS3

时间:2011-11-03 19:04:15

标签: actionscript-3 osmf

OSMF的新手,并试图在我们的风头服务器上播放流式mp4。根据本教程http://www.adobe.com/devnet/flash/articles/video_osmf_streaming.html,您只需将RTMP链接传递给URLResource即可。我试过了,但它没有用。如果我传递本地URL,它可以正常播放。我使用的是OSMF 1.5 SWC,我的代码是

package 
{
    import flash.display.*;
    import flash.events.*;
    import org.osmf.media.*;

    public class Main extends Sprite
    {
        private var mps:MediaPlayerSprite;

        public function Main()
        {
            stage.align     = StageAlign.TOP_LEFT;
            stage.scaleMode = StageScaleMode.NO_SCALE;

            mps             = new MediaPlayerSprite();
            mps.width       = 640;
            mps.height      = 360;
            mps.resource    = new URLResource("rtmp://my.limelight.host.net/mp4:dyk_seatbelts_high.mp4");
            addChild(mps);
        }
    }
}

我没有任何错误只是一个空白的画布。有什么想法吗?

2 个答案:

答案 0 :(得分:2)

您应该为RTMP流媒体添加流媒体和视频网址。例如:

var resource:DynamicStreamingResource = new DynamicStreamingResource(videoStreamer);
resource.urlIncludesFMSApplicationInstance = true;
var vector:Vector.<DynamicStreamingItem> = new Vector.<DynamicStreamingItem>(1);
vector[0] = new DynamicStreamingItem(videoUrl, 1200);
resource.streamItems = vector;
element = new VideoElement(resource);

player.media = element;

您可以添加一些动态流媒体项目。具有不同比特率的视频文件。

videoStreamer 的示例:rtmp:// streamer_url

videoUrl 示例:mp4:path_to_video.mp4

答案 1 :(得分:2)

这只是一次更新。 DynamicStreamingItem不再可用。您只需将rtmp流URL添加到StreamingURLResource即可。扮演一个魅力。 (纠正我,如果我错了......我是OSMF的新手)

var videoElement:VideoElement = new VideoElement();
videoElement.resource = new StreamingURLResource("rtmp://cp140972.XXXXX",StreamType.LIVE,NaN,NaN,null,false);
player.media = videoElement;