我正在使用FMLE 3.1将使用H.264格式编码的实时视频流式传输到FMS 3和Flash Player 10 + AS 3以连接到流。
当我连接到流时,只播放音频。我甚至可以获取有关视频的元数据信息,但我只是收到了音频。
我已经尝试了一些像
这样的东西“在iTunes安装”http://forums.adobe.com/thread/505620后,Flash 10将无法播放实时流H.264。我在一个完全不同于我的环境中测试它,但结果相同。
我尝试了一些格式来播放方法,但这只是为了播放文件
ns.play("mp4:saple.f4v");
ns.play("mp4:sample");
另请阅读“如何在”http://www.flashcomguru.co.uk/forum/forum_posts.asp?TID=4649“观看并录制现场h.264”,但我甚至无法在第一时间播放该流。
< / LI> 醇>这是我正在使用的代码
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来传输录制的视频
答案 0 :(得分:0)
SE_0208回答:“你可以升级到3.0.5并尝试你的场景 - 在点版本中修复了很多H.264错误 - 它的免费更新”,这就是解决方案。
在发行说明中没有与我的上下文相关的特定内容,但也许这是一组事情。
1628134:此版本不支持在服务器上录制H.264内容。
1656058:流式传输损坏的文件(尤其是包含H.264 / AAC内容的文件)时无法保证服务器行为,并且可能导致严重的性能下降,过多的内存使用以及可能的服务器进程崩溃等问题。在部署之前,请使用FLVCheck工具确保内容完整性。
1630621:如果缓冲区设置得太短,帧速率非常低H264视频可能需要很长时间才能启动。