如何使用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服务的主要内容,如果未能解决你的问题,请参考以下文章

使用dokcer搭建linux dash 轻量级监控工具

如何使用 apache 设置 mpeg dash 服务器?

抖音圈圈乐 系统搭建H5微信小游戏圈圈乐系统介绍

如何使用 MPEG-DASH 流式传输实时视频? [关闭]

Bento4 MP4Dash 出现音频失败?

MPEG-DASH如何实现授权?