Skip to content

Camera and Microphone streaming library via RTMP for Android.

License

Notifications You must be signed in to change notification settings

HaishinKit/HaishinKit.kt

HaishinKit for Android, iOS, macOS, tvOS and visionOS.

GitHub license GitHub Sponsor

💖 Sponsors

Do you need additional support? Technical support on Issues and Discussions is provided only to contributors and academic researchers of HaishinKit. By becoming a sponsor, we can provide the support you need.

Sponsor: $50 per month: Technical support via GitHub Issues/Discussions with priority response.

🎨 Features

  • Protocols ✨Publish and playback feature are available RTMP.
  • Multi Camera access ✨Support multi camera access.
  • Multi Streaming ✨Allowing live streaming to separate services. Views also support this, enabling the verification of raw video data.
  • Video mixing ✨Possible to display any text or bitmap on a video during broadcasting or viewing. This allows for various applications such as watermarking and time display.

🐾 Examples

  • Reference implementation app for live streaming publish and playback.
  • If an issue occurs, please check whether it also happens in the examples app.
git clone https://github.com/HaishinKit/HaishinKit.kt.git
cd HaishinKit.kt

# Open [Android Studio] -> [Open] ...

🔧 Usage

Gradle dependency

JitPack

  • A common mistake is trying to use implementation com.github.HaishinKit.**HaishinKit.kt**, which does not work. The correct form is implementation com.github.HaishinKit.**HaishinKit~kt**.
  • In older versions, there may be cases where JitPack is not supported. If it's not available, please give up and use the latest version.
allprojects {
  repositories {
    maven { url 'https://jitpack.io' }
  }
}

dependencies {
  implementation 'com.github.HaishinKit.HaishinKit~kt:haishinkit:x.x.x'
  implementation 'com.github.HaishinKit.HaishinKit~kt:rtmp:x.x.x'
  implementation 'com.github.HaishinKit.HaishinKit~kt:compose:x.x.x'
  implementation 'com.github.HaishinKit.HaishinKit~kt:lottie:x.x.x'
}

Dependencies

- minSdk Android Requirements Status Description
haishinkit 21+ 5 Require Stable It's the base module for HaishinKit.
rtmp 21+ 5 Require Stable It's support for an rtmp streaming.
compose 21+ 5 Optional Beta It's support for a composable component for HaishinKit.
lottie 21+ 5 Optional Beta It's a module for embedding Lottie animations into live streaming video.

Android manifest

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />

Prerequisites

ActivityCompat.requestPermissions(
    this, arrayOf(
        Manifest.permission.CAMERA,
        Manifest.permission.RECORD_AUDIO
    ), 1
)

🌏 Related projects

Project name Notes License
HaishinKit for iOS, macOS, tvOS and visionOS. Camera and Microphone streaming library via RTMP for Android. BSD 3-Clause "New" or "Revised" License
HaishinKit for Flutter. Camera and Microphone streaming library via RTMP for Flutter. BSD 3-Clause "New" or "Revised" License

📜 License

BSD-3-Clause

About

Camera and Microphone streaming library via RTMP for Android.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Sponsor this project

  •  

Packages

No packages published

Contributors 5

Languages