我们有自定义Flash视频播放器。它使用托管的FMS $ 50 /月帐户进行流式传输。
有些用户抱怨视频根本不播放。
使用其中一个用户,我们让他们进入速度测试网站,并确定他们的连接速度很慢,我们假设是导致他们无法观看视频。
因此,在我们尝试加载视频之前,我们要确定它们的连接速度。然后,如果他们有足够好的连接,我们将播放视频,如果没有,那么我们将做一些其他事情,比如播放质量较低的视频或只是显示消息而不播放视频。
那么,在这种情况下确定用户连接速度的最佳方法是什么?我们应该使用动作吗?我们应该进行流式测试还是渐进式测试?我们应该使用ajax并将结果发送到flash吗?
答案 0 :(得分:1)
如果您拥有托管的FMS帐户,他们通常会提供内置动态流媒体的预制视频播放器。
如果您使用OSMF(开源媒体框架),您可以使用提供动态流的Strobe Media Player,您只需要创建包含所有流的文件: http://forums.adobe.com/thread/679664?tstart=0
或者,如果您正在构建自己的OSMF播放器,则可以编写一些代码:
var RTMP_URL = "your-rtmp-link";
var resource:DynamicStreamingResource = new DynamicStreamingResource(RTMP_URL);
var vector:Vector.<DynamicStreamingItem > = new Vector.<DynamicStreamingItem > (2);
vector[0] = new DynamicStreamingItem("mp4:my-high-link.f4v",1500);
vector[1] = new DynamicStreamingItem("mp4:my-low-link.f4v",400);**
resource.streamItems = vector;
videoElement = new VideoElement(resource);
player = new MediaPlayer;
player.autoPlay = true;
container = new MediaContainer;
addChild(container);
player.media = videoElement;
container.addMediaElement(videoElement);
player.play();
或者,如果你用常规动作(无框架)编写你的播放器,那么Influxis有一个教程: http://labs.influxis.com/?p=91
答案 1 :(得分:0)
答案 2 :(得分:0)
您可以使用SMIL文件定义不同版本的视频,具有不同的比特率,然后由FMS服务器和FLVPlayback组件为您提供带宽检测,我相信:
http://help.adobe.com/en_US/as3/components/WS5b3ccc516d4fbf351e63e3d118a9c65b32-7f13.html