`
david_je
  • 浏览: 368083 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

HLS streaming mock tool

阅读更多

     

      这个小东西是两年前的一个凌晨写的,一直在github上静静的躺着,今天简单更新了一下。它主要是模拟HLS发流用的。

      由于做的是移动端的播放器的开发,平时开发和测试需要很多流,这里主要是HLS的流。什么是HLS,知道的人不用解释,不知道的人Google一下就知道了。本来我们的环境使用的时Envivio来做流的,但是有两个问题一直烦着我们。一个是流的需求比较大,但是Envivio是和其他产品公用的,而且perfomance是有限的。另外一个问题是,给客户做演示的时候,不可能带着一个硬件的编码器,所以mock的就应运而生了。

      基于HLS的特点,他是实时更新playlist和segment的,如果保存所有的segement,仅仅去动态改变playlist对于客户端来时,是透明的。只要保证playlist可以一直动态更新,播放器就可以持续不断的去播放这个流了。

     说了这么多废话,这个小工具是这么工作的呢?我是用Python写的(https://github.com/davidyang013/HLS),因为Python对字符串的处理特别方便,而且正好找到了一个m3u8的库,我做了一个简单的改造就是使用了。这里的record.py是为了从envivio录制segment的信息,send.py是让playlist动态刷新。

 

     如果安装了Python2.7,可以把代码下载下来玩玩。打开send.py,修改一下最后一行,把路径指向到testData的目录就可以,然后执行:

     

$python send.py

 

如果想看看playlist的变化的话,使用一下watch命令:

    

watch "cat 01.m3u8"

 

 就能看到playlist正在动态的在改变。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics