直播软件开发完成后音视频内容是如何“走出去的”?

无论是传统的秀场类直播、游戏直播或是电商教育直播,早已逐渐成为了人们生活中的一部分。虽然很多人都听过直播也了解直播的模式,但是对于直播的一些实现方式其实并不了解。比如我们是怎样才在前端app看到直播的,或者我们在观看之前都需要做怎样的技术准备等。之前分享过一篇有关直播过程中推流方面的文章内容,今天主要分享一下音视频流内容分发和转码方面的内容。
直播软件开发完成后音视频内容是如何“走出去的”?
1.在前端的设备,也就是摄像机或手机镜头等设备将直播的音视频内容进过采集处理后,先把它推送到平台的源站服务器。这里所说的源服务器就是采用多机集群热备份机制,以避免运行过程中由于一台源站服务器出现宕机后,影响到整个平台的稳定运行。
2.源站服务器一般会;连接有专业的磁盘阵列存储设备,当源站服务器接收到数据之后,会先复制多份转发给下面的各个CDN节点,然后再复制其中一份发送给转码服务器。转码服务器会将收到的每一个音视频流进行实时转码。转码服务器会将实时的直播码流录制保存到磁盘阵列中,以方便用户进行回放使用。
3.在实时转码环节时,大多容易考虑不当,虽然音视频内容的转码可以交由高性能的服务器去完成,比如配置八核的处理器去做视频转码,转码1080p清晰度的视频能够达到8倍速甚至以上。但经测试发现,如果将其应用在直播过程中,转码技术还是没有办法满足直播需求。毕竟目前的直播应用是属于高并发的大规模直播运营,每一个直播平台在同一时间段内都要面对数百个甚至成千上万个直播流,进行实时转码。这样一来,就需要配置很多高配置的服务器,成本相对来说也会增加不少。
直播软件开发完成后音视频内容是如何“走出去的”?
4.需要注意的是直播流的转码必须是实时性的,并且要求转码延迟在1秒以内,对于之前的要求2-3秒的延迟还是存在很大差距的。如果在原有的技术上进行一定的改造,那么在开发上需要耗费的时间预计需要一年以上才能完成,况且还不能保证效果是否足够好。
为了保证直播软件开发完成后,音视频流的转码能够流畅进行,可以采取或制定一些转码的方案。不仅需要在服务器的配置和选择上要多下功夫,还需要注意是否具备高度实时性,转码的延迟是否可以控制在一定的时间内。只有将音视频流顺利的分发和转码,用户在能在前端app看到优质的内容。所以在开发过程中还是需要在各方面的技术实现,和机器设备配置的选择上面多下功夫了。
本文声明原创,转载请注明出处。

上一篇:Android音视频——基础介绍


下一篇:《Android 源码设计模式解析与实战》——第1章,第1.1节优化代码的第一步——单一职责原则