首页 > 学院 > 开发设计 > 正文

[转载]EasyPlayer实现直播抓拍

2019-11-07 23:36:37
字体:
来源:转载
供稿:网友

对于一个裸的RTSP URL,存放在播放列表上略显单调与枯燥。大家可以看到EasyPlayer在播放完视频后会保存一帧图片到列表上。那么这个功能是如何做到的呢? 如果自己实现解码的话,比如使用ffmpeg解码,这种情况下,将视频帧解码,再编码成jpeg保存下来,应该不是什么难事。相信大多数播放器都是这样处理的。但是如果我们用硬解码,很遗憾,安卓的硬解码并没有提供获取视频帧数据的功能,那又该如何实现呢? 有两种方法可以实现硬解码截屏

单独创建截屏用的软解码器直接获取TextureView的内容并保存

第一种方法为常规的方法,没什么好说的。这里介绍下第二种方法。TextureView提供了一个getBitmap() 的方法,解释如下:

Returns a Bitmap rePResentation of the content of the associated surface texture.

该方法提供了当前TextureView的渲染内容,作为一个Bitbmap对象返回。这样我们可以将这个Bitmap压缩成jpeg、png等格式并保存下来。Bitmap提供了compress 方法可以直接压缩。 这里需要注意的是调用时机,一定要在TextureView创建之后,确切的说是当前画面显示之后调用。否则您保存的快照可能是纯黑色的。

下载地址

EasyPlayer版本下载:https://fir.im/EasyPlayer Demo源码下载:https://github.com/EasyDarwin/EasyPlayer_Android 其他平台源码下面:https://github.com/EasyDarwin/EasyPlayer

EasyPlayerPro版本下载:https://fir.im/EasyPlayerPro

获取更多信息

邮件:support@easydarwin.org

WEB:www.EasyDarwin.org

Copyright © EasyDarwin.org 2012-2017

EasyDarwin


上一篇:xcode加载pch文件

下一篇:maven项目的创建

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表