All Projects → pedroSG94 → Rtmp Rtsp Stream Client Java

pedroSG94 / Rtmp Rtsp Stream Client Java

Licence: apache-2.0
Library to stream in rtmp and rtsp for Android. All code in Java

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Rtmp Rtsp Stream Client Java

wsa
WSA(Websocket Streaming Agent) is a stream server target for mp4/h264 streaming over websocket
Stars: ✭ 35 (-97.38%)
Mutual labels:  streaming, stream, rtsp, rtmp
Rtsp Simple Server
ready-to-use RTSP / RTMP server and proxy that allows to read, publish and proxy video and audio streams
Stars: ✭ 882 (-34.08%)
Mutual labels:  rtsp, streaming, rtmp
Ffmpeg
Mirror of https://git.ffmpeg.org/ffmpeg.git
Stars: ✭ 27,382 (+1946.49%)
Mutual labels:  rtsp, streaming, rtmp
Rtspallthethings
Deprecated RTSP media server -- Use github.com/aler9/rtsp-simple-server instead.
Stars: ✭ 258 (-80.72%)
Mutual labels:  stream, rtsp, streaming
Rtsp.player.android
RTSP player for Android / IP camera viewer
Stars: ✭ 199 (-85.13%)
Mutual labels:  rtsp, streaming, rtmp
Multistreamer
[discontinued] A webapp for publishing video to multiple streaming services at once.
Stars: ✭ 281 (-79%)
Mutual labels:  stream, streaming, rtmp
Lol Html
Low output latency streaming HTML parser/rewriter with CSS selector-based API
Stars: ✭ 566 (-57.7%)
Mutual labels:  stream, streaming
Endoscope
Endoscope lets you to stream live video between android devices over Wi-Fi! 📱📲
Stars: ✭ 587 (-56.13%)
Mutual labels:  stream, rtsp
Nuclear
Streaming music player that finds free music for you
Stars: ✭ 7,133 (+433.11%)
Mutual labels:  stream, streaming
Json Chunks
streamable json encoder
Stars: ✭ 17 (-98.73%)
Mutual labels:  stream, encoder
Nodemediaclient Android
NodeMedia RTMP/RTMFP/RTSP/HTTP Play/Publish Client SDK for Android
Stars: ✭ 446 (-66.67%)
Mutual labels:  rtsp, rtmp
Ovenmediaengine
OvenMediaEngine (OME) is a streaming engine for real-time live broadcasting with sub-second latency.
Stars: ✭ 760 (-43.2%)
Mutual labels:  streaming, rtmp
Soundwaveinteractive
Interactive Sound Board for Mixer. Microsoft shut Mixer down, so this application no longer works. RIP Mixer.
Stars: ✭ 27 (-97.98%)
Mutual labels:  stream, streaming
Ustreamer
µStreamer - Lightweight and fast MJPG-HTTP streamer
Stars: ✭ 533 (-60.16%)
Mutual labels:  stream, streaming
Nginx Rtmp Docker
Docker image with Nginx using the nginx-rtmp-module module for live multimedia (video) streaming.
Stars: ✭ 506 (-62.18%)
Mutual labels:  stream, rtmp
Lal
🔥 Golang live stream lib/client/server. support RTMP/RTSP/HLS/HTTP[S]-FLV/HTTP-TS, H264/H265/AAC, relay, cluster, record, HTTP API/Notify, GOP cache. 官方文档见 https://pengrl.com/lal
Stars: ✭ 480 (-64.13%)
Mutual labels:  rtsp, rtmp
Cypher Stream
Neo4j Cypher queries as Node.js object streams
Stars: ✭ 58 (-95.67%)
Mutual labels:  stream, streaming
Live Stream Face Detection
Live Streaming and Face Detection with Flask in Browser
Stars: ✭ 47 (-96.49%)
Mutual labels:  rtsp, streaming
Rtp Streamer
rtp record and rtp streamer
Stars: ✭ 60 (-95.52%)
Mutual labels:  rtsp, rtmp
Athenax
SQL-based streaming analytics platform at scale
Stars: ✭ 1,178 (-11.96%)
Mutual labels:  stream, streaming

rtmp-rtsp-stream-client-java

Android Arsenal Release

Sponsored with 💖 &nbsp by
Stream Chat
Enterprise Grade APIs for Feeds & Chat. Try the Android Chat tutorial 💬

Library for stream in RTMP and RTSP. All code in Java.

If you need a player see this project:

https://github.com/pedroSG94/vlc-example-streamplayer

Wiki

https://github.com/pedroSG94/rtmp-rtsp-stream-client-java/wiki

Permissions:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!--Optional for play store-->
<uses-feature android:name="android.hardware.camera" android:required="false" />
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />

Compile

To use this library in your project with gradle add this to your build.gradle:

allprojects {
  repositories {
    maven { url 'https://jitpack.io' }
  }
}
dependencies {
  implementation 'com.github.pedroSG94.rtmp-rtsp-stream-client-java:rtplibrary:1.9.9'
}

Features:

  • [x] Android min API 16.
  • [x] Support camera1 and camera2 API
  • [x] Encoder type buffer to buffer.
  • [x] Encoder type surface to buffer.
  • [x] RTMP/RTSP auth.
  • [x] Audio noise suppressor.
  • [x] Audio echo cancellation.
  • [x] Disable/Enable video and audio while streaming.
  • [x] Switch camera while streaming.
  • [x] Change video bitrate while streaming (API 19+).
  • [X] Get upload bandwidth used.
  • [X] Record MP4 file while streaming (API 18+).
  • [x] H264, H265 and AAC hardware encoding.
  • [x] Force H264 and AAC Codec hardware/software encoding (Not recommended).
  • [x] RTSP TCP/UDP.
  • [x] Stream from video and audio files like mp4, webm, mp3, etc (Limited by device decoders). More info
  • [x] Stream device display (API 21+).
  • [X] Set Image, Gif or Text to stream on real time.
  • [X] OpenGL real time filters. More info
  • [X] RTMPS and RTSPS.
  • [X] RTSP H265 support (Waiting FLV official packetization to add RTMP support).

Other related projects:

https://github.com/pedroSG94/RTSP-Server

https://github.com/pedroSG94/AndroidReStreamer

https://github.com/pedroSG94/Stream-USB-test

Use example:

This code is a basic example. I recommend you go to Activities in app module and see all examples.

RTMP:

//default

//create builder
RtmpCamera1 rtmpCamera1 = new RtmpCamera1(openGlView, connectCheckerRtmp);
//start stream
if (rtmpCamera1.prepareAudio() && rtmpCamera1.prepareVideo()) {
  rtmpCamera1.startStream("rtmp://yourEndPoint");
} else {
 /**This device cant init encoders, this could be for 2 reasons: The encoder selected doesnt support any configuration setted or your device hasnt a H264 or AAC encoder (in this case you can see log error valid encoder not found)*/
}
//stop stream
rtmpCamera1.stopStream();

//with params

//create builder
RtmpCamera1 rtmpCamera1 = new RtmpCamera1(openGlView, connectCheckerRtmp);
//start stream
if (rtmpCamera1.prepareAudio(int bitrate, int sampleRate, boolean isStereo, boolean echoCanceler,
      boolean noiseSuppressor) && rtmpCamera1.prepareVideo(int width, int height, int fps, int bitrate, int rotation)) {
  rtmpCamera1.startStream("rtmp://yourEndPoint");
} else {
 /**This device cant init encoders, this could be for 2 reasons: The encoder selected doesnt support any configuration setted or your device hasnt a H264 or AAC encoder (in this case you can see log error valid encoder not found)*/
}
//stop stream
rtmpCamera1.stopStream();

RTSP:

//default

//create builder
//by default TCP protocol.
RtspCamera1 rtspCamera1 = new RtspCamera1(openGlView, connectCheckerRtsp);
//start stream
if (rtspCamera1.prepareAudio() && rtspCamera1.prepareVideo()) {
  rtspCamera1.startStream("rtsp://yourEndPoint");
} else {
 /**This device cant init encoders, this could be for 2 reasons: The encoder selected doesnt support any configuration setted or your device hasnt a H264 or AAC encoder (in this case you can see log error valid encoder not found)*/
}
//stop stream
rtspCamera1.stopStream();

//with params

//create builder
RtspCamera1 rtspCamera1 = new RtspCamera1(openGlView, connectCheckerRtsp);
rtspCamera1.setProtocol(protocol);
//start stream
if (rtspCamera1.prepareAudio(int bitrate, int sampleRate, boolean isStereo, boolean echoCanceler,
      boolean noiseSuppressor) && rtspCamera1.prepareVideo(int width, int height, int fps, int bitrate, int rotation)) {
  rtspCamera1.startStream("rtsp://yourEndPoint");
} else {
 /**This device cant init encoders, this could be for 2 reasons: The encoder selected doesnt support any configuration setted or your device hasnt a H264 or AAC encoder (in this case you can see log error valid encoder not found)*/
}
//stop stream
rtspCamera1.stopStream();

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].