本人萌新,见识过的的大多人,直播时直接把所有流送到剪辑机,然后后期上,剪了推到第三方媒体。
我想了一下有没有可能优化,毕竟人一多就容易卡,然后想到,可以用类似种子网络的形式去推拉流。
初步构想是后期机发布一个"类 M3U8 文件",正如其名,让其他所有源去不停读这个文件,然后依据文件内容,去建 p2p 拉它需要的流,在本地渲染出所需要的视频,直接推到媒体。
缺点是有"后期 —— 源"的新延迟,解决 ①上 5G ②中心化网络分权,转移渲染到单一主机上。
这一模型的意义是它可以显著增加单位带宽直播源的最大数量。~~谁知道 5G 来了会不会有什么万人直播之类~~,而且以前没有很可能就是因为网速放大了上面说的新延迟。
#类 m3u8 文件 范例
#分组管理:指定 G1 的全体
G1
{
#预申明这一组使用的直播源
Include{
A§V1;
A§V2;
B§V1;
A§A1;
B§A1;
}
#关键帧的导向生成配置部分
Video{
build = [A§V1]{
x_start_at = (0px , 0px)
x_end_at = (32px , 32px)
y_start_at = (0px , 0px)
y_end_at = (32px , 32px)
target_fps = 30
Resolution = 640 * 480
Caching = false
}
build = [A§A1]{
Sampling_Rate = 128
Caching = false
}
......
}
#全局设置
overall-conf
{
render-engine{
$1[Nvenc]
$2[Sqv]
$3[h264]
}
Vertical_sync = false
enableSSL = false
process_num = 2
authport = 2333
session-life-period = 61440
}
目前新直播源加入,直播源的 A/V 源改变等时的策略还没想好,也就是接入鉴权。 我初步考虑添加一个"类负反馈"(生物乱入)去控制,祖传密钥对也可以用上,考虑套在一个可信域内完成整个架构,比如 k8s/swarm ...?
如果这个"生命节约版"用词太过精简,你又想深入了解一下,也可以去CSDN看例子多一点的版本。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.