[英]flash/AS3 netstream loading/buffering very slow, what am I missing?
我的自定义电影播放器使用以下代码播放视频。 剪辑开始播放需要很长时间,但是一旦播放完毕,您就可以直接跳到结尾。 我感觉在缓冲区和预加载的工作方式方面我缺少一些知识。 有人可以按正确的方向寄给我吗?
private function init(e:Event = null):void {
connection = new NetConnection();
connection.addEventListener(NetStatusEvent.NET_STATUS, doNetStatus);
connection.addEventListener(IOErrorEvent.IO_ERROR, doIOError);
connection.addEventListener(SecurityErrorEvent.SECURITY_ERROR, doSecurityError);
connection.connect(null);
stream = new NetStream(connection);
stream.addEventListener(AsyncErrorEvent.ASYNC_ERROR, doAsyncError);
stream.addEventListener(NetStatusEvent.NET_STATUS, doNetStatus);
stream.addEventListener(IOErrorEvent.IO_ERROR, doIOError);
stream.client = this;
video = new Video(1024, 576);
mc = new MovieClip();
mc.addChild(video);
stage.addChild(mc);
mc.addEventListener(MouseEvent.CLICK, onClick);
video.attachNetStream(stream);
stream.bufferTime = 5;
stream.receiveAudio(true);
stream.receiveVideo(true);
stream.play(SITEURL + vidID +".mp4");
}
您可以在此处查看正在播放的播放器: http : //joon.be/serve/ngjd_player.swf
显然视频没有在流式传输,因为我需要在它们上运行QT FastStart。 这解决了问题,netstream现在按预期运行。
您可以下载qt-faststart.exe
,然后在管理命令promt中运行:
qt-faststart.exe "source.mp4" "fixed.mp4"
大约15到30秒播放了10分钟的视频。 图片来源: https : //articulate.com/support/article/mp4-movie-doesnt-begin-playing-until-it-has-fully-downloaded
我还尝试了该免费的开源转换器HandBrake,并选中了Web Optimized
。 (花了所有10分钟进行转换)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.