8000 GitHub - friman/LibRtmp-Client-for-Android: It is probably the smallest(~60KB) rtmp client for android. It calls librtmp functions over JNI interface
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

friman/LibRtmp-Client-for-Android

 
 

Repository files navigation

Librtmp Client for Android

It is probably the smallest(~60KB) rtmp client for android. It calls librtmp functions over JNI interface. With all cpu architectures(arm, arm7, arm8, x86, x86-64, mips) its size is getting about 300KB

It compiles librtmp library without ssl.

In version 0.2, it supports FL 63A5 V muxing and sending stream via RTMP. FLV muxing is based on this repo https://github.com/rainfly123/flvmuxer

#####To read streams, you can call below functions of RtmpClient from Java#####

For live streams add " live=1" at the end of the url when calling the open function

  • public native int open(String url, boolean isPublishMode);
  • public native int read(byte[] data, int offset, int size);
  • public native int write(byte[] data);
  • public native int seek(int seekTime);
  • public native int pause(int pause);
  • public native int close();
  • public native int isConnected();: Call this function to query the connection status. Returns 1 if connected, returns 0 if not connected

Don't forget calling the close function after you are done. If you don't, there will be memory leakage

#####To publish streams, you can call below functions of RtmpMuxer from Java#####

  • public native int open(String url); : First, call this function with the url you plan to publish
  • public native int writeVideo(byte[] data, int offset, int length, int timestamp);: Write h264 nal units with this function
  • public native int writeAudio(byte[] data, int offset, int length, int timestamp);: Write aac frames with this function
  • public native int close();: Call this function to close the publishing.
  • public native int isConnected();: Call this function to query the connection status. Returns 1 if connected, returns 0 if not connected

To save flv file locally as well, you can use below functions

  • public native void file_open(String filename); : call this function with full file path
  • public native void write_flv_header(boolean is_have_audio, boolean is_have_video);: After opening file call this function
  • public native void file_close();: Call this function to close the file.

if any local file is opened, library will write the audio and video frames to local file as well.

Install

  • Add dependency to your build gradle
dependencies {
    ...
    compile 'net.butterflytv.utils:rtmp-client:0.2.1'
    ...
}
  • That's all. You can use RtmpClient class

This project is developed for Butterfly TV Get it on Google Play

About

It is probably the smallest(~60KB) rtmp client for android. It calls librtmp functions over JNI interface

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 93.7%
  • HTML 2.6%
  • Roff 2.1%
  • Other 1.6%
0