前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >非常好用的播放器渲染SDK

非常好用的播放器渲染SDK

作者头像
马上就说
发布2023-03-05 14:48:41
1.7K0
发布2023-03-05 14:48:41
举报
文章被收录于专栏:码上就说码上就说

视频渲染SDK介绍

半年之前我写过一篇文章——为播放器外接一套渲染框架,本质就是通过OpenGL将视频的内容绘制在SurfaceView或者TextureView的画布上,实现控制视频渲染的作用,当时有很多小伙伴很希望接入这个SDK。最近花了一点时间,将SDK封装好了,本文就是来介绍一下如何使用这个SDK。

视频渲染SDK接入

  • 接入工程

工程的build.gradle中添加

代码语言:javascript
复制
allprojects {
    repositories {
        google()
        jcenter()
        maven {
            url 'https://jitpack.io'
        }
    }
}

app的build.gradle中添加

dependencies { implementation 'com.github.JeffMony:Laker:1.0.5' }

  • 接口介绍
    • setOnSurfaceListener 设置SurfaceView或者TextureView的监听
    • setOnRenderListener设置渲染错误的回调,如果渲染过程中出现错误会回调给上层
    • setTextureView和setSurfaceView分别支持设置SurfaceView和TextureView
    • setVideoSize在播放器解析获得视频的宽高之后,需要传给渲染SDK,渲染SDK只负责渲染,不负责任何视频信息的解析
    • addEffect/updateEffect/deleteEffect 表示增加特效、更新特效、删除特效,这是渲染SDK的核心接口,可以支持各种各样的特效
    • addFilter/updateFilter/updateFilterIntensity/deleteFilter 表示增加滤镜、更新滤镜、更新滤镜强度、删除滤镜
    • updateFrame如果在暂停情况下应用特效也可以更新上去
    • captureFrame可以截取当前播放帧
    • setMirror可以设置水平镜像和垂直镜像
    • destroy用完了一定要记得销毁资源

public interface IRenderProcess { void setOnSurfaceListener(OnSurfaceListener listener); void setOnRenderListener(OnRenderListener listener); void setTextureView(TextureView view); void setSurfaceView(VideoSurfaceView view); void setVideoSize(int width, int height); int addEffect(String config); void updateEffect(int id, String config); void deleteEffect(int id); int addFilter(String config); void updateFilter(int id, String config); void updateFilterIntensity(int id, int intensity); void deleteFilter(int id); void updateFrame(); void captureFrame(OnCaptureListener listener); void setMirror(MirrorType type); MirrorType getMirrorType(); void destroy(); }

效果展示

具体的代码已经上传到github上了——github.com/JeffMony/PlayerSDK,大家可以看下运行的效果图:

上面只是简单展示了例子,第一张是视频原画,第二章是水平镜像,第三章是垂直镜像,第四张是添加水印logo,还有很多其他的功能,建议fork或者star一下,后续还会继续更新新的特效,如果你有什么建议,可以私信我。

建议选择“一键高清”,你和原来的视频对比下,会有惊喜。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-02-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 音视频平凡之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档