我们长路漫漫,只因学无止境。网站首页学无止境
4. FFdemux的Read读取帧数据接口编写~1
发布时间:2021-06-09 10:30:38作者:雪饮[心得笔记]

其实读取数据帧的接口(方法)在上一步中就已经实现了。这次主要是利用这个读取数据帧的接口。在cpp/native-lib.cpp:#include <jni.h>
#include <string>
#include "FFDemux.h
3. FFDemux的Open实现打开媒体文件~1
发布时间:2021-06-08 22:03:55作者:雪饮[心得笔记]

上一篇把xplay項目的整體代碼結構設計好了。這次就來實現部分功能。首先嘛從文件的打開開始。但是在此之前首先把ndk環境修改下,因爲這次又回到家裏了,所以ndk環境路徑又變了
详细信息>>2. 创建安卓流媒体播放器XPlay项目并配置添加了解封装模块代码及其依赖日志类~1
发布时间:2021-06-08 17:56:33作者:雪饮[心得笔记]

为了防止编译时候遇到arm64-v8a架构,而且现在64位比较主流。并且调整了ndk的版本。所以:app/build.gradle:plugins {
id 'com.android.application'
}
android {
co
1. 项目创建权限ABI和CMake相关库和头文件配置~1
发布时间:2021-06-08 15:11:25作者:雪饮[心得笔记]

新建一个项目Xpay的android studio的c++支持的项目权限:AndroidManifest.xml:<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.co
11. 通过OpenglES纹理修改完成yuv文件的播放显示~1
发布时间:2021-06-08 10:33:41作者:雪饮[心得笔记]

能够修改纹理数据和显示之后,接下来就要对yuv视频文件进行解析播放了。生成一个yuv视频文件如:ffmpeg.exe -i 1080.mp4 -pix_fmt yuv420p -s 424x240 out.yuv可以发现一个8.0
详细信息>>10. OpenglES纹理数据修改和显示~1
发布时间:2021-06-07 18:29:50作者:雪饮[心得笔记]

要让纹理内容像是视频一样可以播放出来,需要不断的修改纹理内容各个层的内容。每次变换了纹理内容都要同步到纹理的各个层上面。每个层面都完成渲染之后就可以对本次纹理内容
详细信息>>9. opengl的yuv纹理的创建和初始化~1
发布时间:2021-06-07 17:24:54作者:雪饮[心得笔记]

创建纹理数据需要对纹理的第一层、第二层、第三层分别进行缩小与放大的过滤、纹理格式和大小的设置。具体实例:cpp/native-lib.cpp:#include <jni.h>
#include <string>
#in
8. program渲染程序初始化给shader传递顶点和材质顶点数据~1
发布时间:2021-06-07 16:26:37作者:雪饮[心得笔记]

顶点坐标的程序的渲染和材质坐标程序的渲染,主要区别于顶点坐标比材质坐标多了一个z轴。主要流程是创建渲染程序,加入对应着色器、链接程序、激活指定属性。具体实例:cpp/nati
详细信息>>7. shader初始化完成并编译顶点和片元着色器代码~1
发布时间:2021-06-07 15:18:23作者:雪饮[心得笔记]

这次主要是封装一个初始化方法对之前创建的片元着色器和顶点着色器进行初始化。大多数代码都是约定俗成的,没有什么可说的。然而对于一个头文件不得不说。可以看到这个错误,G
详细信息>>6. yuv420p片元着色器glsl编写~1
发布时间:2021-06-06 15:52:56作者:雪饮[心得笔记]

YUV轉RGB,基本上都是一些固定的程序,主要依賴的是YUV轉RGB的公式。這裏有兩個公式,而這裏我們使用第二個公式,直接計算乘以一個矩陣。那麽具體實現如cpp/native-lib.cpp:#inclu
详细信息>>