自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 Android 平台下 调用第三方 so 库

1、对于 第三方已经编译好的so库,其接口符合JNI 规范的,比如:Java_com_example_callso33_NDKTools55_stringFromJNI这种接口的so库,可以在Java代码中声明它对应的native方法,直接调用根据其接口 先声明 NDKTools55 的java类public class NDKTools55 { static { System.loadLibrary("ndkdemotest-jni"); } public

2020-06-04 17:44:35 960

原创 脱离 Android 开发环境,直接利用 NDK 生成so

1、利用 记事本 (notepad.exe) 创建 testNdk.h/* DO NOT EDIT THIS FILE - it is machine generated */#include <jni.h>/* Header for class com_example_mp3encode_NdkTest */#ifndef _Included_com_example_mp3encode_NdkTest#define _Included_com_example_mp3encode_N

2020-06-04 14:17:50 263

原创 JNI 应用:使用 CMake 编译 生成 so

1、下载安装 CMake先前如果没有选中CMake ,表示没有安装过 CMake,选中它,并点击 “Apply”, 开始下载,并自动安装2、创建一个 Empty Activity 的新项目: JniDemoByCMake3、在 com.example.jnidemobycmake 包下 新java 类 NdkJniTest.java并加入代码public static native String stringFromJNI();4、编译java 文件:点击菜单 Build -》Make

2020-06-03 17:22:30 665 1

原创 JNI 应用:使用ndk 编译 生成 so

1、先下载并安装ndk菜单 Tools -》SDK Manager : 如果没有选中 说明没有安装,选中 它 ,并点击按钮 “Apply”就会下载,自动安装了2、新创建一个工程 JniDemoByNDK ,并选择 空的 Activity。3、创建一个新的 Java 类 :NDKTools:其类的定义为:package com.example.jnidemobyndk;public class NDKTools { public static native String

2020-06-03 15:23:06 774

原创 windows 下 用 Visual Studio 2017 编译 librtmp

第一、下载 librtmp (rtmpdump)源码,把 librtmp目录下的 非 .h 和 非 .c 文件 全部删除掉第二、用 Microsotf Visual Studio 2017 创建一个 静态库 (lib)项目,将librtmp目录下的所有 .h 和 .c 文件 加载到 此 项目中。第三、打开 rtmp.c 文件 ,找到并注释掉下面的三句 语句:#ifdef _WIN32#in...

2019-10-16 18:32:31 437

原创 ffmpeg 源码分析 命令参数篇(二)

接上一篇,接着分析 命令参数 从 OptionGroup 类型的数组列表中的 arg 和 *opts 是如何转移到 OptionsContext 中的,不过 OptionsContext的变量也是 临时变量这里要先看一下 全局变量 options的 定义(ffmpeg_opt.c),只看其中的几个元素,便于理解.#define OFFSET(x) offsetof(OptionsContext...

2019-09-19 17:12:02 742 1

原创 ffmpeg 源码分析 命令参数篇(一)

在使用ffmpeg工具进行各种操作时,会输入一些命令参数,这些参数是如何被解析,如何被存储,以及如何最终被转移到 几个最重要的结构变量中去的,通过对其源码的分析,来看看是如何实现的。由于涉及到的模块及函数较多,流程也颇为复杂,故分几篇文章来剖析ffmpeg 命令参数的格式:ffmpeg [全局选项] [输入选项] -i [输入源] [输出选项] -f [格式] [输出流及文件]注:1:此处...

2019-09-17 19:40:16 987

原创 redis 与 memcache区别

1、redis 支持存储 value 的类型相对更多,包括 string (字符串)、list (链表)、set (集合)、zset (sorted set –有序集合) 和 hash(哈希类型)2、这些数据类型都支持 push/pop、add/remove 及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。3、Redis 会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件。1、都是 对 key-value 关系型数据存储及操作。2、都是在内存中存储。

2022-12-26 08:34:43 88 1

原创 在 linux 下 利用 NDK 编译 ffmpeg (android 平台下使用 so)

1、下载最新的 ndk下载页面:https://developer.android.google.cn/ndk/downloads/赋值 下载链接(linux版本)(最好在 linux 下载)https://dl.google.com/android/repository/android-ndk-r21-linux-x86_64.zip进入linux 系统:mkdir ndk_buildcd ndk_buildwget https://dl.google.com/android/reposit

2020-06-05 18:12:00 347

原创 Failed to resolve:com.android.support 问题

问题:在创建一个工程时出现 这样的错误:这是因为 本机安装的 Android SDK 版号 低于 Gradle 中的 所要求版本 造成的。图1解决方法:1、查看:Android Studio : Tools -> Android -> SDK Manager :图2可以在图2中看到本机中已经安装的Android SDK Tools版本(本例为26.1.1)图3可以在图3中看到 Android SDK Build-Tools 版本号为 :30.0.0Android SDK

2020-05-30 13:09:40 3354

原创 linux 下 编译 x264 遇到的 No working C compiler found 错误

在 linux 下, 下载 x264 源码,解压 后执行 :./configure --enable-shared --enable-static --disable-asm则出现 No working C compiler found 的错误由于以前 在另外一个系统上 成功编译过,就对系统做了对比,用命令:getconf LONG_BIT 查看两个系统,先前的系统是 64位,而现在出现错...

2019-10-10 17:31:26 3499 1

原创 在mac 下 利用 ffmpeg 工具 采集音视频

查看设备列表ffmpeg -f avfoundation -list_devices true -i “”[AVFoundation indev @ 0x7fce08d0f000] AVFoundation video devices:[AVFoundation indev @ 0x7fce08d0f000] [0] FaceTime HD Camera[AVFoundation inde...

2019-10-03 20:17:15 717

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除