GithubHelp home page GithubHelp logo

chengjingfeng / anyrtc-rtmpc-ios Goto Github PK

View Code? Open in Web Editor NEW

This project forked from anyrtcio-community/anyrtc-rtmpc-ios

0.0 1.0 0.0 527.01 MB

基于RTMP和RTC混合引擎的视频连麦互动直播

Ruby 0.26% Objective-C 99.74%

anyrtc-rtmpc-ios's Introduction

anyRTMPC-HybridEngine-iOS

基于RTMP和RTC混合引擎的在线视频连麦互动直播。
iOS 直播(网络自适应码率RTMP publisher)、点播播放器(播放器经过专业优化,可实现秒开RTMP Player)、基于RTMP 和RTC 混合引擎的的视频连麦互动(最多支持四路连麦互动)。

简介

anyRTMPC-HybridEngine-iOS是为移动端应用量身打造的基于RTMP和RTC混合引擎的连麦互动流媒体直播系统。通过集成本SDK,只需几个简单API调用,便可实现一套完整的连线麦互动直播流媒体应用。包含了流媒体应用中:『采集->编码->传输->解码->播放->连麦视频互动』的所有步骤。

关于SDK库

由于Github 上限制文件大小,故demo 中的库是基于armv7,armv7s,arm64的,所以调试必须用真机~

优势

  • 超低延时
  • 超低内存
  • 无缝连接(原有方案不变的情况,直接嵌入SDK)
  • 文字互动、弹幕消息
  • 人员上下线
  • 多达4人同时在线连麦视频互动

导入SDK

Cocoapods导入

pod 'RTMPCHybirdEngine', '~> 3.0.1'

手动导入

  1. 下载Demo,或者前往anyRTC官网下载SDK
    list_directory

  2. 在Xcode中选择“Add files to 'Your project name'...”,将RTMPCHybirdEngine.framework添加到你的工程目录中

  3. 打开General->Embedded Binaries中添加RTMPCHybirdEngine.framework

扫码体验

scan

注意事项:

安装后提示"未受信任的企业开发者"--> 前往设置-->通用-->描述文件与设备管理-->选择企业级应用-->信任

操作步骤:

  1. 一部手机作为主播端创建直播,另外一部手机通过观众列表进入直播间;
  2. 同时可以通过Web连麦互动进行连麦等操作,建议使用Google浏览器。

资源中心

更多详细方法使用,请查看API文档

SDK包含

RTC 连麦互动
RTMP 推流器
RTMP 播放器

编译环境

xcode 7以上
替换Demo中的推流跟拉流地址便可~

支持的系统平台

iOS 8.0及以上

支持的CPU架构

iOS armv7 、arm64。  支持bitcode

支持的流媒体服务端

fms, wowza, evostream, red5, crtmpserver, nginx-rtmp-module, srs及其他标准RTMP协议服务端

支持的流媒体云服务器

网宿UCloud及其他标准RTMP协议云服务器

项目特点

1. 商业级开源代码,高效稳定
2. 超小内存占有率,移动直播针对性极致优化,代码冗余率极低
3. iOS全平台适配,硬件编解码可保证99%的可用性
4. 接口极简,推流:2个 拉流:2个
5. 底层库C++核心库代码风格采用:Google code style
6. 极简内核,无需再去深扒复杂的FFMpeg代码
7. 实用主义,那些什么坑什么优化等概念请搜索相关文章
8. OpenH264软件编码,FFMpeg软件解码,FAAC/FAAD软件编解码,适配不同系统的硬件编解码统统包含
9. 支持SRS、Nginx-RTMP等标准RTMP服务;同时支持各大CDN厂商的接入

ipv6

苹果2016年6月新政策规定新上架app必须支持ipv6-only。该库已经适配

Swift连麦互动Demo

anyRTMPC-HybridEngine-Swift

Android版连麦互动

anyRTMPC-HybridEngine-Android

Web版连麦互动

anyRTMPC-HybridEngine-web

更新日志

  • 2019年05月23日:

(1)游客端添加"获取视频的原始采集数据"的回调

//获取视频的原始采集数据
- (CVPixelBufferRef)onRTCCaptureVideoPixelBuffer:(CMSampleBufferRef)sampleBuffer;

(2)修复音频模式下不操作会锁屏的问题。

  • 2019年05月15日:

SDK更新3.0.0版本

  • 2018年11月06日:

修复iOS 9系统时,退出会议崩溃的问题

  • 2018年10月31日:
    (1)修复美颜相机情况下,本地视频添加子视图镜像的问题。
    (2)RTMeetKitDelegate添加开启屏幕共享、关闭屏幕共享的回调;
//用户开启桌面共享
-(void)onRTCOpenScreenRender:(NSString*)strRTCPeerId withRTCPubId:(NSString *)strRTCPubId withUserId:(NSString*)strUserId withUserData:(NSString*)strUserData;

//用户退出桌面共享
-(void)onRTCCloseScreenRender:(NSString*)strRTCPeerId withRTCPubId:(NSString *)strRTCPubId withUserId:(NSString*)strUserId;

技术支持

anyRTC官方网址:https://www.anyrtc.io
QQ技术交流群:554714720
联系电话:021-65650071-816
Email:[email protected]

关于直播

本公司有一整套直播解决方案,特别针对移动端。本公司开发者平台www.anyrtc.io。除了基于RTMP协议的直播系统外,我公司还有基于WebRTC的时时交互直播系统、P2P呼叫系统、会议系统等。快捷集成SDK,便可让你的应用拥有时时通话功能。欢迎您的来电~

License

RTMPCHybridEngine is available under the MIT license. See the LICENSE file for more info.

anyrtc-rtmpc-ios's People

Contributors

boyuanzjq avatar dynceric avatar dyncming avatar jeff885 avatar jhdync avatar zzuzjq avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.