优化大尺寸高清.flv视频的加载

时间:2011-04-02 16:27:39

标签: flash actionscript-3 video

我有这样的问题。

有一个简单的html页面,其中包含介绍视频(.mp4文件)。 视频帧尺寸为1280 * 1024(我需要的视频最大可达1280像素。)

使用此类质量设置,视频文件大小为:

.mp4 = 42 mb(HD 1690 * 1080)

.flv = 32 mb(1280 * 1024,25 fps)

对于视频播放,我使用了as3示例脚本(因为必须只有播放\暂停,重放,使用自定义样式的静音按钮),就像那样

    var strSource:String = "video.flv";

    // create a new net connection, add event listener and connect
    // to null because we don't have a media server
    ncConnection = new NetConnection();
    ncConnection.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
    ncConnection.connect(null);

    // create a new netstream with the net connection, add event
    // listener, set client to this for handling meta data and
    // set the buffer time to the value from the constant
    nsStream = new NetStream(ncConnection);
    nsStream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
    nsStream.client = this;
    nsStream.bufferTime = BUFFER_TIME;

    nsStream.play(strSource);

问题在于我找不到顺畅播放的方法。它以非常烦人的方式加载,视频在每几秒播放后中断。

据我所知,主要问题是大视频文件大小和高清质量,但可能有一些方法可以大大减少.flv大小或以更友好的方式处理播放?

对不起有些杂乱的问题,但我不经常处理flash,所以请求你的聪明建议)谢谢

3 个答案:

答案 0 :(得分:1)

当您将视频编码为FLV时,请确保将文件的比特率设置为合理的值。对于高质量,您将需要500-700 kbps之间的比特率。这很重要,因为这是缓冲/流媒体等的真正因素。如果你有一个非常高的比特率文件,那么设置缓冲时间将什么都不做,除了告诉VM在几秒钟内需要加载多少视频恢复自动播放,比特率越高,这将是更高/更多的数据量。我不是视频编码的专家,但这就是我的理解。使用Flash Media Encoder重新编码视频源并手动将比特率设置为合理的值:介于300-700 kbps之间。是的,这会影响质量,但会根据您的设置而有所不同。

答案 1 :(得分:1)

如果您想尝试显示高清质量的视频且尺寸较大,那么您应该使用.mp4 H264。 FLV在显示高清质量视频方面做得不好。

答案 2 :(得分:1)

优化视频文件是关于视频文件大小与视频质量的关系。对于网络播放,用户不会使用大尺寸文件。但你必须确保视频质量保持不变。

对于这个问题,mp4格式应该是不错的选择。您必须检查文件是否可以更好地进行优化。 flv视频文件的文件大小甚至更大...如果你的视频口吃,你必须确保你有一个可靠的托管服务提供商。 您还可以检查视频文件的自动加载选项,或者将文件分成几个较小的文件...