技能要求:
经验要求:
经验不限
工作描述:
项目编号:【138393】
直播部分
直播拉流 / 推流 /转码模块
TCP/HLS/udp/或私有协议(可选)协议 以下简称需求协议
总源服务器:
可以对 需求协议 拉/推留 转码功能预留
推流时可控制其他源服务器拉流的连接数
分发服务器
1.对不同的总源服务器接流
2.向请求直播流数据的客户端推流支持需求协议
直播中控服务器
中控服务器监控所有总源和分发服务器
客户端首先请求的是中控服务器
分配策略
分配流量最少的机器推流给客户端(或有其他推荐策略可以讨论)
直播客户端(android/ios)
p2p内网穿透 让客户端变为分发服务器让其啦拉流节目相同的客户访问
p2p寻找节点策略
网状P2P优先探索连通性好的节点并连接(或有其他推荐策略可以讨论)
p2p掉线了要保证无缝衔接下一个节点。
点播部分
上传/转码/通知(操作完后制定API通知其他程序完成以便二开)模块
点播流媒体服务
客户端(android/ios)
点播协议加解密/ 缓存 SDK
点播存储服务器(相当直播总源服务器)
点播资源的存储
对分发服务器分发视屏资源
点播分发服务器
对某个点播存储服务器存储客户端播放的视屏数据
上传/转码服务器
要能对上传的文件转码或转封装成标准视屏格式
并在转码结束后文件同步给点播点播存储服器
点播中控服务器(相当于直播中控服务器)
中控服务器监控所有点播总源和分发服务器
分配策略
优先查找有缓存的机器 如果流量满了 拿下一个流量低的服务器做缓存
(或有其他推荐可以讨论)
点播客户端(android/ios)
p2p效果(可选做。实际用处不大): 同一个视屏文件的同一个切片有相同客户观看时候完成和直播一样的P2P效果
文件缓存 客户端可指定文件大小 让客户端网络好的时候先下载下一个或多个切片保存在本地(在指定大小内)
来尽可能保证网络波动大的客户有好的体验
回放部分/相当点播
根据提供的时间点定时录制直播流生成点播文件
服务端操作均可命令行操作无需界面重点是功能go语言优先