如何使用media-server搭建DASH服务
Posted Kevin-Zang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用media-server搭建DASH服务相关的知识,希望对你有一定的参考价值。
media-server是老陈开源的流媒体服务,里面涉及很多流媒体协议,如果想了解流媒体协议的实现细节,可以走读相关代码,还是相对比较全的,这里讲一下如何使用media-server搭建DASH直播服务
1.media-server编译
media-server的编译可以参考官方的readme
https://github.com/ireader/media-server/blob/master/compile.cn.md
2.搭建DASH服务
media-server提供很多demo供读者使用,在media-server/test下面的test.cpp默认是没有提供DASH服务的,需要自己手动进行添加。
2.1 增加DASH直播流调用接口
在main函数中增加DASH直播流调用接口,代码为
RE_RUN_REG("dash_dynamic_test", argc, argv);
如下图所示:
2.2 运行demo
修改代码之后,重新编译test,运行demo,命令如下:
./test -c dash_dynamic_test 100.100.108.83 8088 source.flv 768 320
其中,100.100.108.83和8088为DASH服务的监听地址和端口
source.flv为读取的录像文件,DASH直播流的音视频数据从这个文件中读取,注:demo的实现是读取flv录像文件,如果需要其他格式,需要自己修改代码
768 和 320为视频的宽高信息
注:如果遇到FLV中含有元数据信息,需要修改demo的代码,因为demo中碰到codecid不是音视频的时候会assert,需要将dash_live_onflv中default分支进行忽略处理
3.测试
可以使用VLC进行拉流,流名自己定,url格式例如:
http://100.100.108.83:8088/live/livestream.mpd
可以通过抓包和走读代码进一步理解DASH的流程
以上是关于如何使用media-server搭建DASH服务的主要内容,如果未能解决你的问题,请参考以下文章