检测用户的Flash视频下载速度

时间:2010-09-17 19:31:17

标签: flash actionscript download

我们有自定义Flash视频播放器。它使用托管的FMS $ 50 /月帐户进行流式传输。

有些用户抱怨视频根本不播放。

使用其中一个用户,我们让他们进入速度测试网站,并确定他们的连接速度很慢,我们假设是导致他们无法观看视频。

因此,在我们尝试加载视频之前,我们要确定它们的连接速度。然后,如果他们有足够好的连接,我们将播放视频,如果没有,那么我们将做一些其他事情,比如播放质量较低的视频或只是显示消息而不播放视频。

那么,在这种情况下确定用户连接速度的最佳方法是什么?我们应该使用动作吗?我们应该进行流式测试还是渐进式测试?我们应该使用ajax并将结果发送到flash吗?

3 个答案:

答案 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