开发网络视频直播系统过程中的那些关键点

简介: “Syno Japan与媒体Carts合作在日本国内发起了“电竞相关认知/消费调查”,调查表示整个2018年是日本的电子竞技元年,也是日本国内逐渐认知电竞的一年。”由此可见,电竞在日本仅仅处于起步阶段,对于中国和韩国等地来说早已成为了大众的“生活必需品”,尤其是在网络视频直播系统带动下的游戏电竞直播,更是受到了人们的广泛关注。

“Syno Japan与媒体Carts合作在日本国内发起了“电竞相关认知/消费调查”,调查表示整个2018年是日本的电子竞技元年,也是日本国内逐渐认知电竞的一年。”由此可见,电竞在日本仅仅处于起步阶段,对于中国和韩国等地来说早已成为了大众的“生活必需品”,尤其是在网络视频直播系统带动下的游戏电竞直播,更是受到了人们的广泛关注。实际上,大多数人并不了解网络视频直播系统在开发时需要怎样的技术支持。所以,就跟大家简单地分享一下相关内容。

1.DRM管理器

对于大部分网络视频直播系统来讲,都会有一个区域:付费房间,而直播中的付费视频服务都基于DRM管理。

DRM其实很大程度上是依赖于平台和设备的。多媒体引擎中的DRM管理器,是更底层解码器中内容解密API的包装。只要有可能,它就会尽量通过抽象的方式来屏蔽浏览器,或者操作系统实现细节的差异性。DRM管理器(可选组件)一般都会和流处理引擎紧密相连,主要原因是DRM管理器经常与解码层进行交互。

2.格式转换复用器

其实网络视频直播系统在进行封包和编码方面都存在一定的局限性,比如Flash读的是FLV容器封装的H.264文件。这种情况就容易导致有些视频片段在解码之前需要进行格式转化。这样一来,就能够使用相应格式的内容来播放视频流。而多媒体引擎层面的格式转换复用器曾经受到过质疑,但是随着现代Flash和Javascript性能的提升,所带来的性能损耗几乎可以忽略不计,并且也不会对用户体验造成太大影响。

3.资源质量参数预估器

这里提到的预估器主要是提供带宽、CPU和帧率等信息,它可以从各种不同的维度获取数据,比如跳帧数和片段下载时间。并且可以将数据汇总起来用于估算用户的可用带宽值和CPU计算能力,输出时采用ABR做出判断。

4.ABR 切换控制器

为什么要把ABR(切换控制器)放到最后再说呢,因为它是多媒体引擎中最为关键的部分,也是最容易被人忽视的一部分。控制器在读取预估器输出的带宽和跳帧数等数据之后,使用自定义算法根据这些数据做出相应的判断。从而告知流播放引擎是否需要切换视频或者是音频的质量。目前遇到的最大难点就是切换频率和在缓冲风险之间找到平衡,比如太频繁的切换可能会导致用户拥有一个糟糕的网络视频直播体验。

对于网络视频直播系统而言,带宽、跳帧数、延时和卡顿等问题都是影响用户体验非常重要的指标。要想在互联网领域获得长久发展,就要从开发过程中去避免和解决影响用户体验的问题,只有这样才能真正的适应用户需求,从而建立起优质的网络视频直播系统。


原文首发地址:https://blog.csdn.net/fmscms/article/details/88551292

相关文章
|
2月前
|
Ubuntu 网络协议 网络安全
解决Ubuntu系统的网络连接问题
以上步骤通常可以帮助解决大多数Ubuntu系统的网络连接问题。如果问题仍然存在,可能需要更深入的诊断,或考虑联系网络管理员或专业技术人员。
465 18
|
2月前
|
机器学习/深度学习 大数据 关系型数据库
基于python大数据的青少年网络使用情况分析及预测系统
本研究基于Python大数据技术,构建青少年网络行为分析系统,旨在破解现有防沉迷模式下用户画像模糊、预警滞后等难题。通过整合多平台亿级数据,运用机器学习实现精准行为预测与实时干预,推动数字治理向“数据驱动”转型,为家庭、学校及政府提供科学决策支持,助力青少年健康上网。
|
2月前
|
监控 安全 网络协议
Cisco Identity Services Engine (ISE) 3.5 发布 - 基于身份的网络访问控制和策略实施系统
Cisco Identity Services Engine (ISE) 3.5 发布 - 基于身份的网络访问控制和策略实施系统
324 1
Cisco Identity Services Engine (ISE) 3.5 发布 - 基于身份的网络访问控制和策略实施系统
|
3月前
|
机器学习/深度学习 传感器 算法
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
205 2
|
4月前
|
安全 KVM 虚拟化
Cisco Identity Services Engine (ISE) 3.4 - 基于身份的网络访问控制和策略实施系统
Cisco Identity Services Engine (ISE) 3.4 - 基于身份的网络访问控制和策略实施系统
214 2
Cisco Identity Services Engine (ISE) 3.4 - 基于身份的网络访问控制和策略实施系统
|
4月前
|
运维 Linux 开发者
Linux系统中使用Python的ping3库进行网络连通性测试
以上步骤展示了如何利用 Python 的 `ping3` 库来检测网络连通性,并且提供了基本错误处理方法以确保程序能够优雅地处理各种意外情形。通过简洁明快、易读易懂、实操性强等特点使得该方法非常适合开发者或系统管理员快速集成至自动化工具链之内进行日常运维任务之需求满足。
236 18
|
2月前
|
机器学习/深度学习 分布式计算 Java
Java与图神经网络:构建企业级知识图谱与智能推理系统
图神经网络(GNN)作为处理非欧几里得数据的前沿技术,正成为企业知识管理和智能推理的核心引擎。本文深入探讨如何在Java生态中构建基于GNN的知识图谱系统,涵盖从图数据建模、GNN模型集成、分布式图计算到实时推理的全流程。通过具体的代码实现和架构设计,展示如何将先进的图神经网络技术融入传统Java企业应用,为构建下一代智能决策系统提供完整解决方案。
314 0
|
4月前
|
机器学习/深度学习 数据采集 算法
【电力系统】MATLAB环境下基于神经网络的电力系统稳定性预测研究(Matlab代码实现)
【电力系统】MATLAB环境下基于神经网络的电力系统稳定性预测研究(Matlab代码实现)
101 1
|
3月前
Vite使用svg-企业级开发(支持本地svg和网络svg渲染)
本教程介绍如何在Vite项目中集成SVG图标插件。首先安装`vite-plugin-svg-icons`,配置插件指向SVG图标目录,并注册全局组件。接着创建SVG图标组件,支持内部图标与外部图片展示。通过简单配置,即可在页面中灵活使用各类SVG图标,提升开发效率。
175 0

热门文章

最新文章