iOS摄像头推流(2)
1. 纯音频推流
如果您的直播场景是纯音频直播,不需要视频画面,那么您可以不执行 第4步 中的操作,取而代之的是开启 TXLivePushConfig 中的enablePureAudioPush
配置。
[](javascript: void 0;)
//通过修改 enablePureAudioPush 开关,开启纯音频推流
TXLivePushConfig *_config = [[TXLivePushConfig alloc] init];
_config.enablePureAudioPush = YES; // YES 为启动纯音频推流,只有在调用 startPush 前设置才会生效。
TXLivePush *_pusher = [[TXLivePush alloc] initWithConfig: _config];
NSString* rtmpUrl = @"rtmp://test.com/live/xxxxxx";
[_pusher startPush:rtmpUrl];
如果您启动纯音频推流,但是 rtmp、flv 、hls 格式的播放地址拉不到流,那是因为线路配置问题,请 提工单 联系我们帮忙修改配置。
2. 设定画面清晰度
调用 TXLivePush 中的setVideoQuality
接口,可以设定观众端的画面清晰度。之所以说是观众端的画面清晰度,是因为主播看到的视频画面是未经编码压缩过的高清原画,不受设置的影响。而setVideoQuality
通过设定视频编码器的编码质量,使观众端感受到画质的差异。详情请参考 设定画面质量。
3. 美颜美白和红润特效
调用 TXLivePush 中的setBeautyStyle
接口可以设置美颜效果,SDK 中提供了两种磨皮算法(beautyStyle):
美颜风格
效果说明
BEAUTY_STYLE_SMOOTH
光滑风格,算法更加注重皮肤的光滑程度,适合秀场直播类场景下使用。
BEAUTY_STYLE_NATUREiOS开发交流技术群:563513413,不管你是大牛还是小白都欢迎入驻
自然风格,算法更加注重保留皮肤细节,适合对真实性要求更高的主播。
[](javascript: void 0;)
// beautyStyle : 美颜算法,目前支持 自然 和 光滑 两种。
// beautyLevel : 磨皮级别,取值范围 0 - 9; 0 表示关闭 1 - 9值越大 效果越明显。
// whitenessLevel : 美白级别,取值范围 0 - 9; 0 表示关闭 1 - 9值越大 效果越明显。
// ruddinessLevel : 红润级别,取值范围 0 - 9; 0 表示关闭 1 - 9值越大 效果越明显。
(void)setBeautyStyle:(int)beautyStyle beautyLevel:(float)beautyLevel
whitenessLevel:(float)whitenessLevel ruddinessLevel:(float)ruddinessLevel;
4. 色彩滤镜效果
调用 TXLivePush 中的setFilter
接口可以设置色彩滤镜效果。所谓色彩滤镜,是指一种将整个画面色调进行区域性调整的技术,例如将画面中的淡黄色区域淡化实现肤色亮白的效果,或者将整个画面的色彩调暖让视频的效果更加清新和温和。
调用 TXLivePush 中的setSpecialRatio
接口可以设定滤镜的浓度,设置的浓度越高,滤镜效果也就越明显。
从手机 QQ 和 Now 直播的经验来看,单纯通过setBeautyStyle
调整磨皮效果是不够的,只有将美颜效果和setFilter
配合使用才能达到更加多变的美颜效果。所以,我们的设计师团队提供了17种默认的色彩滤镜,并将其默认打包在 Demo 中供您使用。
[](javascript: void 0;)
NSString * path = [[NSBundle mainBundle] pathForResource:@"FilterResource" ofType:@"bundle"];
path = [path stringByAppendingPathComponent:lookupFileName];
UIImage *image = [UIImage imageWithContentsOfFile:path];
[_pusher setFilter:image];
[_pusher setSpecialRatio:0.5f];
5. 控制摄像头
TXLivePush 提供了一组 API 用户控制摄像头的行为:
API 函数
功能说明
备注说明
switchCamera
切换前后摄像头
Mac 平台对应的函数为 selectCamera
。
toggleTorch
打开或关闭闪光灯
仅在当前是后置摄像头时有效。
setZoom
调整摄像头的焦距
焦距大小,取值范围:1 - 5,默认值建议设置为1即可。
setFocusPosition
设置手动对焦位置
需要将 TXLivePushConfig 中的touchFocus
选项设置为 YES 后才能使用
- AWK 深入浅出教程
- Docker系列教程09-使用Docker Hub管理镜像
- C++11基础学习系列一
- 触屏touchstart 与 click
- Linux DNS之dig利器
- Docker系列教程08-Dockerfile实战
- VirtualBox和Vmware安装增强功能
- 事件委托与阻止冒泡
- Linux网络工具之Ping命令
- Linux DNS之nslookup命令
- 【LEETCODE】模拟面试-108-Convert Sorted Array to Binary Search Tree
- javascript单线程环境实现真正的setTimeout
- 利用pipework与OVS构建跨主机容器网络
- Docker系列教程07-Dockerfile指令详解
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- 利用TfidfVectorizer进行中文文本分类(数据集是复旦中文语料)
- 组合模式
- Js中数组空位问题
- 反转字符串
- Prime Path(POJ - 3126)【BFS+筛素数】
- (leetcode每日打卡)秋叶收藏集【动态规划】
- 设计模式~调停者模式(Mediator)
- Sequential Nim(CodeForces - 1382B)【博弈】
- Less Coin Tosses(Gym - 102346L)【打表+找规律】
- leetcode1558题解【贪心】
- 如何将炫酷的报表直接截图发送邮件——在Superset 0.37使用Schedule Email功能
- Kafka监控必备——Kafka-Eagle 2.0.2正式发布
- 安防/教育/互联网直播视频组件EasyRTSPServer读取本地文件报错找不到EasyStreamClient.dll解决方法
- C语言编程入门之--第六章C语言控制语句
- RTSP网络摄像头网页无插件直播视频平台EasyNVR自定义标题和CopyRight步骤