【发布时间】:2011-03-15 13:11:06
【问题描述】:
我正在使用 FMLE 3.1 流式传输以 H.264 格式编码的实时视频,使用 FMS 3 和 Flash 播放器 10 + AS 3 连接到流。
当我连接到流时,只播放音频。我什至可以获取有关视频的元数据信息,但我只收到音频。
我已经尝试过一些类似的东西
“安装 iTunes 后,Flash 10 将无法播放 H.264 直播流”http://forums.adobe.com/thread/505620。我在与我完全不同的环境中对其进行了测试,但结果相同。
-
我尝试了一些格式播放方法,但这只是播放文件
ns.play("mp4:saple.f4v"); ns.play("mp4:sample"); 还可以在“http://www.flashcomguru.co.uk/forum/forum_posts.asp?TID=4649”阅读“你如何观看和录制直播 h.264”,但我什至一开始都没有播放流。
这是我正在使用的代码
import flash.media.Video;
var video:Video = new Video(720, 480);
var ncVideo = new NetConnection();
this.ncVideo.addEventListener(NetStatusEvent.NET_STATUS, onNetStatus);
this.ncVideo.connect("rtmp://localhost/livecast", "user");
var customClient:Object = new Object();
customClient.onMetaData = metaDataHandler;
function onNetStatus(e:NetStatusEvent) {
if (e.info.code == "NetConnection.Connect.Success")
createNetStream();
}
function createNetStream(){
var ns = new NetStream(this.ncVideo);
ns.client = customClient;
ns.addEventListener(NetStatusE vent.NET_STATUS, onNsStatus);
ns.play("livestream", -1);
this.video.attachNetStream(ns) ;
this.addChild(video);
}
function onNsStatus(e) {
trace("onNsStatus " + e.info.code);
}
function metaDataHandler(infoObject:Object):void {
trace(infoObject.width + " - " + infoObject.height);
}
另一个细节是,当我将视频录制到文件(例如“sample.f4v”)时,我将此视频放入 FMS,但当我连接到此流时,我收到“FileStructureInvalid”错误消息。
我从将扩展名更改为 .flv "http://www.adobe.com/devnet/flashplayer/articles/hd_video_flash_player_04.html" 到解决方案以展平文件 "http://www.flashcomguru.com/forum/forum_posts.asp?TID=4006" 但情况并非如此,因为我使用 FMS 流式传输录制的视频。
【问题讨论】:
标签: flash encoding streaming flash-media-server h.264