欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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!

相关标签: 音视频开发