`
david_je
  • 浏览: 373107 次
  • 性别: 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正在动态的在改变。

分享到:
评论

相关推荐

    HLS(Http live streaming)

    HLS http live streaming 白皮书 draft-pantos-http-live-streaming

    android 流媒体(streaming)之HLS介绍

    HLS(HTTP Live Streaming)是苹果公司开发的一种流媒体传输协议,主要用于PC和Apple终端的音视频服务。HLS基于HTTP协议,支持直播和点播服务,它通过将音视频内容分割成一系列小文件(TS媒体分片文件),并以m3u8...

    HLS之http_live_streaming_开发必备

    HTTP Live Streaming (HLS)是一种基于HTTP的协议,用于通过互联网传输实时的音频和视频流。这个技术由Apple公司开发并广泛应用于iOS、macOS和其他Apple设备上,同时也被其他平台和设备支持。HLS的核心在于将多媒体流...

    HLS(Http live Streaming)流媒体协议

    ### HLS(Http live Streaming)流媒体协议 #### 一、简介 HLS(Http Live Streaming)是一种由苹果公司提出的基于HTTP的流媒体网络传输协议,主要用于传输无界限的多媒体数据流。该协议定义了文件的数据格式以及...

    HLS.js加密

    HLS.js是一个强大的开源JavaScript库,专门用于在现代Web浏览器中实现HTTP Live Streaming(HLS)技术。HLS是一种基于HTTP的流媒体协议,由Apple公司提出,它允许将视频内容分割成一系列小的TS(Transport Stream)...

    HLS-SLICE-TOOL

    本工具是用Qt开发的,用来对mp4进行转码,并切割为hls文件,可一键操作。

    hls拉流实例1,hls推流,C#

    在IT行业中,HLS(HTTP Live Streaming)是一种广泛使用的流媒体协议,由Apple公司开发,主要用于将音频和视频内容分发到互联网上。本实例主要关注C#环境下如何实现HLS拉流和推流,以及如何创建一个简单的HLS拉流...

    海康摄像头HLS视频播放示例

    HLS(HTTP Live Streaming)是一种基于HTTP的流媒体网络传输协议,广泛用于实时视频流的分发,尤其适用于互联网上的移动设备。本示例主要探讨如何通过HLS协议在浏览器上实现海康摄像头视频的播放。 首先,我们来...

    hls拉流实例1,hls推流,C#源码.rar

    HLS(HTTP Live Streaming)是一种基于HTTP的流媒体网络传输协议,由Apple公司开发,主要用于实时视频流的分发。在本实例中,我们关注的是HLS的拉流和推流技术,以及C#语言实现的相关源码。下面将详细介绍HLS拉流、...

    HLS 压力测试 解释

    #### 一、HLS (HTTP Live Streaming) 概念与原理 HTTP Live Streaming(HLS)是一种由苹果公司开发的基于HTTP的流媒体传输协议,主要用于实时视频流或预录制视频的分发。HLS通过将视频内容分割成一系列短小的文件...

    HLS协议官方文档

    HLS协议是HTTP Live Streaming的缩写,是由Apple公司开发的一种用于在Internet上进行流媒体传输的协议。根据提供的文件内容,这份文档是关于HLS协议的第七版官方文档。HLS的主要作用是将无边界(不受限制)的多媒体...

    视频监控RTSP转RTMP转HLS解决方案

    视频监控RTSP转RTMP转HLS解决方案是针对这种情况设计的一种技术方法,主要用于实现从RTSP(Real Time Streaming Protocol)协议到RTMP(Real-Time Messaging Protocol)再到HLS(HTTP Live Streaming)的转换,以...

    videojs支持hls播放

    在现代网络视频流媒体领域,HLS(HTTP Live Streaming)是一种广泛采用的传输协议,尤其适合于低延迟、适应性强的流媒体需求。Video.js 是一个强大的开源JavaScript和CSS库,用于在网页上播放视频,它提供了丰富的...

    PC浏览器中的HLS播放器

    标题中的“PC浏览器中的HLS播放器”指的是在个人计算机上的网络浏览器中用于播放HLS(HTTP Live Streaming)流媒体内容的技术。HLS是由Apple公司开发的一种适应性比特率流媒体协议,它允许用户通过HTTP协议传输视频...

    HTTP Live Streaming for iPhone iPad(HLS流媒体服务器)

    HTTP Live Streaming for iPhone iPad(HLS流媒体服务器) - coolham的专栏 - 博客频道 - CSDN.NET

    hls.js-master_hls.js_hlsjs_mediasource_mp3播放器_

    hls.js是一个JavaScript库,可实现HTTP Live Streaming客户端。它依靠HTML5视频和MediaSource扩展进行播放。它通过将MPEG-2传输流和AAC / MP3流转换为ISO BMFF(MP4)片段来工作。如果在浏览器中可用,则可以使用Web...

    RGB_To_HLS.rar_HLS_HLS色彩变换_RGB to H_rgb to hls_rgb转换hls公式

    RGB到HLS(Hue, Lightness, Saturation)色彩空间的转换是计算机图形学中的一个常见任务,尤其在图像处理和色彩分析中扮演着重要角色。RGB色彩模型是我们日常生活中最直观的颜色表示方式,它基于红(Red)、绿...

    前端项目-hls.js.zip

    HLS(HTTP Live Streaming)是由Apple公司提出的一种适应性流媒体传输协议,它允许内容提供商将视频流分割成一系列小的HTTP可下载文件,从而实现根据网络状况动态调整视频质量的功能。本文将深入探讨一个名为"HLS.js...

    Flash 播放器的插件支持HLS播放

    标题中的“Flash 播放器的插件支持HLS播放”揭示了本文将要讨论的核心技术:Flash Player与HLS(HTTP Live Streaming)的结合。Flash Player是Adobe公司开发的一种广泛应用于网络视频播放的软件,它曾经是互联网...

Global site tag (gtag.js) - Google Analytics