RTMP live streaming client for Android
Clone or download
begeekmyfriend Fix white line on left side of the screen
The buffer address is forced to be aligned by allocateDirect method in
ByteBuffer so the valid data may not be stored from the first byte of the
buffer witch is still returned by the array method in ByteBuffer. So we need
to substitute allocate method for allocate direct method when fetching the
image from the camera.

Signed-off-by: begeekmyfriend <begeekmyfriend@gmail.com>
Latest commit fea87c8 Jun 15, 2018

README.md

Yet Another Stream Encoder for Android

Android Arsenal

Yasea is an Android streaming client. It encodes YUV and PCM data from camera and microphone to H.264/AAC, encapsulates in FLV and transmits over RTMP.

Branch

non-gpuimage for demo without GPUImage module.

android-16 for Android API 16+.

aac-hev2 for Youtube live broadcast that is not compatible with conventional flash media players.

Feature

  • Android mini API 21.
  • H.264/AAC hard encoding.
  • H.264 soft encoding.
  • RTMP streaming with state callback handler.
  • Portrait and landscape dynamic orientation.
  • Front and back cameras hot switch.
  • Recording to MP4 while streaming.
  • Beautiful filters with GPUImage.
  • Acoustic echo cancellation and automatic gain control support.

Test

You may build your own private RTMP server srs. Remember to modify the URL by yourself. Have fun!

NOTE if you feel high latency, please check your bandwidth limits and player buffering.

Acknowledgements

Sponsor

  • dotEngine -- A brilliant realtime multimedia communication service vendor with open cross-platform SDK (github).