如何搭建一个优酷、爱奇艺这样的视频网站,都会有哪些技术难点?

国内新闻 浏览(908)

曾经有太多的人问我这样一个问题:“如何建立一个像优酷这样的视频网站,它与普通的图形网站有很大的不同吗?我们应该注意哪些漏洞呢?”

接下来,作为一名优酷平台开发工程师,我将大致回答这个问题。

首先,有必要向一些业余开发者(视频领域之外的人)推广它。视频网站本质上不同于许多图形网站,所以我们不能混淆这两者。

优酷成立之初(2006年),大哥顾永强为优酷的技术平台设定了基调,那就是“越快为王”。后来的事实证明,这一原则帮助优酷在许多平台中脱颖而出,并受到最终用户的广泛欢迎。

因此,作为优酷平台研发部门的前负责人,我也严格遵循这一理念。如果你真的想建一个这么大的视频平台,它的技术难度实际上是相当大的(对那些踩在坑上的人来说似乎没什么)。

首先,为了真正实现“越快为王”的目标,你必须有足够的资本储备来支持你的发展。

在优酷一周年(2007)后,顾永强曾接受腾讯的采访,并解释了优酷的战略“快者为王”每个人都可以看看优酷的历史,这里就不再重复了。

顾永强当时从搜狐出来。由于他在最初阶段获得了1300万元的投资,他在2006年吸引了许多视频行业的大玩家来工作。这些人是在流媒体行业已经玩了6年多的精英。作为3年后核心团队的一员,我在优酷也有很多实践。

其次,你需要一个强大的技术开发团队。

顾永强当时从搜狐出来。由于他在最初阶段获得了1300万元的投资,他在2006年吸引了许多视频行业的大玩家来工作。这些人是在流媒体行业已经玩了6年多的精英。作为3年后核心团队的一员,我在优酷也有很多实践。

为了练习“快就是王”这四个字,你需要做“快速发布、快速搜索和快速播放”。

在核心技术层面,需要以下专业技术:

1。快速发布技术

在这方面需要视频节目的快速上传和快速转码。

要做好快速视频上传,需要实现视频内容的大并发上传和断点续传。在这方面,我们使用C语言来独立实现上传服务器。目前,单个服务器上支持1000个并发用户同时上传,支持基于H5的断点续传。

为了做好快速转码工作,该领域的技术含量较高。您可以尝试在13年内用英特尔处理器转换1080像素蓝光高清视频,看看转码速度有多快。

几年前,优酷平台有3000多台服务器,其中近一半用于视频转码。后来,经过技术改进和优化,在这一领域实现了巨大的技术飞跃,从当年的3速转码发展到现在的30速转码。具体细节可以增加(),大大提高了程序发布的实时性,有效降低了运行成本。

2。快速检索技术

2007年12月21日,优酷网的每日视频播放量(VV)已经超过1亿。

这是什么意思?每天至少有1亿人搜索你的视频。

面对用户访问量的快速增长,优酷的内容检索技术已经提高了好几倍。从最初的数据库读写分离,到垂直数据库分区,到水平表分区,再到基于内存的数据库和全文检索、分布式数据库、Hadoop、缓存等技术的结合应用,内容检索的大规模响应时间已经实现在毫秒级。

3。快速回放技术

面对上亿网民和庞大的内容资源库,实现内容的快速回放对平台架构和核心技术力量是一个严峻的挑战。

众所周知,视频数据是互联网上传输的最大数据量。它不像文字和图片,数据量最多只有几百千字节,那么视频流量就是每秒几兆字节,它的数据库每秒是图片的十倍以上。

此外,要传输如此庞大的数据库,需要不间断的持续稳定,这对服务器性能和流媒体软件性能提出了极高的要求。

流媒体服务器需要支持多终端和多协议发布(如HLS、HTTP-TS、HTTP-FLV、DASH、RTMP)、多流适配(为用户提供最佳观看体验)、多服务器负载平衡和高并发性能。

因此,我们的流媒体技术支持从最初的单个服务器到现在的5000个并发事件的200个并发事件,技术迭代次数为n次。

此外,流媒体服务器的性能提升仅代表单台服务器的处理能力。要访问全国数亿用户,需要部署数千台服务器。这些服务器需要分布在中国整个互联网的主要节点,包括主要中心城市、省会城市和东部二线城市的IDC机房。可以添加具体细节()。这些流媒体服务器部署到位后,需要连接成一个有机的整体,利用内容分发技术形成一个超大型的CDN内容分发网络,实现视频内容的快速分发和用户的就近点播。一方面,用户的观看体验大大提高(播放速度相应加快),另一方面,平台的资金投入也大大节省(二线城市的带宽远低于一线城市)。

在服务器集群和CDN建设的负载平衡方面,优酷平台没有选择F5等硬件解决方案来控制投资成本。相反,它采用了自我研究软件来实现整体效果。每个人都看到了,它做得非常好。在视频发布方面,优酷平台已经超越了一些专业的CDN服务提供商(如蓝讯、网速)。

除了上述部分,还有许多其他需要考虑的技术细节,例如:

大型并发实时消息系统,用于在用户观看视频或实时文本聊天时为用户提供实时字幕,这种并发性通常达到数百万并发的水平。

WEB服务器负载均衡,由于WEB服务器主要用于提供程序元数据信息的显示,主要是图片和文本信息,如何实现多服务器负载均衡,以及如何在大并发访问的情况下进行分布式部署,直接关系到最终的用户体验。

平台的安全保护主要包括网站内容管理系统的安全和公共网络服务器的抗攻击能力(如DDOS攻击)。

程序存储设备的读写性能也是测试平台整体服务性能的一个关键因素。由于视频内容数据量巨大,不同的存储介质(SATA硬盘、SAS硬盘、固态硬盘)和不同的存储架构与内容读取的响应速度和数据吞吐能力密切相关,因此操作级平台在这方面需要完善的设计,优酷也一直在进行这方面的技术更新和迭代。

程序元数据信息的自动提取对于大规模操作平台也是至关重要的,因为它关系到您以后的操作和维护成本。一个好的操作平台在系统设计中会遵循这样一个原则,即机器能够自动完成的工作绝不能由人工来完成,因为人工操作的成本比机器高得多,而人工工作的效率比机器低得多。在优酷平台上,所有节目的基本元数据(节目名称、节目时长、节目海报图和播放轨迹预览图)都是通过节目自动提取的,后台还具有一键手动截取海报图的功能,大大降低了人工成本。

以上只是从宏观层面考虑的一些要点。可以说,每一个技术环节都有很多深坑,因此一个强大的技术开发团队对于基础运营支撑平台的高效运行至关重要。

今天写了这么多,如果你有任何问题,请稍后再添加。

-