- 博客(11)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
转载 推荐一个很不错的android开源播放器XLPlayer
这个播放器很强大,结合了android的ndkmediacodec,ffmpeg来实现硬解和软解,而且代码都在项目内不需要进行编译操作,可以更直观的了解播放器的功能操作XLPlayer配置环境时出现一个奇怪的错误,点击错误会跳到这里 static_assert(sizeof(_off_t_compat) == sizeof(long), "_off_t...
2017-11-28 13:58:25 5369
转载 android 资源仓库
http://www.androiddevtools.cn/一直都在这个网站下东东,昨天整理硬盘换了google浏览器忘了把书签备份一下,所以记录一下,以免找不到了
2017-11-10 10:46:53 207
原创 android 在module内创建CMakeLists.txt来实现生成多个.so文件
公司要做sdk,而且大部分代码都是c++的,这就需要在项目中生成多个.so文件,一个是sdk主体,一个是测试代码,通过网上查了相关资料有不同的方法没有module的实现方法AndroidStudio项目CMakeLists解析有module的实现方法Android Studio中通过CMake使用NDK并编译自定义库和添加预编译库我只参考了有module的方法首先在自己的项...
2017-11-10 10:34:21 5428 2
原创 android基于ffmpeg的简单视频播发器 三线程实现播放器(完)
一个多星期都在研究播放器,从双线程到三线程,它们的关系太复杂了,总是搞不定,而且本人c++水平实在有限,很多东西都不太会用。终于搞好了一个能拿得出手的东东,基本没啥严重的bug了,或者我没发现严重的bug,不过代码还是挺乱的,而且音视频对齐使用的办法也不是很好,以后再慢慢优化,先拿来用一个线程读取AVPacket保存到数组,由另外两个线程做解码和播放,这样就不会出现上一篇博文里一个文件两个线程
2017-11-08 18:34:57 1865 2
原创 android基于ffmpeg的简单视频播发器 跳到指定帧 av_seek_frame()
跳到指定帧,在ffmpeg使用av_seek_frame()进行跳转,这个函数只能跳到关键帧,所以对关键帧时间差距比较大的视频很尴尬,总是不能调到想要的画面还有av_seek_frame中的时间参数,刚开始以为用秒乘以time_base结果不是,而是AVPacket或AVFrame里的pts或dts对应的数,不用很精确,可以用大概值,因为av_seek_frame会跳到关键帧所以可以用两种
2017-11-06 15:26:27 7762 3
原创 android基于ffmpeg的简单视频播发器 时间同步
前面写了视频解码和音频解码,接下来要同步了java代码setContentView(R.layout.activity_main);SurfaceView surfaceView = findViewById(R.id.surface_view);surfaceView.getHolder().addCallback(new SurfaceHolder.Callback() {
2017-11-03 16:35:51 571 1
原创 ffmpeg 判断数据格式
用ffmpeg解码时,怎么判断视频是yuv420还是yuv422,查了一下资料知道视频格式类型是在AVPixelFormat内通过AVCodecContext的pix_fmt来进行判断video_codec_ctx= avcodec_alloc_context3(NULL);avcodec_parameters_to_context(video_codec_ctx, video_st
2017-11-03 15:48:17 1698
原创 android基于ffmpeg的简单视频播发器 音频播放
音频播放没啥好说的,直接复制这篇文章http://www.jianshu.com/p/68cdbee598cd上代码javaprivate void init() { setContentView(R.layout.activity_main); SurfaceView surfaceView = findViewById(R.id.surface_
2017-11-03 09:24:32 407
原创 android基于ffmpeg的简单视频播发器 播放视频
视频播放用到opengl,因为ffmpeg是c写的,所以我就用c++写opengl,c不会写把生产的so文件和include文件夹复制到项目的app\libs文件夹CMakeLists.txt文件代码cmake_minimum_required(VERSION 3.4.1)add_library( native-lib SHARED
2017-11-02 18:07:25 1293 2
原创 android基于ffmpeg的简单视频播发器 编译ffmpeg
ffmpeg编译的文章网上很多,很简单,我是windows10系统首先安装mingw:https://sourceforge.net/projects/mingw/files在安装界面选择basic setup,把右边的都勾选,然后点击installation选择apply change进行下载安装配置环境变量,在Path内添加C:\MinGW\binC:\MinGW\msys
2017-11-01 14:31:53 403
原创 android基于ffmpeg的简单视频播发器 目录
最近在研究ffmpeg视频播放器,所以准备写几篇关于ffmpeg和播放器的文章解码都是用ffmpeg,视频播放就靠opengl渲染,音频就用AudioTrackffmpeg基本都是用c++代码来写,所以opengl也用c++来写最开始的思路是开两个线程,一个线程解码音频,一个现场解码视频,由于对ffmpeg不太熟悉,怕一个文件加载两次会比较占内存就考虑用三线程,一个线程解码,一个线程渲
2017-11-01 11:22:46 242
android 自定义ActionProvider弹出位置
2015-06-08
TA创建的收藏夹 TA关注的收藏夹
TA关注的人