hongyunL / EasyHLS

简单、可靠、高效、稳定的HLS直播切片SDK,能够将实时的H.264视频和AAC音频流实时切片成可供WEB、Android、iOS、微信等全平台客户端观看的HLS(m3u8+ts)直播流,搭配EasyRTSPClient、EasyAACEncoder等项目,可将大部分的安防摄像机对外进行HLS直播发布,同时也可灵活集成在各种流媒体服务中!

Home Page:http://www.easydarwin.org/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

EasyHLS

EasyHLS是EasyDarwin开源流媒体团队开发的一款HLS打包库,接口非常简单,只需要传入打包的文件名、切片存放的目录、单个切片时长以及切片数等参数,EasyHLS库就能轻松将H264+AAC的流媒体切片成m3u8+ts,提供给WEB服务器进行HLS流媒体发布;

调用示例

  • EasyHLS_RTSP:通过RTSPClient将RTSP摄像机IPCamera的流媒体音视频数据流获取到本地,再进行ts的音视频封装打包,并不断更新m3u8列表,以提供HLS直播功能;

  • EasyHLS_SDK: 通过调用私有SDK回调的音视频数据,进行ts打包,您也可以用自己项目中用到的SDK获取音视频数据进行打包;

    Windows编译方法,

      Visual Studio 2010 编译:./EasyHLS-master/win/EasyHLS_Demo.sln
    

    Linux编译方法,

      chmod +x ./Buildit
      ./Buildit
    

    调用提示:目前的调用示例程序,可以接收参数,具体参数的使用,请在调用时增加 -h 命令查阅。

  • 我们同时提供Windows、Linux、ARM、Android、IOS版本的libEasyHLS库:EasyHLS SDK商业使用需要经过授权才能永久使用,商业授权方案可以邮件发送至support@easydarwin.org或者通过电话Tel:13718530929 进行更深入的技术与合作咨询;

调用过程

特殊说明

/* 打包H264视频 */
EasyHLS_API int Easy_APICALL EasyHLS_VideoMux(Easy_HLS_Handle handle, unsigned int uiFrameType, unsigned char *data, int dataLength, unsigned long long pcr, unsigned long long pts, unsigned long long dts);
	

其中pcr、dts、pts等参数都是unsigned long long型,通常情况下为时间戳(ms毫秒)*90以后的结果,所以我们通常需要定义: unsigned long long pcr,dts,pts = timestamp*90; 千万不要定义unsigned int型接收数据输入!具体过程参考上面的几个示例;

获取更多信息

邮件:support@easydarwin.org

WEB:www.EasyDarwin.org

QQ交流群:532837588

Copyright © EasyDarwin.org 2012-2017

EasyDarwin

About

简单、可靠、高效、稳定的HLS直播切片SDK,能够将实时的H.264视频和AAC音频流实时切片成可供WEB、Android、iOS、微信等全平台客户端观看的HLS(m3u8+ts)直播流,搭配EasyRTSPClient、EasyAACEncoder等项目,可将大部分的安防摄像机对外进行HLS直播发布,同时也可灵活集成在各种流媒体服务中!

http://www.easydarwin.org/


Languages

Language:C++ 45.9%Language:C 36.6%Language:Makefile 17.0%Language:Shell 0.5%