这个小东西是两年前的一个凌晨写的,一直在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 白皮书 draft-pantos-http-live-streaming
HLS(Http live Streaming)流媒体协议。
android 系统上的streaming 关于HLS协议的介绍。介绍如何从网络段获取数据,如何自适应网速调节,如何解码渲染TS数据。
本工具是用Qt开发的,用来对mp4进行转码,并切割为hls文件,可一键操作。
HLS之http_live_streaming_开发必备,很详细的讲解了每种m3u8文件中的标签的语法及用法,对学习hls有不少帮助
HTTP Live Streaming for iPhone iPad(HLS流媒体服务器) - coolham的专栏 - 博客频道 - CSDN.NET
hls.js是一个JavaScript库,可实现HTTP Live Streaming客户端。它依靠HTML5视频和MediaSource扩展进行播放。它通过将MPEG-2传输流和AAC / MP3流转换为ISO BMFF(MP4)片段来工作。如果在浏览器中可用,则可以使用Web...
npm install -g mock-hls-server 全局安装。 mock-hls-server 将启动在“ ”上运行的服务器。 mock-hls-server 0.0.0.0 -p 8000 --event 将开始在端口8000上的所有接口上侦听。它将也将播放列表用作EVENT播放列表...
hls.js 是一个 JavaScript 库,实现了HTTP Live Streaming客户端,它依赖于HTML5 video标签和MediaSource Extensions。hls.js 是一个 JavaScript 库,实现了HTTP Live Streaming客户端,它依赖于HTML5 video标签和...
最新版本的ckplayer-x 直接支持了html5播放m3u8格式的视频,但是PC平台上使用h5播放器播放m3u8时,ckplayer-x内部需要加载一个hls.min.js。因为下载的ckplayer.zip安装包没有包含该文件,故从其他地方找到相关文件。
HLS VITIS opencv下载
内含视频服务器图文设置,以及html示例。浏览器上实现播放hls视频
使用HLS创建一个FIR滤波器,并对其源程序、HLS优化等进行分析。
HLS最新文档,HLS之http live streaming 开发必备,Apple的动态码率自适应技术。主要用于PC和Apple终端的音视频服务。包括一个m3u(8)的索引文件,TS媒体分片文件和key加密串文件。 常用的流媒体协议主要有 HTTP 渐进...
mnist-nnet-hls-zynq7020-fpga
videojs支持hls播放
HLS协议标准 HLS协议标准 HLS协议标准 HLS协议标准 HLS协议标准 HLS协议标准 HLS协议标准 HLS协议标准
一个 HTTP Live Streaming (HLS) python 库 Apple 提供了许多与 HLS 配合使用的工具,但这些工具只能在 OS X 上使用。该库旨在包括这些工具的功能以及更多功能,并在多个平台上提供这些功能。 支持 为了确保在这个...
C++实现的RGB与HLS颜色空间互换程序,在图像处理中会经常用到,算法简单,容易理解,可直接移植的需要的地方
This lab provides a basic introduction to high-level synthesis using the Vivado HLS tool flow. You will use Vivado HLS in GUI mode to create a project. You will simulate, synthesize, and implement the...