All Projects → xl-player-developers → Xl_player

xl-player-developers / Xl_player

A high performance Android media player, base on ffmpeg and MediaCodec, support VR video.

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Xl player

Androidffmpeg
android 读取摄像头和麦克风,使用rtmp推流
Stars: ✭ 298 (+136.51%)
Mutual labels:  opengl-es, ffmpeg, rtmp
Nodemediaclient Android
NodeMedia RTMP/RTMFP/RTSP/HTTP Play/Publish Client SDK for Android
Stars: ✭ 446 (+253.97%)
Mutual labels:  rtmp, vr
Evilslive
This project is a SDK about video stream live
Stars: ✭ 420 (+233.33%)
Mutual labels:  ffmpeg, rtmp
Ffmpeg
Mirror of https://git.ffmpeg.org/ffmpeg.git
Stars: ✭ 27,382 (+21631.75%)
Mutual labels:  ffmpeg, rtmp
Node Stream
RTMP server in Nodejs for live streaming.
Stars: ✭ 320 (+153.97%)
Mutual labels:  ffmpeg, rtmp
Desktopsharing
桌面共享, 支持RTSP转发, RTSP推流, RTMP推流。
Stars: ✭ 337 (+167.46%)
Mutual labels:  ffmpeg, rtmp
Docker Nginx Rtmp
🐋 A Dockerfile for nginx-rtmp-module + FFmpeg from source with basic settings for streaming HLS. Built on Alpine Linux.
Stars: ✭ 608 (+382.54%)
Mutual labels:  ffmpeg, rtmp
Dockerfiles
Optimized media, analytics and graphics software stack images. Use the dockerfile(s) in your project or as a recipe book for bare metal installation.
Stars: ✭ 98 (-22.22%)
Mutual labels:  ffmpeg, rtmp
Analysisavp
音视频学习,相关文件格式/协议分析。h264 nalu aac adts flv
Stars: ✭ 38 (-69.84%)
Mutual labels:  ffmpeg, rtmp
Aframe Phantomjs Continuous Streaming
Browse the web in VR by live streaming a web page into Aframe using PhantomJS and ffmpeg.
Stars: ✭ 40 (-68.25%)
Mutual labels:  ffmpeg, vr
Learningvideo
【Android 音视频开发打怪升级】系列文章示例代码(A demo to introduce how to develop android video)。本项目将从MediaCodec硬解,FFmpeg软解,OpenGL等方面,全方位讲解如何在Android上进行音视频编辑开发。
Stars: ✭ 1,069 (+748.41%)
Mutual labels:  opengl-es, ffmpeg
Lwjgl3
LWJGL is a Java library that enables cross-platform access to popular native APIs useful in the development of graphics (OpenGL, Vulkan), audio (OpenAL), parallel computing (OpenCL, CUDA) and XR (OpenVR, LibOVR) applications.
Stars: ✭ 3,540 (+2709.52%)
Mutual labels:  opengl-es, vr
Unitedplayer
A video and audio recorder and player based on OpenGL es,FFmpeg,OpenSl es,MediaCodec on Android platform.It gives video interesting effect through fragment shader.一个支持录制和播放音频视频的安卓短视频应用,并可以选择多种仿抖音滤镜特效展示。
Stars: ✭ 75 (-40.48%)
Mutual labels:  opengl-es, ffmpeg
Php Practice
🌹 一天一点点,积少成多...
Stars: ✭ 351 (+178.57%)
Mutual labels:  ffmpeg, rtmp
Awesome Live Stream
Webrtc && Nginx && DASH && Quic 学习资料收集,持续更新中
Stars: ✭ 290 (+130.16%)
Mutual labels:  ffmpeg, rtmp
Janus Webrtc Gateway Docker
Perfect Docker Image for Media Streaming Expert User ( https://github.com/meetecho/janus-gateway )
Stars: ✭ 582 (+361.9%)
Mutual labels:  ffmpeg, rtmp
PhoneVR
Use Steam VR-enabled applications with your phone as HMD (Head-mounted display). The only Open-Source solution to similar commercial packages like VRidge, iVRy, Trinus etc etc.
Stars: ✭ 178 (+41.27%)
Mutual labels:  vr, opengl-es
Straas-android-sdk-sample
Straas Android SDK samples and documentation
Stars: ✭ 12 (-90.48%)
Mutual labels:  rtmp, vr
Librestreaming
Android real-time effect filter rtmp streaming library.using Mediacodec HWencoding&librtmp stream.
Stars: ✭ 856 (+579.37%)
Mutual labels:  opengl-es, rtmp
Rtp Streamer
rtp record and rtp streamer
Stars: ✭ 60 (-52.38%)
Mutual labels:  ffmpeg, rtmp

XLPlayer

Download

English | FFmpeg

功能介绍

  • XLPlayer除解封装(ffmpeg)和陀螺仪数据滤波(HeadTrecker)其他部分均使用Android原生api
  • 默认情况下使用MediaCodec(Android 硬解)->SurfaceTexture->OpenGL ES工作模式,性能优异,小米3也可以轻松播放4K VR视频
  • 支持各种流媒体和本地视频播放
  • 支持几乎所有的媒体封装格式,包括但不限于.mp4 .mkv .flv rtmp hls .webm .mov等
  • 支持音/视频播放,暂停,停止,seek,获取总时长,已播时长等播放器常用功能
  • H263/H264/H265/MPEG4/VP8/VP9 支持硬件加速(部分设备不支持H265 VP9)
  • 支持音频自适应最佳采样率播放
  • 支持音视频变速(0.5 - 2.0)不变调播放
  • 支持VR视频播放,VR视频模式动态切换(球模式、盒子模式、小行星模式、 建筑学模式、展开模式)
  • 球模式、盒子模式、建筑学模式支持陀螺仪控制
  • 盒子模式带有透镜畸变和色散的补偿
  • 支持播放时动态切换surface
  • 支持动态切换画面方向
  • 支持后台播放
  • 支持获取已缓存时长,当前帧率,当前下载速度
  • 支持视频本身自带rotation的旋转
  • 支持强制软解(默认自适应)
  • 支持列表播放
  • 支持设置缓存时长和大小

使用说明及注意事项请参考release_v1.0

gradle配置: implementation 'com.xl.media.library:xl-player-armv7a:2.0.1'

v_2.0计划

  • 1、由于现在Android机型的Ndk-abi版本已经非常统一,99%以上支持armeabi-v7a,所以在新版本中将去掉不必要的abi版本支持逻辑,简化项目结构。(已完成)
  • 2、现有的缓存是指内存缓存,新版本有计划加入本地缓存逻辑,缓存的媒体格式包括但不限于普通流媒体,HLS,DASH。(不确定什么时候有时间做,但是在计划内)
  • 3、单独分支做一个纯播放器,没有VR等功能单纯播放器,原因是当前master的版本由于需要VR等功能使得项目最终的体积较大。(不确定什么时候有时间做,但是在计划内)
  • 4、音频播放加入aaudio。(不确定什么时候有时间做,但是在计划内)

新版本注意事项

新版本中只保留了armeabi-v7a,通过腾讯统计可以看出,api-21以下的设备占比在7%以上,为了能够适配更多机型,项目中最低和target的版本都是api-16,所以默认不会调用jni中的mediandk,只会反射java中的mediacodec。

但是调用AMediaCodec的逻辑被保存了下来,所以如果你的app版本minsdk >= 21,你可以通过将build.gradle中的minSdkVersion和targetSdkVersion改为21+来启用这部分逻辑。

将来如果api-21以下的设备占比降到了0.1以下,则会将minSdkVersion和targetSdkVersion改为21,来启用AMediaCodec相关的逻辑。

例图

图片1

图片2

图片3

图片4

图片5

图片6

联系方式:

交流QQ群     550224107

瘦子 QQ:372127449

晓龙同学 QQ:371575229

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].