Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >ios摄像头推流(1)

ios摄像头推流(1)

原创
作者头像
ios-lan
修改于 2020-10-19 02:08:40
修改于 2020-10-19 02:08:40
1.4K00
代码可运行
举报
文章被收录于专栏:ios技术安装ios技术安装
运行总次数:0
代码可运行

iOS之摄像头推流

功能概述

摄像头推流,是指采集手机摄像头的画面以及麦克风的声音,进行编码之后再推送到直播云平台上。腾讯云 LiteAVSDK 通过 TXLivePusher 接口提供摄像头推流能力,如下是 LiteAVSDK 的简单版 Demo 中演示摄像头推流的相关操作界面:

特别说明

  • 不绑定腾讯云 SDK 不绑定腾讯云,如果要推流到非腾讯云地址,请在推流前设置 TXLivePushConfig 中的enableNearestIP为 false。但当您要推流的地址为腾讯云地址时,请务必在推流前将其设置为 YES,否则 SDK 针对腾讯云的协议优化将不能发挥作用。
  • x86 模拟器调试 由于 SDK 大量使用 iOS 系统的音视频接口,这些接口在 Mac 上自带的 x86 仿真模拟器下往往不能工作。所以,如果条件允许,推荐您尽量使用真机调试。

示例代码

所属平台

GitHub 地址

关键类

iOS

Github

CameraPushViewController.m

Android

Github

CameraPushImpl.java

功能对接

1. 下载 SDK 开发包

下载 SDK 开发包,并按照 SDK 集成指引 将 SDK 嵌入您的 App 工程中。

2. 给 SDK 配置 License 授权

单击 License 申请 获取测试用的 License,您会获得两个字符串:一个字符串是 licenseURL,另一个字符串是解密 key。

在您的 App 调用 LiteAVSDK 的相关功能之前(建议在 - [AppDelegate application:didFinishLaunchingWithOptions:] 中)进行如下设置:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@import TXLiteAVSDK_Professional;
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    NSString * const licenceURL = @"<获取到的licenseUrl>";
    NSString * const licenceKey = @"<获取到的key>";

    //TXLiveBase 位于 "TXLiveBase.h" 头文件中
    [TXLiveBase setLicenceURL:licenceURL key:licenceKey]; 
    NSLog(@"SDK Version = %@", [TXLiveBase getSDKVersionStr]);
}
@end
复制代码
3. 初始化 TXLivePush 组件

首先创建一个TXLivePushConfig对象。该对象可以指定一些高级配置参数,但一般情况下我们不建议您操作该对象,因为我们已经在其内部配置好了所有需要校调的参数。之后再创建一个TXLivePush对象,该对象负责完成推流的主要工作。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 TXLivePushConfig *_config = [[TXLivePushConfig alloc] init];  // 一般情况下不需要修改默认 config   

 TXLivePush *_pusher = [[TXLivePush alloc] initWithConfig: _config]; // config 参数不能为空
复制代码
4. 开启摄像头预览

调用 TXLivePush 中的startPreview接口可以开启当前手机的摄像头预览。您需要为startPreview 接口提供一个用于显示视频画面的 view 对象。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 //创建一个 view 对象,并将其嵌入到当前界面中
 UIView *_localView = [[UIView alloc] initWithFrame:self.view.bounds];
 [self.view insertSubview:_localView atIndex:0];
 _localView.center = self.view.center;

 //启动本地摄像头预览
 [_pusher startPreview:_localView];
复制代码

注意: 如果要给 view 增加动画效果,需要修改 view 的 transform 属性而不是 frame 属性。 [UIView animateWithDuration:0.5 animations:^{ _localView.transform = CGAffineTransformMakeScale(0.3, 0.3); //缩小1/3 }]; 复制代码

5. 启动和结束推流

如果已经通过startPreview接口启动了摄像头预览,就可以调用 TXLivePush 中的startPush接口开始推流。563513413,不管你是大牛还是小白都欢迎入驻

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//启动推流
NSString* rtmpUrl = @"rtmp://test.com/live/xxxxxx";    //此处填写您的 rtmp 推流地址
[_pusher startPush:rtmpUrl];
复制代码

推流结束后,可以调用 TXLivePush 中的stopPush接口结束推流。请注意,如果已经启动了摄像头预览,请在结束推流时将其关闭,否则会导致 SDK 的表现异常。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//结束推流
[_pusher stopPreview]; //如果已经启动了摄像头预览,请在结束推流时将其关闭。
[_pusher stopPush];
复制代码
  • 如何获取可用的推流 URL? 开通直播服务后,可以使用【直播控制台】>【辅助工具】> 【地址生成器】 生成推流地址,详细信息请参见 推拉流 URL

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
iOS摄像头推流(2)
如果您的直播场景是纯音频直播,不需要视频画面,那么您可以不执行 第4步 中的操作,取而代之的是开启 TXLivePushConfig 中的enablePureAudioPush配置。
ios-lan
2020/10/19
8630
腾讯视频直播02-推流
上一篇文章已经说过,它是指将音视频数据采集编码之后,推送到您指定的视频云平台上。笼统一点就是,推流是直播的主播端,把主播端采集的音视频数据上传到视频云平台上(我们这里是腾讯云平台),然后粉丝通过我的房间号,进入我的直播间。
乱码三千
2021/07/29
5.6K0
腾讯视频直播02-推流
腾讯云音视频播放器又上新啦!短视频秒开组件、加密画中画等功能让音视频播放更专业!
根据腾讯云音视频官方的消息显示,播放器SDK是音视频终端SDK的子产品之一,它采用“腾讯视频”同款播放内核,经过内部业务长期优化和海量服务验证,对比系统播放器性能可提升20%-50%,同时具备“臻彩视听”、精准Seek、画中画等丰富功能,为用户提供直播、点播场景下流畅稳定的音视频播放能力,覆盖泛娱乐、电商、教育等多样化音视频业务场景,支持Web/H5、iOS、Android、Flutter平台。
三掌柜
2023/12/29
1.2K4
腾讯云音视频播放器又上新啦!短视频秒开组件、加密画中画等功能让音视频播放更专业!
NDK--利用Camera和AudioRecord实现直播推流
当rtmp连接建立后,native层会回调方法:onPostNativeState,最终在PushHelper中调用VideoPush的startPush方法,该方法开启摄像头预览,将参数传给native层,并会不断调用onPreviewFrame方法将摄像头数据传递给native层。
aruba
2021/04/07
2.7K0
NDK--利用Camera和AudioRecord实现直播推流
iOS音视频接入- TRTC互动直播
在直播模式下,TRTC 引入了角色的概念,用户被分成“主播”和“观众”两种角色,“主播”会被分配到接口机上,“观众”则被分配在代理机,同一个房间的观众人数上限为10万人。
小明同学接音视频
2020/10/14
5.3K0
iOS音视频接入- TRTC互动直播
【云函数SCF】TRTC直播推流+页面渲染推流云直播实践
该文档只作为功能实践,让读者对trtc直播,页面渲染,以及云直播有个大致直观的了解,不作为生产环境使用。
metajiyuan
2022/09/01
6.1K0
Android平台下使用FFmpeg进行RTMP推流(摄像头推流)
前面讲到了在Android平台下使用FFmpeg进行RTMP推流(视频文件推流),里面主要是介绍如何解析视频文件并进行推流,今天要给大家介绍如何在Android平台下获取采集的图像,并进行编码推流。同时项目工程也是在之前的代码基础上新增功能。源码仓库地址FFmpegSample,这一节对应的代码版本是v1.2。大家注意不要下载错了版本。主要涉及的代码。
用户2929716
2018/08/23
6.7K0
Android平台下使用FFmpeg进行RTMP推流(摄像头推流)
iOS移动直播,自定义采集视频数据推流
当音视频采集和预处理(即美颜、滤镜这些)开发者已经全部实现,只需要使用 SDK 来编码和推流,那么可以通过 TXLiteAVSDK 提供的自定义采集数据接口来满足该场景。
腾讯云-chaoli
2019/03/14
3.5K0
iOS移动直播,自定义采集视频数据推流
移动直播技术知多少:基础原理解析 & 腾讯云直播接入
2020 年,由于新型冠状病毒疫情的爆发,视频直播互动更是一飞冲天,在网购、游戏、教育、金融等等方面都呈现爆发式发展。
开发的猫
2020/05/04
5.6K0
【腾讯云】TRTC直播推流+页面渲染推流云直播实践
该文档只作为功能实践,让读者对trtc直播,页面渲染,以及云直播有个大致直观的了解,不作为生产环境使用。
williamji
2022/08/31
14.5K0
移动直播连麦解决方案
最开始观看直播是主播在那边又唱又跳,而你想与女神互动,只能简单的刷刷弹幕送送礼物。直到有了连麦,你才能用音视频的方式和主播互动,让女神看到你的画面,一起诉说风花雪月。
腾讯视频云-Zachary
2019/09/07
6.8K0
移动直播连麦解决方案
移动直播 SDK License 使用指南
您可以免费申请测试 License(基础版,有效期14天,可申请两次)体验测试,具体步骤如下:
用户6329450
2019/09/25
7.5K0
移动直播 SDK License 使用指南
腾讯云音视频保姆级教程教你快直播接入,速戳!| 技术创作特训营第一期
在开始学习如何接入直播之前,先来了解一下腾讯云音视频服务的基本概念和核心功能。腾讯云音视频服务提供了全球覆盖的直播分发网络,可实现高质量的音视频直播和点播,其核心功能包括推流、播放、转码、录制和实时消息等等,为开发者提供了丰富的工具和接口服务。
三掌柜
2023/08/27
1.4K2
腾讯云音视频保姆级教程教你快直播接入,速戳!| 技术创作特训营第一期
直播ios 版_第三方pptp客户端ios
当前视频直播非常火爆,手机端的视频直播也非常火爆,PGC、UGC的视频直播门槛都降低了很多。
全栈程序员站长
2022/09/20
8160
直播ios 版_第三方pptp客户端ios
移动直播MLVB常见问题(FAQ)
快速入门:https://cloud.tencent.com/document/product/454/7876
腾讯视频云-Zachary
2020/04/04
9K0
移动直播MLVB常见问题(FAQ)
FFmpeg-iOS获取摄像头麦克风
FFmpeg_allluckly.cn.png Mac编译ffmpeg获取FFmpeg-iOS ffmpeg的H.264解码 FFmpeg-iOS推流器的简单封装 今天咱来讲讲在iOS 平台上利用ffmpeg获取到摄像头和麦克风,代码很少,后面再加上iOS 自带的获取摄像头的例子; FFmpeg获取摄像头麦克风 首先导入必要的头文件 #include <stdio.h> #ifdef __cplusplus extern "C" { #endif #include <libavcodec/avco
Bison
2018/07/04
1.8K0
LiteAVSDK集成,动态加载so库
安卓开发中使用Android studio集成三方SDK(比如腾讯视频云移动直播、播放器、短视频、实时音视频),通常有两种集成方式:aar集成、jar+so集成。安卓集成已经很成熟了,详见SDK集成指引。
腾讯云-chaoli
2019/05/06
9K0
LiteAVSDK集成,动态加载so库
关于直播卖货小程序源码推流功能的实现
在直播卖货小程序源码中,含有直播功能的。因此,是需要通过微信小程序后台配置推流接口的,那么具体该如何实现呢?下面小编将结合代码,为大家具体讲解下。
万岳教育系统
2020/08/04
1.3K0
【硬件设备】海康RTMP推流摄像头推流到腾讯云配置手册
每天都有很多新老用户咨询我关于RTMP推流摄像头的问题,推流摄像头的配置手册我之前已经写过(RTMP推流摄像头如何接入EasyDSS视频平台),已经持有RTMP推流摄像头的可以按照此手册进行配置。
EasyNVR
2020/10/10
7.9K1
【硬件设备】海康RTMP推流摄像头推流到腾讯云配置手册
移动直播集成问题
一旦设置了码率,调用setVideoQuality:adjustBitrate:adjustResolution(推荐这个方法)
rkChen
2020/09/06
4K1
推荐阅读
相关推荐
iOS摄像头推流(2)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验