张萌&韩墨羽——android摄像头推流

本文介绍了如何使用腾讯云LiteAVSDK在Android设备上进行摄像头推流,包括开启摄像头预览、设置画面质量、美颜效果、滤镜、控制摄像头行为、处理隐私模式以及设置水印等功能。
摘要由CSDN通过智能技术生成

android摄像头推流

功能概述

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

不绑定腾讯云
SDK 不绑定腾讯云,如果要推流到非腾讯云地址,请在推流前设置 TXLivePushConfig 中的 enableNearestIP为 NO。但当您要推流的地址为腾讯云地址时,请务必在推流前将其设置为 YES,否则 SDK 针对腾讯云的协议优化将不能发挥作用。

真机调试
由于 SDK 大量使用 Android 系统的音视频接口,这些接口在仿真模拟器下往往不能工作,推荐您尽量使用真机调试。

功能对接

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

  2. 给 SDK 配置 License 授权
    单击 License 申请 获取测试用 License,您会获得两个字符串:其中一个字符串是 licenseURL,另一个字符串是解密 key。

在您的 App 调用企业版 SDK 相关功能之前(建议在 Application类中)进行如下设置:

 public class MApplication extends Application {

    @Override
    public void onCreate() {
        super.onCreate();
        String licenceURL = ""; // 获取到的 licence url
        String licenceKey = ""; // 获取到的 licence key
        TXLiveBase.getInstance().setLicence(this, licenceURL, licenceKey);
    }
}
  1. 初始化 TXLivePusher 组件
    首先创建一个TXLivePushConfig对象。该对象可以指定一些高级配置参数,但一般情况下我们不建议您操作该对象,因为我们已经在其内部配置好了所有需要校调的参数。之后再创建一个 TXLivePusher 对象,该对象负责完成推流的主要工作。

TXLivePushConfig mLivePushConfig = new TXLivePushConfig();
TXLivePusher mLivePusher = new TXLivePusher(this);

// 一般情况下不需要修改 config 的默认配置
mLivePusher.setConfig(mLivePushConfig);
4. 开启摄像头预览
欲展示摄像头的预览画面,您需要先给 SDK 提供一个用于显示视频画面的TXCloudVideoView对象,由于TXCloudVideoView是继承自 Android 中的FrameLayout,所以您可以直接在 xml 文件中添加一个视频渲染控件:

 <com.tencent.rtmp.ui.TXCloudVideoView
        android:id="@+id/pusher_tx_cloud_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

之后,就可以通过调用 TXLivePusher 中的startCameraPreview接口开启当前手机摄像头的预览画面。

//启动本地摄像头预览

 TXCloudVideoView mPusherView = (TXCloudVideoView) findViewById(R.id.pusher_tx_cloud_view);
 mLivePusher.startCameraPreview(mPusherView);
  1. 启动和结束推流
    如果已经启动了摄像头预览,就可以调用 TXLivePusher 中的startPusher接口开始推流。
 String rtmpURL = "rtmp://test.com/live/xxxxxx"; //此处填写您的 rtmp 推流地址
int ret = mLivePusher.startPusher(tRTMPURL.trim());
if (ret == -5) {
    Log.i(TAG, "startRTMPPush: license 校验失败");
}     
<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值