Skip to content

j2meplan/rtmp_streamer_for_android

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

阅读对象

    本文档面向所有使用该SDK的开发人员, 测试人员等, 要求读者具有一定的Android编程开发经验.

介绍

    该工具实现了一种将数据流推送到流媒体服务器上的高效方案,我们提供简洁的api供调用者使用
    ,我们不仅提供了丰富的个性化接口,而且用户还可以方便的进行二次开发。

主要功能

    1.  音频编码:AAC
    2.  视频编码:H.264
    3.  推流协议:RTMP
    4.  视频分辨率:640x360 
    5.  屏幕朝向: 竖屏
    6.  iOS摄像头:前, 后置摄像头(可动态切换)
    7.  音视频目标码率:可设
    8.  根据网络带宽自适应调整视频的码率
    9.  闪光灯:开/关
    10. 自动美颜,磨皮
    11. H265支持

使用方法

   1. 环境配置
      安装android studio 和ndk 以及java运行环境,ndk版本为android-ndk64-r10e-linux-x86_64.tar.bz2,
      交错编译请查看auto.sh文件
   2. sdk使用方法
      在项目中导入'package com.ksy.ksyrecordsdk;'
      
创建实例代码:
'private void setupRecord() {
    client = KsyRecordClient.getInstance(getApplicationContext());
    client.setConfig(config);
    client.setDisplayPreview(mSurfaceView);
    client.setOrientationActivity(this);
    client.setNetworkChangeListener(this);
    client.setPushStreamStateListener(this);
    client.setSwitchCameraStateListener(this);
    client.setStartListener(this);
    client.setOnClientErrorListener(this);
}'
开启推流:
' private void startRecord() {
    Log.d(Constants.LOG_TAG, "startRecord..");
    try {
        client.startRecord();
        mRecording = true;
        mFab.setImageDrawable(getResources().getDrawable(R.mipmap.btn_stop));
    } catch (KsyRecordException e) {
        e.printStackTrace();
        Log.d(Constants.LOG_TAG, "Client Error, reason = " + e.getMessage());
    }
}'
停止推流:
’ protected void onStop() {
    super.onStop();
    showToast("程序关闭");
    orientationObserver.disable();
    client.unregisterNetworkMonitor();
    if (mRecording) {
        stopRecord();
    }
}‘

About

推送rtmp流到流媒体服务器,包含jni层源码

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 79.2%
  • Java 9.7%
  • C++ 5.6%
  • Makefile 2.1%
  • HTML 1.2%
  • Roff 0.9%
  • Other 1.3%