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);
}
}
}
我没有任何错误只是一个空白的画布。有什么想法吗?
答案 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;