Strobe Media Playback を含むアプリケーションを構築していますが、RTMP ストリームを再生できません。
ここで奇妙なのは、JWPlayer でストリームを再生できることです。従来の NetStream と NetConnection コードを使用すると、単純な Flash ビデオ プレーヤーでも再生できます。
http://www.longtailvideo.com/jw-player/wizard/
これはストリームです: rtmp://fl.world-television.com/streamstudio/vod/flv:endesa/20130422/video_full_es_v2.flv
OSMF パラメータを使用して特別な構成をセットアップする必要があるかどうかはわかりません。
これは、単純な Flash CS アプリケーションでビデオを再生した方法です。
package {
import flash.display.Sprite;
import flash.events.NetStatusEvent;
import flash.events.SecurityErrorEvent;
import flash.media.Video;
import flash.net.NetConnection;
import flash.net.NetStream;
import flash.events.Event;
public class VideoTest extends Sprite {
private var videoURL:String = "rtmp://fl.world-television.com/streamstudio/vod/flv:endesa/20130422/video_full_es_v2.flv";
private var connection:NetConnection;
private var stream:NetStream;
public function VideoTest()
{
initialize();
}
private function initialize():void
{
connection = new NetConnection();
connection.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
connection.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
connection.connect("rtmp://fl.world-television.com/streamstudio/vod/" );
}
private function netStatusHandler(event:NetStatusEvent):void {
trace("net status handler: " + event.info.code);
switch (event.info.code) {
case "NetConnection.Connect.Success":
connectStream();
break;
case "NetStream.Play.StreamNotFound":
trace("Stream not found: " + videoURL);
break;
}
}
private function securityErrorHandler(event:SecurityErrorEvent):void {
trace("securityErrorHandler: " + event);
}
private function connectStream():void
{
stream = new NetStream(connection);
stream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
var video:Video = new Video();
video.attachNetStream(stream);
stream.play("endesa/20130422/video_full_es_v2");
addChild(video);
}
}
}
ここでの問題は、OSMF が URL を正しくスライスしておらず、接続しようとしている (NetConnection) か、悪い文字列を再生しようとしている (NetStream) ことだと本当に思います。
編集:
URL の「/vod」を削除して解決しました。
ここで試すことができます: