EasyHLS是EasyDarwin开源流媒体团队开发的一款HLS打包库,接口非常简单,只需要传入打包的文件名、切片存放的目录、单个切片时长以及切片数等参数,EasyHLS库就能轻松将H264+AAC的流媒体切片成m3u8+ts,提供给WEB服务器进行HLS流媒体发布;
-
EasyHLS_RTSP:通过RTSPClient将RTSP摄像机IPCamera的流媒体音视频数据流获取到本地,再进行ts的音视频封装打包,并不断更新m3u8列表,以提供HLS直播功能;
-
EasyHLS_SDK: 通过调用私有SDK回调的音视频数据,进行ts打包,提供HLS直播,示例中的SDK是我们EasyDarwin开源摄像机的配套库,EasyDarwin开源摄像机硬件可以在:https://easydarwin.taobao.com/购买,EasyCamera SDK及配套源码可在 http://www.easydarwin.org 或者 https://github.com/EasyDarwin/EasyCamera 获取到,您也可以用自己项目中用到的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型接收数据输入!具体过程参考上面的几个示例;
Author:Jason
QQ交流群:532837588
Copyright © EasyDarwin.org 2012-2017