技术赋能-混流编排功能,助力京东618直播重保

技术,混流,编排,功能,助力,京东,直播 · 浏览次数 : 48

小编点评

**混流监播功能简介** - 针对618、双11等大型活动,保障数个重要的大V或品牌直播源流、各档转码流。 - 传统监播方式复杂、画面不美观,且容易出现卡顿问题。 - 新新型混流编排功能简化了监播流程,直观地区分源流、转码流播放效果。 - 支持多种布局方式,可根据直播需求进行调整。 - 提供自动编排功能,简化直播画面配置。

正文

每每到618、双11这样的大型活动的时候,每天都有几个重要的大v或者品牌直播需要保障。

以往的重点场次监播方式是这么造的:

对每路直播的源流、各档转码流分别起一个ffplay播放窗口,再手动调整尺寸在显示器桌面进行布局,排到一屏里来监播。

这样做的缺点:

  • 操作复杂,手动调整画面不美观

  • 不同的拉流时间点,起播时间有误差,画面无法协调一致

  • 当拉多路流的时候,带宽也受限制,基本上拉3-4个2m码率以上的流本机就会卡顿了,此时如果流有问题,就不能准确判断卡顿来源了,检查起来也比较费劲

展示方式是这样的:

ffplay 'rtmp://stream1' & ffplay 'rtmp://stream2' & ffplay 'rtmp://stream3' & ffplay 'rtmp:/stream4' & ffplay 'rtmp://stream5' & ffplay 'rtmp://stream6' & ffplay 'rtmp://stream7' & ffplay 'rtmp://stream8'

PS:这么多的窗口,点着是挺麻烦的😓

在我们混流生产层能力完备后,就开始琢磨怎么将它赋能在平常或者大促的直播间重保上,同时也为了更加专业、更高效的进行监播,经过了一段时间的打磨,提炼了一个简单的混流编排功能。

它的工作模式是这样的:

在这里你可以创建混流任务,并支持你在不断流的状态下做到更新任务输入信息。

将要监播的直播流地址,需要展示的文字内容、布局方式、混流输出的模板配置进行下发,就可以拉到自动编排好的直播流地址。

它现在长这个样子:

最终呈现出来的混流的效果是这样的😁:

也可以是这样的:

也可以呈现其他的布局方式,目前还没做的那么丰富,不过底层能力和api接口是都支持的,完全灵活布局。

在混流任务运行过程中,可以自由修改混流输入源的配置。

这种新型的监播方式,可以直观的区分源流、各档转码流的播放效果:画面内容是否正常,有无花屏、是否卡顿?

当出现问题时能够指导我们快速做出决策:

  • 转码流有问题,源没有问题,快速排查任务日志,定位是什么原因导致

  • 转码流有问题,源也有问题,迅速问题源流的流详细信息,定位问题并通知业务方进行操作

  • 主流都有问题,备流没问题,通知业务方迅速切备流

还有其他的一些有点:

  • 操作简单方便,还可以记忆配置,下次直接修改

  • 每个播放端只需拉一路流,节省本地带宽

  • 最多可以支持16路混流,一屏监播16路流的画面

  • 不断流,轻松切换各种布局

  • 不断流,随便操作流的添加、删除、修改

  • 方便分享给其他人进行播放

混流布局功能的底层实现框架:

  • 定义通用的layout布局结构-BasicClip
{
    ClipType string `json:"clipType"`
	LeftMargin int `json:"leftMargin"`
	PosX *int `json:"posX"`
	PosY *int `json:"posY"`
	Width int `json:"width"`
	Height int `json:"height"`
}

在此基础上扩展出更丰富的BorderClip, TextClip, ImageClip等类型,来满足不同的布局元素设计。

  • 定义通用的videoMask结构,它可以包含多个clip interface, 即各种clip元素,在videoMask中各个clip是同一个layer的,只允许在限定的尺寸中进行布局。
type VideoMask struct {
	Layer int `json:"layer"`
	Clips []interface{} `json:"clips"`
}
  • 每个输入的视频流,可以包含多个videoMask,多个videoMask在最终overlay的时候,按定义的layer先后顺序进行铺叠,以达到最终的预期视频布局效果。

应用场景拓展

  • 什么情况下使用混流?

◦当设备不支持同时拉多路流时使用混流,比如sip入会的场景。

◦需要多个视频画面、多个音频流合成一个直播流时使用混流,比如会议录制(rtc协议)场景、教育类场景(直播老师和学生的画面)、直播连麦的场景等。

总结:此次能在618重保期间发挥它的价值,也算是有所得。希望以后可以在日常直播、展会等其他重要直播活动中发挥作用。关于混流的产品介绍以及更多的使用场景也会在后续的文章中一一展开,敬请期待。

作者:京东科技 孟晓伟

来源:京东云开发者社区

与技术赋能-混流编排功能,助力京东618直播重保相似的内容:

技术赋能-混流编排功能,助力京东618直播重保

每每到618、双11这样的大型活动的时候,每天都有几个重要的大v或者品牌直播需要保障。

如何使用自助式商业智能 (BI) 避免组织中的数据孤岛

本文由葡萄城技术团队于博客园原创并首发 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。 许多组织都存在数据问题。当许多员工远程工作(或在混合环境中)并在多个位置使用多个设备访问公司数据时,他们正在处理信息过载问题。这只会加剧数据孤岛的问题。 数据孤岛正是它

RPA+智能问答实现微信端智能客服

每逢618大促,业务量突增,随之产生的业务咨询量也会增多,因此为了减轻客户售后团队的压力、提升问题响应的速度、不改变用户的使用习惯、保障大促业务的稳定性24小时值班应答,第一时间帮忙客户解决问题,我们通过RPA+智能问答实现微信端智能客服,技术赋能业务,来保障整体业务的发展壮大。

技术驱动,数据赋能,华为云GaussDB给世界一个更优选择

摘要:5月16日,“数智深耕 让美好发生 2023华为云城市峰会广州站”成功举行。 5月16日,“数智深耕 让美好发生 2023华为云城市峰会广州站”成功举行。大会聚集了众多城市管理者、产业领袖、企业家和媒体,共同探讨工业数字化发展新趋势,共谋工业数字化发展之路。华为公司副总裁、华为云中国区总裁张修

AI赋能音乐创作,人人都是音视频创作者

华为HMS Core音频编辑服务(Audio Editor Kit)依托自身AI技术的研发优势,上线全新的歌声合成音色及伴奏,给音视频创作者提供更多的创作可能。在短视频场景中,用户自定义歌词的歌声结合视频让用户感受到身临其境,自由表达自己的情绪;在虚拟偶像场景中,歌声合成功能赋予虚拟歌手们演唱风格各

数据赋能的未来,看向嵌入式BI

本文由葡萄城技术团队于博客园原创并首发 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。 数据分析能力越来越成为消费者和企业的必备品应用程序,复杂程度各不相同,从简单地一个网页或门户上托管一个可视化或仪表板,到在一个云服务上实现数据探索、建模、报告和可视化创

ChatGPT赋能低代码开发:打造智能应用的双重引擎

摘要:本文摘自葡萄城低代码产品活字格的资深用户(格友超哥)所撰写的文章:《惊叹表现!活字格+ChatGPT:低代码开发智能应用的巨大潜力》。 ChatGPT的functions函数使用方 自从OPENAI发布了最新的GPT引擎gpt-3.5-turbo-0613之后,我就对它的functions参数

服装行业多模态算法个性化产品定制方案

本文是想利用AI赋能服装设计师,设计好看、好穿、好卖的服装,利用GPT+数据洞察、柔性快反+数智化供应链以及AIGC降低设计门槛和库存成本,快速反应市场时尚流行趋势,并进行落地实践

当线下门店遇上AI:华为云ModelBox携手佳华科技客流分析实践

摘要:在赋能传统门店客流经营数字化转型方面,华为云ModelBox与伙伴佳华科技合作推出的“华为云客流统计项目”,算是一次成功的探索。 本文分享自华为云社区《当线下门店遇上AI—华为云ModelBox携手佳华科技客流分析实践》,作者: 华为云社区精选 。 现如今,AI技术蓬勃发展,相关的理论技术和应

华为云邓明昆:云原生时代,以开源赋能数字化转型

摘要:云原生技术以“极致弹性、分布式、松耦合、高韧性”等特征,可有效帮助企业实现基础架构升级,业务快速创新。 近日,以“开源赋能,普惠未来”为主题的开放原子全球开源峰会在北京亦创国际会展中心顺利举行。其中,由华为云承办的以“探索云原生技术发展与应用实践,赋能企业数字化转型”为主题的2023开放原子全