直播ios 版_第三方pptp客户端ios

直播ios 版_第三方pptp客户端ios当前视频直播非常火爆,手机端的视频直播也非常火爆,PGC、UGC的视频直播门槛都降低了很多。本文介绍一个:IOS客户端直播的SDK,代码完全开源。直播时代:让IOS普通开发者一天内做出一个R

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

当前视频直播非常火爆,手机端的视频直播也非常火爆,PGC、UGC的视频直播门槛都降低了很多。

本文介绍一个:IOS 客户端直播的SDK,代码完全开源。

直播时代:让IOS普通开发者一天内做出一个RTMP直播客户端,并且带有美艳直播功能。(文章最下面有github源码地址)

包含一下功能:

1, 提供IOS苹果手机的RTMP推流;

填写RTMP服务地址,直接就可以进行推流。

2,美颜直播

美不美都能装的直播,IOS OPENGL美艳加速,手机完全不发烫。

3,前后摄像头随时切换

4,提供RTMP连接状态的回调

一,首先简单扫盲

当前直播都是用RTMP协议,推流到RTMP服务器。

然后RTMP服务器提供RTMP视频服务;

当然通常RTMP服务器也提供HLS,把视音频流切片成ts流,然后用户可以直接播放xxx.m3u8的流媒体。

 

二,SDK使用简介

1,初始化

[LiveVideoCoreSDK sharedinstance]:全局独立的SDK实例,你不用管理对象的申请和释放;

初始化RTMP连接和视频参数,非常简单:

[[LiveVideoCoreSDK sharedinstance] LiveInit:RtmpUrl Preview:self.view VideSize:LIVE_VIEDO_SIZE_CIF BitRate:LIVE_BITRATE_500Kbps FrameRate:LIVE_FRAMERATE_20];

参数:

RtmpUrl: rtmp服务器地址参数,如rtmp://192.168.30.191/live/123456

Preview: IOS本地预览显示的UIVIEW对象,现在都喜欢全屏直播模式,这里直接用self.view

VideSize: 视频分辨率。这里提供了几种视频分辨率,CIF(320*640),D1(540*960),720P(720*1280)

BitRate: 视频码率。有500kbps对应CIF,800kbps对应D1, 2Mbps对应720p,怎么配置就看你手机当前的带宽情况了。

FrameRate: 视频帧率。这个决定视频流畅程度,帧率越高越流畅。这里提供:15帧/s,20帧/s,25帧/s,20帧/s

2,连接RTMP视频服务器

[[LiveVideoCoreSDK sharedinstance] connect];

调用这个接口后,开始打开iphone本地手机预览,并且开始连接RTMP服务器。

如果网络没有问题,RTMP服务器没有问题,直播就开始了,简单吧!

直播ios 版_第三方pptp客户端ios

3,设置滤镜:提供美艳效果

– (void)setFilter:(LIVE_FILTER_TYPE) type;

当前提供了美白效果,设置一个LIVE_FILTER_BEAUTY这个参数,看看你有多美白。

直播ios 版_第三方pptp客户端ios

4,设置前后摄像头

– (void)setCameraFront:(Boolean)bCameraFrontFlag;

前后摄像头随时动态切换,想怎么拍就怎么拍。

5,设置RTMP连接状态回调

[LiveVideoCoreSDK sharedinstance].delete = self;

在你的viewcontroller中实现协议:LIVEVCSessionDelegate,如下,这样你可以随时知道RTMP连接的状态了。

//rtmp status delegate:

– (void) LiveConnectionStatusChanged: (LIVE_VCSessionState) sessionState{

    dispatch_async(dispatch_get_main_queue(), ^{

        switch (sessionState) {

            case LIVE_VCSessionStatePreviewStarted:

                _RtmpStatusLabel.text = @”RTMP状态: 预览未连接”;

                break;

            case LIVE_VCSessionStateStarting:

                _RtmpStatusLabel.text = @”RTMP状态: 连接中…”;

                break;

            case LIVE_VCSessionStateStarted:

                _RtmpStatusLabel.text = @”RTMP状态: 已连接”;

                break;

            case LIVE_VCSessionStateEnded:

                _RtmpStatusLabel.text = @”RTMP状态: 未连接”;

                break;

            case LIVE_VCSessionStateError:

                _RtmpStatusLabel.text = @”RTMP状态: 错误”;

                break;

            default:

                break;

        }

    });

}

6,直播结束,断开rtmp连接

[[LiveVideoCoreSDK sharedinstance] disconnect];简单吧,不解释了。

 

GitHub地址: https://github.com/runner365/LiveVideoCoreSDK

最后,如果觉得代码对你有帮助,请在github中帮助“star”,加个小星星。

如果有问题,可以在我的问题区提问,欢迎交流。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/167315.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 『机器学习笔记 』GBDT原理-Gradient Boosting Decision Tree

    『机器学习笔记 』GBDT原理-Gradient Boosting Decision Tree1.背景1.1GradientBoosting1.2提升树-boostingtree回归问题提升树算法2GradientBoostingDecisionTree2.1函数空间的数值优化2.2算法Shrinkage总结附录参考资料相似算法:1.背景决策树是一种基本的分类与回归方法。决策树模型具有分类速度快,模型…

  • 阿里笔试题-选择_阿里笔试题

    阿里笔试题-选择_阿里笔试题如下函数,在32bit系统foo(2^31-3)的值是:Int foo(int x){Return x&-x;}答案解析:2^31-3&-2^31-3=2^((31-3)&(-2))^(31-3)=2^(28&(-2))^28=2^28^28=2^0=2

  • Linux for周期运行命令注意事项

    Linux for周期运行命令注意事项

  • 海洋测绘 知识点 详细

    海洋测绘 知识点 详细一、第一章海洋测绘概述第一节、海洋测绘的发展第二节、世界海洋新格局1.海洋法公约的一些主要概念与定义:(1)内海:也叫内水,指的是领海基线以内的水域,国家对其享有完全排他性主权(2)领海:领海向外延伸12海里的区域(1海里(nmi)=1.852千米(km),沿海国主权管辖下与其海岸或内水相邻的一定宽度的海域,是国家领土的组成部分(3)毗邻区:毗邻国家领海,并在领海外一定宽度的,供沿…

  • int8与int16_将int型转为char型

    int8与int16_将int型转为char型工作中经常碰到int8_t、int16_t、int32_t、int64_t、uint8_t、size_t、ssize_t等数据类型,所以有必要对此进行梳理。int_t同类int_t为一个结构的标注,可以理解为type/typedef的缩写,表示它是通过typedef定义的,而不是一种新的数据类型。因为跨平台,不同的平台会有不同的字长,所以利用预编译和typedef可以最有效的维护代码。…

  • media type的类型汇总

    media type的类型汇总用的比较多的是screen和print:区分打印和屏幕显示(Android,iPhone都不是手持设备handheld,都是screen设备)转载于:https://www.cnblogs.com/hulaoxi/p/6140054.html

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号