I am currently working on several open source projects related to audio and video, which will be updated in the future. Here is a brief introduction:

MediaSDK

Github.com/JeffMony/Me… This is a dedicated audio and video playback library, currently fully open source main functions are as follows:

  • Realize the function of HLS-M3U8 video side and bottom broadcast;
  • Other non – M3U8 video playback function
  • Achieve LRU video buffer cleaning function
  • To achieve the local agent function, there are baseProxyServer and AndroidAsync two ways to achieve
  • Implement iJkPlayer and ExoPlayer player libraries

Below is the architecture diagram

The schematic is as follows:

The following is the access mode:

allprojects { repositories { ... Dependencies maven {url 'https://jitpack.io'}}} {implementation 'com. Making. JeffMony: MediaSDK: 2.0.0'}Copy the code

For details, see Github

VideoDownloader

Github.com/JeffMony/Vi… This is an SDK focused on audio and video downloads. The main functions are as follows:

  • Download the whole video, such as MP4 / MKV/MOV / 3GP video
  • Download HLS, or M3U8 video
  • When the M3U8 video is downloaded, a local local.m3u8 file is generated
  • When the video is downloaded, you can click play the video file
  • Video download database Records video download information
  • Add a video download queue

The schematic is as follows:

The following is the access mode:

allprojects { repositories { maven { url 'https://jitpack.io' } } } dependencies { implementation 'com. Making. JeffMony: VideoDownloader: 3.0.0'}Copy the code

For details, see Github

PlayerSDK

Github.com/JeffMony/Pl… This is a library focused on audio and video players, which is still being optimized. The main functions are as follows:

  • Supports iJkPlayer and ExoPlayer
  • Support progress bar and SEEK function
  • Support QR code scan url function
  • Supports the looping function
  • Supports double speed function
  • Supports switching definition function for HLS Master video

The schematic is as follows:

The following is the access mode:

Repositories {maven {url 'https://jitpack.io'}} implementation 'com. Making. JeffMony: PlayerSDK: 2.0.0'Copy the code

For details, see Github

JeffVideoCache

Github.com/JeffMony/Je…

  • 1. Realize the function of pre-loading from the player
  • 2. Realize the function of side and bottom playback of video
  • 3. Realize M3U8 video playback function
  • 4. Realize the function of playing MP4 video under the edge
  • 5. The supported players are ExoPlayer and iJkPlayer
  • 6. Access okHTTP
  • 7. You can drag the progress bar to the local cache
  • 8. Support LRU cleaning rules, you can set the cache expiration time

MediaEditSDK

Github.com/JeffMony/Me…

  • Video playback
  • Video clipping
  • Video frame Preview
  • Clipping interval is dynamically selectable.
  • Beauty filter
  • OpenGL ES effects. The video is generated after the effects are superimposed
  • Select filter when previewing the camera. – Only phones with version L or higher are supported
  • Separate audio and video (to be done)
  • Sound synthesis to video (to be done)

summary

It is still being optimized and will bring more audio and video libraries in the future.