FLV直播流起播异常慢-阿里云开发者社区

开发者社区> 云服务技术课堂> 正文

FLV直播流起播异常慢

简介: 本文记一次阿里云FLV直播流起播慢的案例排查,分析过程中同步介绍了Aliplayer、第三方Flash播放器、FFplay播放器的使用和测试分析,同时结合通过直播控制台的实时监控服务去分析直播流的特性,希望可以对遇到此类问题时有更多的思路和启发。

案例现象-H5播放FLV起播慢

阿里云视频直播服务提供了RTMP/FLV/HLS 三种协议格式的播放地址。本案例遇到的问题是,同一路直播流,使用H5播放器播放RTMP和HLS流正常,而播放FLV流则起播速度非常慢,超过2分钟才能播放出画面。

使用Flash播放器正常

由于RTMP和HLS是正常的,因此可以排除是GOP引起的起播慢。为了对比测试,用Flash去测试播放FLV流,发现速度非常快。这里推荐两个Flash播放器
(1)阿里云Web播放器Aliplayer
image.png
(2)第三方Flash播放器,示例HTML代码以及播放效果如下

<object>

<embed src="http://www.cutv.com/demo/live_test.swf" width="100%" height="100%"></embed>

</object>

image.png

使用FFplay播放器异常

为了增加可比性以及分析下直播流音视频格式,因此用FFMPEG的播放工具FFplay去播放测试,发现同样是播放FLV流速度很慢。播放RTMP原始流查看Meta信息发现该路直播流只有视频信息,无音频信息,具体结果如下图所示
image.png

直播实时监控分析

直播服务控制台提供了实时监控,参考阿里云官网帮助文档查看直播推流实时监控,可以看到直播流的音频头和视频头信息。其中AAC是音频头,AVC是视频头,如果推流端没有推音频和音频头,那么这里的AAC监控项数据就会是0,本案例就是这种情况。
image.png
image.png

结论和解决方案

通过以上测试结果和相关排查可以确认该问题跟不同播放器解码特性有关,结合相关资料进一步分析确认,大部分播放器器默认会等FLV流的音频,本案例中由于FLV流没有音频,导致播放器一直在"傻等",因此起播非常慢。

目前阿里云直播支持纯音频和纯视频直播,可以通过在播放URL后加onlyvideo=1参数来实现纯视频直播,加onlyaudio=1参数来实现纯音频直播。增加onlyvideo=1以后,阿里云直播服务在FLV封装格式中会明确声明没有音频,可以避免播放"傻等"。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:

云服务技术课堂,各类技术课程、最佳实践输出,来好好听课吧!

官方博客