| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 移动开发 -> 直播平台搭建,需要重视互动性和实时性 -> 正文阅读 |
|
[移动开发]直播平台搭建,需要重视互动性和实时性 |
像直播平台这样重视互动和实时性的应用场景,即时通讯可以从中起到很大的配合作用。所以对于直播平台搭建的技术人员来讲,音视频即时通讯技术是需要熟练掌握的。从最初的开发,到搭建,再到最后开发完成上架等并不像看起来一样简单。 视频过滤:同音视频采集一样,都属于传输过程的前处理。 音视频编码:对音视频采集的数据压缩转码,提高传输效率,减少操作时间。 推流:将数据传输至流媒体服务器集中处理服务器。 拉流:拉流的过程就是用户打开直播后呈现的画面,都是需要从流媒体服务器中拉流出来的。 音视频解码:将压缩上传的音视频数据进行解码。 音视频播放:解码后播放呈现在直播系统中。 终端的兼容性: iOS的系统因为是封闭的,所以是相对简单的,全面兼容Android是比较复杂的事情。 用户并发测试:这方面是需要经验的,对于如果做过海量用户并发的大规模系统的技术来讲,这个就不是问题。 各个终端:MAC, WINDOWS, IOS, ANDROID。 配置采样参数 音频配置:码率(128)和采样率(44100HZ) 视频配置:视频分辨率(720P )、码率(2000KB/S)和帧率(30FPS) 视频编码 VideoToolBox FFmpeg H264 软编码: FFmpeg X264 用到CPU 硬编码 VideoToolBox AudioToolBox 商业项目 通用 硬编码 GPU (运算大于CPU) 硬件加速器 视频编码 VideoToolBox FFmpeg H264 音频编码 AudioToolBox FFmpeg AAC 在直播平台搭建过程中,消息系统是非常关键的,无论是直播间内的消息还是平台内的消息,都关系着用户的使用体验。 直播平台搭建客户端每隔一个极短的时间,例如1秒亦或者更短的时间,根据直播间的id来调用服务端的接口,轮询该直播间发生的消息,服务端这边我们使用redis的SortedSet的数据结构来存储消息,其中key是直播间的房间id,score是服务器接收到该消息事件生成的时间戳,value可以简单地直接存储该消息序列化后的字符串,这样可以按照时间顺序地去存储消息,并且配置过期消息的删除逻辑,整个消息的存储就可以简单地搭建起来。 |
|
移动开发 最新文章 |
Vue3装载axios和element-ui |
android adb cmd |
【xcode】Xcode常用快捷键与技巧 |
Android开发中的线程池使用 |
Java 和 Android 的 Base64 |
Android 测试文字编码格式 |
微信小程序支付 |
安卓权限记录 |
知乎之自动养号 |
【Android Jetpack】DataStore |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 0:28:37- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |