9月3日下午,在北京联合创业办公社,由CSDN社区主办的技术主题月系列之——《视频直播技术架构的新解读》活动成功举办。CSDN邀请了迅达云SpeedyCloud工程VP李雨来、dotEngine音视频通话云创始人刘连响、布卡互动创始人张玺辉、七牛创始合伙人兼产品副总裁徐立共同围绕“直播”这个热点话题,分享了视频直播秒开技术与优化、WebRTC使用、互动体验、移动直播技术优化等议题。近200位开发者利用周末参加了本次活动,现场提问踊跃,嘉宾互动很有深度。

CSDN社区运营总监石晓锐担任活动主持人

迅达云SpeedyCloud工程VP李雨来:视频直播秒开背后的技术与优化经验

就视频播放原理,李雨来首先解释了视频编码中I-frame,P-frame和B-frame 三个技术概念。其中I-Frame (Inter Frame)的特点是自描述帧、无其他帧引用、压缩比最小。P-Frame (Predicted Frame) 的特点是前置引用预测帧、需要该帧之前的帧才能解码 、压缩比高(大约是I帧的50%)。B-Frame (Bi-directional Predicted Frame) 的特点是双向引用预测帧 、需要该帧之前和之后的帧才能解码、压缩比更高(大约是I帧的25%)。

李雨来还阐述了GOP(Group of Picture),即从一个I帧开始到下一个I帧之前的一组视频帧。视频首屏播放速度和对GOP的处理、解码器与缓冲的架构设置密切相关。解码器需要一个缓冲区来保存解码后的帧数据以供后面的P帧和B帧引用 ,缓冲区开始的第一个帧是I帧的数据。缓冲区的清空机制与视频直播流畅度密切相关。

此外,数据包受网络抖动的影响也会制约视频打开速度。对此,在设计相关解决方案的时候李雨来认为要考虑以下几个因素:发包频率有讲究、积累时间长影响首屏时间、不积累 当网络不太好的时候会对延迟有一定影响,积累太多一旦丢包重传会导致解码器饥饿。

dotEngine音视频通话云创始人刘连响:WebRTC在音视频通话开发中的使用

刘连响首先解释了WebRTC技术,让用户在浏览器、移动平台、嵌入式设备中进行实时音视频通话。目前,90%的音视频通话都采用了WebRTC技术来搭建。

WebRTC开发中涉及到的主要模块:webrtc client、signaling、stun/turn、mcu/sfu。

在视频编码选择方面,刘连响认为vp8是默认编码,vp9已经可用,同样质量编码率可以比vp8小30%。h264在硬件支持上还有不少问题。

就音视频通话开发的技术解决方案,刘连响给出了自己的建议:不要使用最新的代码、开发阶段自己搭建stun server和turn server、视频h264编码、硬编软解。

布卡互动创始人张玺辉:在直播中如何做到完美的互动体验

张玺辉认为今年是直播市场化的元年,未来潜力巨大。他将直播划分为几个领域:传统秀场、游戏直播、电商、移动轻秀场、直播+。在游戏直播领域,游戏用户还没完全转换,长尾游戏领域扩展加速,网生一代消费能力增加;在移动轻秀场方面,未来将会全民参与。最终直播则会渗透到各领域的行业应用中。

在互动直播方面,目前主要解决的技术问题有:1.万人直播,小班互动;2.全终端支持;3.不卡,不掉线,不延时;4.全文档共享支持,白板支持;5.权限控制;6.文字聊天,答题,投票,抽奖,鲜花,红包…;7.数据统计等。张玺辉认为互动直播中主要解决的技术问题有:1.万人直播,小班互动;2.全终端支持;3.不卡,不掉线,不延时;4.全文档共享支持,白板支持;5.权限控制;6.文字聊天,答题,投票,抽奖,鲜花,红包…;7.数据统计等。

随后,张玺辉就直播技术架构涉及的几个方面:音视频框架设计、网络传输选型、编解码选型、千万级并发服务器设计、声音方案的处理,分别给出了自己的建议。

七牛创始合伙人兼产品副总裁徐立:移动直播技术上的坑与优化经验

徐立首先介绍了在移动直播中常见的技术场景问题:推流发烫、崩溃、闪退;观众大量点赞“飘星”、送花,导致主播和观众画面卡顿;延时较高,播放时间越长,延时越大;直播推流过程中接听电话、切换应用,导致丢失声音;播放首屏打开慢,超过数秒打不开,有时黑屏、卡住;点击一个正在进行中的直播,提示直播已经结束等等。

活动现场座无虚席

归结起来,直播性能的技术要点主要在三个层面:首屏秒开、流程不卡顿、低延时。徐立对每一个环节的技术解决方案都给出了详细的解读。

例如在秒开方面,在服务器端要注意:1.边缘节点缓存GOP,每次播放请求过来无需回源,省却回源时间;2. 主动预热GOP,省却来自边缘节点首次播放请求的路由和回源时间。在客户端要注意:1.无需下载整段GOP,下载关键帧后立即予以渲染显示;2.画面首帧渲染环节避免音画时间戳同步校验。

最后,徐立对移动直播优化经验做出了总结:

• 支持硬编和软编,提供软编解决安卓机型推流兼容性和稳定性问题

• 软编还能解决码率精确控制、画质清晰度等问题

• 视频编码与图像处理分离(美颜、水印、滤镜等图像处理走GPU),减少处理耗时

• 播放优先硬解(性能优先), 其次软解(兼容性适配)

• 支持HTTPDNS防DNS劫持,避免黑屏卡住等问题

• 根据QoS数据实时反馈进行动态精准IP调度,缩短RTT便于秒开、保障直播流畅度

•支持弱网丢帧策略,保障直播流畅度

• 支持弱网动态码率调节,保障直播流畅度

• 支持编码前丢帧策略,不损失画质的前提下减少编码耗时、保障直播低延时、流畅度

• 支持动态追帧,消除由于网络抖动导致的累积延时

• 支持后台播放暂停视频解码,降低功耗节省流量

在互动答疑时段,开发者提问火爆,纷纷提出了自己在直播平台技术方面的困惑,现场嘉宾一一给出了解答。

活动结束后参会者围绕在讲师周围讨论

CSDN技术主题月是由CSDN社区主办的线下技术交流活动,旨在和国内技术领先的企业共同围绕行业趋势和话题进行解决方案的探讨、分享和交流。在技术开放的氛围下,希望开发者们能够通过CSDN社区平台结识更多技术达人,交流&分享技术观点,并碰撞出精彩火花。

推荐资料:扫描二维码,获得直播知识库内容

聚焦CSDN技术主题月:视频直播架构新解读专场回顾相关推荐

  1. 聚焦CSDN技术主题月:深度学习框架的重构与思考专场回顾

    10月15日下午,在北京兆维大厦,由CSDN社区主办的技术主题月系列之--<深度学习框架的重构与思考>活动成功举办.CSDN邀请了用友畅捷通人工智能负责人张俊林.创业公司大数据总监周步恋. ...

  2. CSDN技术主题月:实战解读移动信息安全技术

    摘要:11 月 12 日,由 CSDN 社区主办的"CSDN 技术主题月--移动信息安全技术的挑战与创新"在北京中关村隆重举行,此次沙龙活动邀请到黄帅(@猴子搬来的救兵Castie ...

  3. CSDN技术主题月:移动信息安全技术的挑战与创新

    CSDN技术主题月是由CSDN社区主办的线下技术交流活动,旨在和国内技术领先的企业共同围绕行业趋势和话题进行解决方案的探讨.分享和交流.在技术开放的氛围下,希望开发者们能够通过CSDN社区平台结识更多 ...

  4. 视频直播云新趋势 打造终端+云端一体化

    [51CTO.com原创稿件]互联网时代的发展,使得越来越多的与互联网相关的行业蓬勃发展,最近几年直播成为了互联网行业发展的一个代表,从最早的体育赛事直播,到游戏直播的发展,再到现在的"全民 ...

  5. QQ视频直播架构及原理

    作者:王宇(腾讯音视频高级架构师) 自我介绍下,毕业以来加入腾讯,一直从事客户端研发,身处互联网公司,踏着互联网的浪潮,一直在浪尖行走,从最早的PC QQ,到移动时代的手Q,再到腾讯物联的嵌入式,以及 ...

  6. 【专题速递】多视图流媒体、明星陪看直播技术、金山云直播架构演进和云导播台...

    // 流媒体如何吸引更多消费者?爱奇艺的明星陪看技术得到了怎样的成效?边缘计算在直播中在直播中的探索效果如何?B站云导播台7月29日LiveVideoStackCon2023上海站架构与服务端优化专场 ...

  7. 开创YouTube视频基础架构新时代

    正文字数:2064 阅读时长:8分钟 文 / The YouTube Team 译 / LiveVideoStack 原文链接 / https://blog.youtube/inside-youtub ...

  8. 如何实现年会主分会场视频直播?

    2020年已经进入倒计时了,各家公司都陆续开始了年会的策划与部署.众所周知,今年是艰难的抗疫年,众多线下活动纷纷停摆,许多能彰显企业凝聚力及品牌的活动也是能省则省,正因如此,在年底之际,开一场对内能团 ...

  9. 音视频直播--技术架构

    前言 今天和大家讲一下音视频直播技术架构.之前的关注点主要放在客户端如何采集音频数据上,经过这两天的思考,我觉得应该先给大家讲一下音视频直播技术架构,这样更容易从整体上理解视频直播技术是如何运转的,之 ...

最新文章

  1. TensorFlow——入门基础
  2. JDK9为何要将String的底层实现由char[]改成了byte[]?
  3. virtualbox centos5 分辨率_一种高分辨率、高帧率的LCoS显示芯片设计方法
  4. hadoop的HDFS-----防火墙导致9870端口无法访问
  5. android 两足机器人,基于Android的双足机器人语音控制系统研究
  6. ffmpeg解析TS流
  7. cocoapods的安装与使用
  8. 数据分析学习笔记—python_word处理及邮件发送
  9. Proc恢复数据文件
  10. SpringBoot之注解
  11. 1.2顺序线性表的归并
  12. [开发回忆录]第三方模块的松耦合
  13. 解决dephi使用Word时出现“没有注册接口”的情况。
  14. 无法启动计算机上的服务msdtc,MSDTC服务无法启动,导致网站打不开
  15. linux引导文件制作U盘,Linux下制作U盘系统启动盘的方法
  16. SMART硬盘检测参数详解
  17. sql可以查询数据但是提示对象名无效
  18. 南昌大学计算机学院夏令营,南昌大学关于举办2021年优秀大学生暑期夏令营活动的通知...
  19. ElasticSearch学习-Node篇
  20. Mac远程Win桌面官方工具——Microsoft Remote Desktop for mac

热门文章

  1. Java中main函数调用同类中的方法
  2. Android 仿秒拍,微信录制短视频
  3. android系统有6部分组成,Android系统文件夹结构解析(六)--/system/media /system/sounds /system/usr etc....
  4. Vue(一)2.指令
  5. BuckPFC电路的仿真和改动电感位置的BoostPFC仿真
  6. 2020.10.21【R语言】丨 undefined columns selected 问题解决办法
  7. 2020.09.30【RNA-seq流程】丨转录组生信分析全流程
  8. 图的基本概念以及常见公式汇总
  9. 网管交换机的功能还有哪些不知道的?
  10. 一起变装吧服务器维护,2016年12月29日服务器停机维护公告