10 2018 档案

摘要:自定义Dialog中添加下列代码: 阅读全文
posted @ 2018-10-30 15:46 夜行过客 阅读(3097) 评论(0) 推荐(1) 编辑
摘要:EGL 用它开发需要做哪些事情。 DIsplay 与原生窗口建立链接。EGL在Android中可以用java调,也可以用C++调。 EGLDisplay eglGetDisplay // 获取原生窗口的链接 EGLBoolean eglInitlize // 再进行窗口的初始化。 Surface配置 阅读全文
posted @ 2018-10-27 10:14 夜行过客 阅读(2623) 评论(0) 推荐(0) 编辑
摘要:一.包含头文件和库文件 CMakeLists 代码 二.示例代码 阅读全文
posted @ 2018-10-23 14:16 夜行过客 阅读(1087) 评论(0) 推荐(0) 编辑
摘要:PS:注意在 setContentView() 方法前调用。 阅读全文
posted @ 2018-10-23 10:09 夜行过客 阅读(2403) 评论(0) 推荐(0) 编辑
摘要:一.包含头文件和库文件 这里采用的是NDK中的ANativeWindow来完成视频的播放,因为需要添加相关的库和头文件。 CMakeLists 添加头文件 二.示例代码 阅读全文
posted @ 2018-10-23 09:38 夜行过客 阅读(1249) 评论(0) 推荐(0) 编辑
摘要:一.包含头文件和库文件 修改CMakeLists 更新target_link_libraries 在代码中包含头文件 #include <libswresample/swresample.h> 二.相关函数说明 a) SwrContext *swr_alloc(void); // 分配重采样的上下文 阅读全文
posted @ 2018-10-22 15:19 夜行过客 阅读(10627) 评论(0) 推荐(1) 编辑
摘要:一.包含头文件和库文件 像素格式的相关函数包含在 libswscale.so 库中,CMakeLists需要做下列改动: target_link_libraries 同时在代码中包含头文件 #include <libswscale/swscale.h> 二. 相关函数说明 a) sws_getCon 阅读全文
posted @ 2018-10-22 11:44 夜行过客 阅读(7042) 评论(0) 推荐(1) 编辑
摘要:一.AVFrame 用来存放解码后的数据。 【相关函数】 AVFrame *frame = av_frame_alloc(); // 空间分配,分配一个空间并初始化。 void av_frame_free(AVFrame **frame); // 空间释放。两种释放方式,一种是将引用计数-1, in 阅读全文
posted @ 2018-10-18 14:41 夜行过客 阅读(5145) 评论(0) 推荐(0) 编辑
摘要:在视频领域,电影、电视、数字视频等可视为随时间连续变换的许多张画面,而“帧( Frame)”是指每一张画面。而我们日常口语习惯或者说不严谨的交流中,通常对于帧数( Frames)与帧率( Frame rate)之间都是混淆的,那么今天子凡就简单的来科普一下这些科技生活方式的小知识。 帧 Frame 阅读全文
posted @ 2018-10-18 10:38 夜行过客 阅读(3926) 评论(0) 推荐(0) 编辑
摘要:一.avcodec_find_decoder 获取解码器。在使用之前必须保证所用到的解码器已经注册,最简单的就是调用avcodec_register_all() 函数,就像之前注册解封装器的时候,也要注册一下。。 AVCodec *avcodec_find_decoder(enum AVCodecI 阅读全文
posted @ 2018-10-17 15:54 夜行过客 阅读(12952) 评论(0) 推荐(0) 编辑
摘要:简介 AVPacket:存储压缩数据(视频对应H.264等码流数据,音频对应AAC/MP3等码流数据)AVFrame:存储非压缩的数据(视频对应RGB/YUV像素数据,音频对应PCM采样数据) 阅读全文
posted @ 2018-10-17 14:36 夜行过客 阅读(1997) 评论(0) 推荐(0) 编辑
摘要:一.av_read_frame() 该函数用于读取具体的音/视频帧数据 参数说明: AVFormatContext *s // 文件格式上下文 AVPacket *pkt // 这个值不能传NULL,必须是一个空间, // 返回值:return 0 is OK, <0 on error or end 阅读全文
posted @ 2018-10-16 19:55 夜行过客 阅读(15650) 评论(0) 推荐(0) 编辑
摘要:也可以通过av_find_best_stream()函数来获取流的索引: 例: 阅读全文
posted @ 2018-10-16 15:27 夜行过客 阅读(4440) 评论(0) 推荐(0) 编辑
摘要:一.AVStream AVCodecContext *codec // 已过时,使用另一个 codecpar 结构体代替。 AVRational time_base // 时间基数。 int64_t duration // 总时长。流的总时长,该参数不可靠。 AVRational avg_frame 阅读全文
posted @ 2018-10-16 14:55 夜行过客 阅读(4489) 评论(0) 推荐(0) 编辑
摘要:该函数主要用于获取视频流信息。 在一些格式当中没有头部信息,如flv格式,h264格式,这个时候调用avformat_open_input()在打开文件之后就没有参数,也就无法获取到里面的信息。这个时候就可以调用此函数,因为它会试着去探测文件的格式,但是如果格式当中没有头部信息,那么它只能获取到编码 阅读全文
posted @ 2018-10-16 11:49 夜行过客 阅读(6099) 评论(0) 推荐(0) 编辑
摘要:AVIOContext *pb IO Context,。自定义一些读写格式或者从内存当中读时用到此成员变量。 char filename[1024]; 文件名。它会把打开的文件名存下来(经常会用到断开重连的操作) unsigned int nb_streams 流的数量。 AVStream **st 阅读全文
posted @ 2018-10-16 11:07 夜行过客 阅读(1120) 评论(0) 推荐(1) 编辑
摘要:一. 解封装 pts 是显示的时间 dts是解码的时间, 这个时间是用来做同步。 AVFormatContext: 封装的上下文 AVStream : 存放的是音频流或视频流的参数信息 AVPacket: 针对于具体的解封装完后的一个一个的数据包。 av_read_frame() 用于读取一个AVP 阅读全文
posted @ 2018-10-16 10:06 夜行过客 阅读(24664) 评论(1) 推荐(1) 编辑
摘要:一.新建Android Studio项目 注意点: 1.在“Create Android Project”栏目时,须勾选“Include C++ support” 复选框; 2.在“Customize C++ Support 栏目”时,C++ Standard 选择下拉列表中的“C++11”。 二. 阅读全文
posted @ 2018-10-15 15:20 夜行过客 阅读(1130) 评论(0) 推荐(0) 编辑
摘要:环境: Ubuntu 14.04 , android-ndk-r14b , ffmpeg3.4 1.下载并解压FFmpeg3.4.zip(略) 2.将编译脚本放入到FFmpeg解压后的目录。 3.执行编译脚本: ./linux_build_android.sh linux_build_android 阅读全文
posted @ 2018-10-11 14:45 夜行过客 阅读(1165) 评论(0) 推荐(0) 编辑
摘要:进入Android\Sdk\ndk-bundle\platforms\android-xx\arch-arm\usr目录查看发现与Google官方下载的NDK相比缺少include目录 此目录下包含各种头文件,下载后完整替换原ndk-bundle下得platforms文件夹重新编译即可。 进入And 阅读全文
posted @ 2018-10-11 14:28 夜行过客 阅读(2370) 评论(0) 推荐(0) 编辑
摘要:1、把文件解压到当前目录下 2、如果要把文件解压到指定的目录下,需要用到-d参数。 3、解压的时候,有时候不想覆盖已经存在的文件,那么可以加上-n参数 4、只看一下zip压缩包中包含哪些文件,不进行解压缩 5、查看显示的文件列表还包含压缩比率 6、检查zip文件是否损坏 7、将压缩文件test.zi 阅读全文
posted @ 2018-10-11 14:18 夜行过客 阅读(136725) 评论(0) 推荐(4) 编辑
摘要:打开GitBash,使用命令: cd ~ 然后: vi .minttyrc 使用下列内容替换已有内容: Font=Consolas FontHeight=13 ForegroundColour=131,148,150 BackgroundColour=0,43,54 CursorColour=220 阅读全文
posted @ 2018-10-11 10:44 夜行过客 阅读(5581) 评论(0) 推荐(1) 编辑
摘要:步骤: 1、通过在“运行”中输入‘regedit’,打开注册表。 2、找到[HKEY_CLASSES_ROOT\Directory\Background]。 3、在[Background]下如果没有[shell],则右键-新建项[shell]。 4、在[shell]下右键-新建项[open in g 阅读全文
posted @ 2018-10-10 10:22 夜行过客 阅读(3203) 评论(0) 推荐(0) 编辑
摘要:1.在浏览器地址栏输入 chrome://flags/#top-chrome-md 并回车 2.将UI Layout for the browser's top chrome 右边的选项修改为Normal 3.重启浏览器 阅读全文
posted @ 2018-10-08 19:15 夜行过客 阅读(332) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示