Android万能播放器(基于FFmpeg+OpenSL+OpenGL+Mediacodec)
程序员文章站
2022-07-02 10:38:22
...
VR_Video-Play
万能播放器
支持 x86 cpu arm架构
Android 基于:FFmpeg+OpenSL+OpenGL+Mediacodec 的视频播放SDK,可播放网络、本地和广播等流媒。
支持播放VR360度全景视频
1、支持当前播放页直接切换播放源
2、优先选用GPU解码,解码速度更快
3、支持软解码和硬解码
4、直接用mediacodec解码avpacket数据。
5、支持用于传统直播和VR直播
6、底层使用FFmpeg解码支持各种格式的音视频播放
7、支持rtmp,http,hls等多种流媒体协议
Demo预览
请到github预览 VR and 2D player
- 播放传统视频
private WLPlayer wlPlayer;
private GlSurfaceView glSurfaceView;
//初始化
glSurfaceView=findViewById(R.id.wlglsurfaceview);
wlPlayer=new WLPlayer();
wlPlayer.setWlOnParparedListener(new WlOnParparedListener() {
@Override
public void onParpared() {
System.out.println("播放");
wlPlayer.start();
}
});
wlPlayer.setGlSurfaceView(glSurfaceView);
//播放
wlPlayer.setSource("http://vfx.mtime.cn/Video/2019/03/21/mp4/190321153853126488.mp4");
wlPlayer.start();
- 播放VR视频
<<<<<<< HEAD
private GlSurfaceView glSurfaceView;
private VrSurfaceView vrSurfaceView;
//初始化
vrSurfaceView=findViewById(R.id.play_vr_glsv);
player=new WLPlayer();
player.setWlOnParparedListener(new WlOnParparedListener() {
@Override
public void onParpared() {
MyLog.d("开始播放----");
System.out.println("播放");
player.start();
}
});
player.setOpenVr(true); //设置成播放VR视频
player.setVrSurfaceView(vrSurfaceView);
player.setSource(VIDEO_URL);
player.start();
注意!传统视频是用GlSurfaceView,而VR视频是用VrSurfaceView显示
具体源码请到我的github: 万能播放器库
如果好用请给个star!