直播开源推拉流SDK1.0版本已经发布有段时间了,期间受到了广泛的关注。随着新技术新场景的不断涌现,1.0版本已经略显简单,不能够更好的满足大家的需求,所以2021年下半年我们着手开始整理需求,从而开始了2.0的开源之路。

新版本2.0增加了很多新的功能,还有对老版本的优化,下面我们详细的来介绍一下:

1.WebRTC的推拉流

相比于1.0是精简了WebRTC的库,这个版本我们把整个完全功能的WebRTC包含进来,这样更方便用户使用。

RTC(Real time communication)实时通信,是实时音视频的一个简称,我们常说的RTC技术一般指的是WebRTC技术,已经被 W3C 和 IETF 发布为正式标准。由于几乎所有主流浏览器都支持 WebRTC 标准 API ,因此也让浏览器之间无插件化的音视频互通成为可能, 大大降低了音视频开发的门槛,开发者只需要调用 WebRTC API 即可快速构建出音视频应用。

直播中我们关心的几个点:延迟质量成本 等。

传统rtmp直播痛点:TCP,延迟高、拥塞导致卡顿问题较多(质量问题)。
互联网网络复杂、延时敏感、实时音视频流畅度及清晰度较低以和运营成本较高等。

没有一项技术能兼顾并解决直播中的所有问题,RTC是时延、流畅、质量、成本等的平衡,成为技术选型落地的模型。

相对来说RTC包含的技术也是更加的复杂,如下图所示:

2.美颜滤镜

在1.0的时候很多小伙伴说需要美颜功能,或者自己怎么实现美颜。新版本里我们在Android和iOS上都自带了一个基础美颜的库,这样大家可以在此基础上实现更多美颜的功能和玩法。

3.更多的协议支持

除此之外,其他的一些播放格式也都可以支持,因为我们这次开源的内核中包含了FFMpeg,可以做一个超级播放器使用。

4.自采集/自渲染

  • 自定义视频采集
    如果您自研(或者购买第三方)美颜和特效处理模块,则需要自己采集和处理摄像头拍摄画面,您可以通过 调用的 enableCustomVideoCapture 接口关闭库自己的摄像头采集和图像处理逻辑。然后您可以使用 sendCustomVideoData 接口向库填充您自己的视频数据。

  • 自定义视频渲染
    使用 OpenGL 进行视频画面的渲染,如果您是用在游戏开发中,或者需要在自己的界面引擎中嵌入库,那么就要自己渲染视频画面。

  • 自定义音频采集
    如果您是在特殊硬件设备上使用 ,当需要外接声音采集设备并自己采集声音数据时,您可以通过 调用 enableCustomAudioCapture 接口关闭库默认的声音采集流程。然后您可以使用 sendCustomAudioData 接口向库填充您自己的声音数据。

  • 获取音频原数据
    声音模块是一个高复杂度的模块,SDK 需要严格控制声音设备的采集和播放逻辑。在某些场景下,当您需要获取远程用户的音频数据或者需要获取本地麦克风采集到的音频数据时,可以通过库提供的相应的回调接口来实现。

5.屏幕共享

随着音视频的迅速发展,无论是在商用还是娱乐方面都有很多场景的实际应用,玩法也是越来越多了,随之而来的就是对衍生功能要求的提高。屏幕共享都是对于商用和娱乐场景最重要的功能之一。开源的新版本也同样支持这一功能。

常用的应用场景:

在线教育:
适用于大班课、小班课等多种教育场景,老师端可以通过屏幕共享将上课需要的课件,资料共享给学生,让教学变得更加高效,提高效率节省时间。

游戏直播:
游戏主播可以通过实时采集屏幕内容,以直播的方式共享给所有观众,让观众能够以主播同样的视角体验游戏。这样可以提高用户的观看体验,让用户可以有身临其境的感觉。使得用户观看的代入感更强,增加用户的粘性。

视频会议:
主持人可将电脑上的材料共享给远端的与会方,所有人观看屏幕的实时视频流,达到信息共享的目的。主持人不必再提起分发文档,因为参与者可以在演示者的屏幕上看到任何文档或文件,甚至可以要求会议者通过屏幕共享工具的传输功能发送这些文档和文件。

远程演示:
在进行远程协作或操作演示时,可以通过采集屏幕和窗口的内容,直观演示具体操作步骤,帮助他人快速理解。屏幕共享允许的在线演示是组织与客户和客户互动的完美方法。借助屏幕共享应用程序,不仅销售人员可以展示他们的产品,而且他们还可以通过提供PC键盘或鼠标的远程控制来邀请客户体验软件程序等项目。这是屏幕共享工具的最佳好处之一。

在线培训:
通过在线培训中使用屏幕共享工具,组织可以节省大量资金,因为他们不必设置整个投影仪设置并为外部讲座付费。相反,讲师的材料可以通过屏幕共享应用程序从他们的PC屏幕轻松共享,供所有与会者查看。讲师甚至可以使用这样的屏幕共享功能作为白板或参与者指针来与学员互动,从而形成交互式和娱乐性的学习环境。

6.更多玩法

新版本增加非常多的功能,这样就能够实现更复杂的应用场景,比如:使用SEI消息实现在线同步答题;使用RTC推拉流实现语音聊天室,在线KTV,狼人杀;使用RTMP+RTC实现在线互动连麦直播场景,比如电商直播;使用播放器组件实现抖音、快手短视频等等应用场景。

最后期待大家体验新版本,给我们多多提意见和建议。
体验地址:
https://github.com/anyrtcIO-Community/anyRTC-RTMP-OpenSource

开源| 直播推拉流2.0升级了什么相关推荐

  1. 一个小时开发的直播推拉流软件来了

    一.简介 目前市面上直播推流的软件有很多,拉流也很常见.近期因为业务需要,需要搭建一整套服务端推流,客户端拉流的程序.随即进行了展开研究,花了一个小时做了个基于winfrom桌面版的推拉流软件.另外稍 ...

  2. ffmpeg+easydarwin+ffplay实现直播推拉流

    一.环境 Ubuntu 20.4 ffmpeg easydarwin 二.要求 实现windows上录屏推流,Ubuntu当作流媒体服务器,实现直播和本地转换视频流 三.windows上 # 在ffm ...

  3. upyun 又拍云直播推拉流

    SDK下载地址:https://github.com/upyun/ios-live-sdk 运行环境:iOS8以上,并只能在真机中运行,不然会报错 模拟器调试过滤: #if !TARGET_OS_SI ...

  4. uniapp nvue使用live-pusher组件以及腾讯云实现直播推拉流

    目录 前言 效果预览 一.推流使用live-pusher组件 二.拉流使用video组件 三.前端推流核心代码 四.推流完整示例(包含美颜/相机切换/结束直播反馈效果) 五. 拉流完整示例(包含回放暂 ...

  5. nms之——流式服务器(直播推拉流等)

    nms之流式服务器 nms--Go语言开发的高性能流媒体服务端 下载安装 配置文件(config.ini) ffmpeg推流.拉流 NMS 推流(NMS v3支持RTMP, HTTP-FLVT推流) ...

  6. FFmpeg - Android 直播推拉流

    1. 搭建自己的流媒体服务器 在实际的开发过程中,我们是可以不用自己来搭建流媒体服务器的,访问后台的接口会返回媒体房间和 IM 房间.但现在我们自己测试就无法用公司的接口了,当然也可以去抓一些第三方的 ...

  7. iOS深入探索直播推拉流实现流程(二:推流权限判断 )

    推流权限判断实际上是对手机访问相机和麦克风权限的判断.如果连权限都没有怎么直播.需要注意的是,在iOS10以后,访问权限是需要在pilst里面申请的,这里自行脑补. 在LFLiveKit里面是没有这一 ...

  8. 视频直播技术分享:一文读懂主流视频直播系统的推拉流架构、传输协议等

    本文由蘑菇街前端开发工程师"三体"分享,原题"蘑菇街云端直播探索--启航篇",有修订. 1.引言 随着移动网络网速的提升与资费的降低,视频直播作为一个新的娱乐方 ...

  9. 友盟多渠道打包+混淆+腾讯云直播的推/拉流

    一. 友盟多渠道打包 各种下载应用的软件网址,叫渠道分发商,如腾讯应用宝,百度,Google Play,多渠道打包通过了解下载量,有针对性的打广告 多渠道打包意义: 可以用这个APK,放上一段业务逻辑 ...

  10. 视频直播技术干货:一文读懂主流视频直播系统的推拉流架构、传输协议等

    1.引言 随着移动网络网速的提升与资费的降低,视频直播作为一个新的娱乐方式已经被越来越多的用户逐渐接受.特别是最近这几年,视频直播已经不仅仅被运用在传统的秀场.游戏类板块,更是作为电商的一种新模式得到 ...

最新文章

  1. autoware源码安装与运行ROSBAG示例(二)
  2. 单例模式(全局地提供了一个类的唯一对象,该类的对象只创建一次,避免了创建类对象的开销)
  3. Android Jetpack组件之 Room使用-源码
  4. LeetCode Maximum Depth of Binary Tree
  5. android中私有方法 继承,Android项目实战系列—基于博学谷(五)个人资料
  6. 小程序 node.js mysql_基于Node.js+MySQL开发的开源微信小程序B2C商城(页面高仿网易严选)...
  7. ubuntu安装经常使用记录
  8. sysbench压测cpu,io,memory,threads,mutex
  9. solr核心概念、配置文件
  10. 三宝小精灵机器人_三宝小精灵幼育机器人-引领幼教AI新浪潮
  11. 【Linux】Linux根据文件路径查找索引节点
  12. 人工智能——前言概述
  13. 如何登录新浪微博html5,新浪微博怎么登陆
  14. MATLAB函数或变量无法识别
  15. 太阳系行星运转示意图
  16. 南方电网电费充值源码文档
  17. 对页面上所有ajax的请求进行监听
  18. 蚂蚁金服入职考试_阿里巴巴蚂蚁金服面试通过,多久给offer?
  19. 输入一个字符串,判断其是否是回文。(回文:即正读和反读都一样,如abccba, abccba)
  20. 计算机网络 同步传输和异步传输(理解)

热门文章

  1. Pytorch:卷积神经网络-空洞卷积
  2. 软件工程之图书管理系统总体设计
  3. Java开源大全 网站
  4. matlab fft2 fftshift,matlab fft fftshift
  5. 【2020版】Basic4Android安装配置指南
  6. 知识图谱概念与知识图谱构建流程(KGC)总览
  7. 加载脚本依赖发生错误--暴力猴
  8. 公司估值与财务分析指标
  9. php简易聊天室系统,php实现简易聊天室应用代码
  10. 一系列自动化测试的开源项目介绍