自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

矩阵实验室

数学即现实

  • 博客(409)
  • 资源 (17)
  • 收藏
  • 关注

原创 人工智能与文明

1. 什么是人工智能1.1 人工智能人工智能(Artificial Intelligence,AI),计算机学科的终极目标。 自从Google AlphaGo在全球围棋挑战中登顶之后,全世界就处于一种对人工智能的狂热氛围中,其中人们对人工智能存在不少误解。 (1)首先需要澄清的是,人工智能超越了人类 现在的人工智能只是某些专业领域的智能系统,和具有智慧,独立意识的机械生命有本质的区别,即使它在

2016-11-09 14:49:59 2636

原创 CAPM模型和Alpha策略

1. CAPM1.1 原理在上一篇文章《资产组合优化原理与实例 Portfolio Optimization 》中,就是运用了CAPM理论。资本资产定价模型(Capital Asset Pricing Model,CAPM):是由美国学者夏普(William Sharpe)、林特尔(John Lintner)、特里诺(Jack Treynor)和莫辛(Jan Mossin)等人于1964年在资产组合

2016-03-25 17:52:13 27747

原创 资产组合优化原理与实例 Portfolio Optimization

在前一片文章(SkLearn 对上证50成分股聚类 )中简单介绍了投资组合优化理论,在此进一步介绍下该理论,以及如何进行Portfolio Optimization。1. Markowitz投资组合理论Markowitz投资组合理论是投资组合优化的理论基础。 马克维茨被公认为是现代投资组合理论的开创者,他与夏普、米勒共同获得1952年的诺贝尔经济学奖。 1952年他在自己著名的论文《资产选择:有

2016-03-07 18:36:24 24989

原创 SkLearn 对上证50成分股聚类

1. 为什么要对股票进行聚类1.1 投资组合优化理论股票聚类的基本原因就是从股市中选取一部股票进行投资。哪怕是上证50对一般的投资模型来说50条股票也太多了。 按照投资组合优化理论选取标准为: (1)资产数越多越好 (2)资产之间相关系数越低越好以期望收益E来衡量证券收益,以收益的方差δ2δ^2表示投资风险   minδ2(rp)=∑∑wiwjcov(ri,rj)\min\delta^2(r

2016-02-25 16:48:34 11853 3

原创 FFprobe查看&统计视频信息

1. 查看音视频信息1.1 查看基本信息ffprobe 1280x720_h264_8mbps_30fps.mp4Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '1280x720_h264_8mbps_30fps.mp4': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2avc1mp41 encoder

2021-10-09 16:28:39 6905

原创 FFmpeg 命令常见操作

1. 转码ffmpeg -i source.mp4 -ss 20 -t 10 -c copy my.mp4ffmpeg -ss 10 -t 15 -accurate_seek -i test.mp4 -c:a copy -c:v copy tt.mp4-i : source-ss:start time-t :duration-c :video,audio codec可以设置输出视频的编码格式-vcodec xxx-acodec xxx-loglevel 562. 视频–> 图片

2021-10-09 15:54:27 490

转载 EGLContext: eglMakeCurrent详解

1. 前言在完成EGL的初始化之后,需要通过eglMakeCurrent()函数来将当前的上下文切换,这样opengl的函数才能启动作用。boolean eglMakeCurrent(EGLDisplay display, EGLSurface draw, EGLSurface read, EGLContext context)该接口将申请到的display,draw(surface)和 ...

2019-03-25 14:45:11 6810

原创 解决Android Studio卡顿问题

文章目录1. 修改默认分配内存1.1 配置文件位置:1.2 修改配置默认配置如下:此内存分配过于保守,修改如下:1.3 各字段具体含义为:2. 编辑build.gradle卡顿2.1 原因2.2 解决方案3.参考文献1. 修改默认分配内存1.1 配置文件位置:MAC:/Applications/Android Studio.app/Contents/bin/studio.vmoption...

2018-12-23 11:23:55 3623 1

原创 Android Camera 高级特性——闪光灯、抗闪烁、场景

Camera除了对焦和测光之外还有还有很多其它特性,如闪光灯、抗闪烁、场景等,这些功能的设置比较简单,只需要在Camera.Parameters中配置一下就可以了,本文就简单介绍下各个Feature中的定义。

2018-09-28 21:11:52 5897 1

原创 Android Camera高级特性——手动对焦

对焦可以说是Camera最重要的基本的功能,也是最常用的基本功能。本文介绍Android Camera的几种对焦方式,并介绍手动对焦如何实现的。

2018-09-27 18:16:21 6982 2

原创 Android Camera API使用指南

虽然前文说道Android在5.0之后就推出了Camera2 API,但是各个厂家的基本未适配,导致目前市场上大部分机型使用的仍然是Camera1 API。PS:Android 9.0 Google强制要求各个平台厂商(高通/MTK/华为等)支持Camera2,不再兼容Camera1。本文简单介绍了Camera是如何使用的。

2018-09-27 18:03:54 2468

原创 B帧对视频清晰度/码率的影响

0. 前言在H264 Extended Profile中就引入了B帧编码,一直以来同行都对B帧的意义存在争议:正方:B帧能够大幅减少视频码率,并提高运动场景下的清晰度;反方:B帧对码率和清晰度没多大帮助笔者针对这个争议找了一个视频,用x264和Android MediaCodec测试验证B帧到底有没有优化效果。1. 什么是B帧1.1 什么是B帧?B帧法(B fra...

2018-09-16 18:18:51 15680 10

原创 Android MediaCodec H264编码设置Main Profile & High Profile

1. 为什么要用Main Profile & High Profile在Android上硬编码视频码率远远高于软编码,原因是Android只支持H264 Baseline。MP(Main Profile )& HP(High Profile)可以大幅减少视频的码率。关于H264 Profile参见:H264 Profile。2. Android平台对MP & HP的...

2018-09-16 16:30:01 12593

原创 Android MediaCodec参数笔记

1. Supported media formatsSupported Codecs从上表上看编码方面:H264仅支持到Main Profile,H265暂时不支持。 但是平台商的部分高端芯片已经支持H264 HP,H265编码。2. MediaCodecInfo提供MediaCodec在设备上的支持信息。 获取MediaCodecInfo: private...

2018-07-05 16:59:46 9790

原创 Android OpenGL ES 2.0 与3.0兼容方案

1. 检查系统是否支持GLES3.0检查系统支持的OpenGL版本的方法有一下几种方法:查看EGL版本, 1.4以上EGL 查询Client版本号GL_VERSIONGL_SHADING_LANGUAGE_VERSION1.1 EGL版本检查此方法适用于创建EGLContext阶段。 要支持GLES3.0 要求EGL版本在1.4以上。 EGL初始化的时候会返回EG...

2018-06-14 18:06:06 8014 2

原创 Android NDK 编译优化:浮点数计算优化

1. 浮点数计算优化1.1 float-ab-mfloat-abi=hard在编译带有浮点参数的函数时,有三种可能的编译选项:-mfloat-abi=soft/softfp/hard。“soft”选项:表明不使用FPU硬件,而是使用GCC的整数算术运算来模拟浮点运算。“softfp”选项:表明要使用FPU硬件来做浮点运算,只是,函数的参数传递到整数寄存器(r0-r3)中,然...

2018-06-14 18:01:19 2639 2

原创 Android Camera2 拉伸问题

1. 前言Camera2在一些低端机器上出现拉伸问题,当然首先排除不是笔者低级错误设置的分辨率有问题。2. 拉伸问题详细描述Camera2在某些机型上画面拉伸,表象是我们设置16:9的输出(当然是查询到支持的分辨率),但是Camera实际输出的是4:3。 整个过程如下:获取Camera支持的输出分辨率 StreamConfigurationMap st...

2018-06-14 16:01:36 7398

原创 Android Camera2:硬件兼容级别

1. 前言Camera2是Google在Android 5.0中全新设计的框架,相机模块是和硬件紧密相关的,Camera2中引入很多的特性,厂商的支持情况各有差异,所以Google定义了硬件兼容级别,方便开发者参考。 Google想的很好,但现实是高通,MTK,厂商压根就没支持。2. 定义Android Camera2根据硬件的兼容情况定义四种级别: 硬件兼容性:LEGAC...

2018-06-14 15:38:17 5394 1

原创 Android Camera2使用笔记

1. Android Camera2简介Android 5.0 (API Level 21)重新设计Camera,并提供了一个全新的API——Camera2。Camera2基本上和Camera1没什么继承性,完全是重新设计。在Camera2中Google引入了Session/Request的概念,从使用上更加复杂,同时也支持更多特性,比如可以控制曝光、控制感光度、支持Raw格式输出。当然坑也更...

2018-06-14 15:29:30 5401

原创 搭建Android Camera项目工程

0. 前言这块内容非常简单,需要注意的有两个:需要申请相机权限需要一个Surface用来预览1. 申请相机权限1.1 申请Camera权限<uses-permission android:name="android.permission.CAMERA" />1.2 声明对应的特性某个特性首先需要在manifest中申请对应特性<uses-...

2018-06-05 20:21:24 1247 1

原创 Android Camera开发指南

0. 前言蓦然回首,笔者从事Android多媒体开发工作已经好多年了,这一年来工作特别忙碌(当然产品上也获得了巨大的成就)文章写的很少了。最近会写一系列的文章,总结下自己在Android多媒体,图像图像,Camera等方面的积累。 因为之前关于Camera方面的文章略少,并且最近也在做Camera2相关的工作,所以笔者将首先从Camera开始完成一个Camera系列的专题。1. 主要...

2018-06-05 19:55:53 531

原创 Android gnustl_static VS gnustl_share

0. 前言使用gnustl_static,尽量避免使用gnustl_share。此外gnustl将逐步废弃!1. gnustl1.1 简介gnustl: Android上的GNU C++库,对应GNU/Linux系统中的libstdc++。这个库和GCC仅仅绑定,但是后期不再更新,最新NDK不再支持此库和Clang存在部分冲突 Note: 新版NDK将会删

2018-01-31 15:32:46 8667 2

原创 并发优化笔记

0. 前言多核并发编程。1. OpenMPOpenMP适用于统一/共享的内存模型(unified/shared memory),比如多核CPU共享同一个内存,各个核心通过内存分享交换数据。 所以OpenMP通常用于多核处理器计算优化。 OpenMP:线程级(并行粒度);共享存储;隐式(数据分配方式);可扩展性差;2. MPIMPI比较复杂,需要程序员自己管理数据分发,并且手动实现各个进程之间的通

2017-11-13 15:48:25 401

转载 __stdcall,__cdecl,__fastcall的区别

一、三者区别一览表 __stdcall __cdecl __fastcall 参数传递方式 右->左 压栈 右->左 压栈 清理栈方式 被调用函数清理(即函数自己清理),多数据情况使用这个 调用者清理 栈适用场合 Win API c/C++ MFC默认方式可变参数的时候使用 C编译修饰约定(它们均不改变输出函数名中的字符大小写) 约定在输出函数名

2017-09-27 10:40:25 539

原创 mac配置完ssh依然提示"Enter passphrase for key"解决方法

这个问题折磨很久,明明已经配置过ssh了,可是每次还要提示输入密码,从网上查查,最后一条命令解决问题: 问题提示:Enter passphrase for key 'xxxx'输入一下命令:ssh-add -K xxx之后就再也没遇到这种问题。

2017-07-17 11:21:57 19721 3

原创 Sublime Text 快捷键【精华版】

1.跳转文件CMD+P:文件 CMD+数字:切换打开第N个文件块CMD+R:函数行Ctrl+G:跳转到第几行括号Ctrl+M单词CMD+D标签Ctrl+-: Jump back Ctrl+Shift+- Jump forward2. 选择块CMD+SHIFT+M:括号行CMD+L:3. 编辑文件Ctrl + shift + opt + Q : format code Ctrl + shift

2017-05-26 21:28:08 692

原创 H264 Profile对比分析

0. 前言本文首先会谈谈profile和level是干什么的,然后聊聊用ffmpeg和x264命令行怎么指定对应参数,最后聊聊在代码中怎么使用设置profile和level。1. H264 Profile简单理解就是H264有多个版本,版本越高编码效率和压缩率就越高,对应的版本是Profile。 从低到高分别为:Baseline、Main、High 在相同配置情况下,High profile(H

2017-05-26 11:05:38 22951

原创 视频花屏分析

1. 前言视频花屏是多媒体工程师最常见的问题之一,也是最棘手的问题之一,笔者此前也数次遇到这样的问题,今天在此总结分享下经验。本文分析的重点是视频录制过程中引起的花屏问题,粗浅涉及视频播放。但是其中都不会涉及到编码器或者解码器本身所引起的花屏问题。本文所用到的测试资源如下图: 2. 视频花屏问题定位当遇到视频花屏时,首先要定位是最先出现的花屏的是哪个阶段产生的花屏。以视频录制为例,其具体流程如下:

2017-05-12 19:45:27 22130 5

原创 Google你能把Android的多媒体搞得再烂一些吗

搞了几年Android多媒体了,最感受就是Android的多媒体真的非常烂! @Google,你做的再烂一点吗?最近在搞Android视频编码,真是快被折腾疯了,最早用FFmpeg x264编码,虽然做了很多优化,但是效率还是一个问题;最后采用硬编码去搞,在解决了一系列的问题后算是跑通了,但是最后发现画面质量low的让我怀疑是不是我眼瞎!!! 同样的比特率,在Android编出来的和IOS没法比

2017-03-09 13:54:03 777 1

转载 数字媒体技术揭秘(续)——压缩编码

前文: 数字媒体技术揭秘四、压缩技术4.1 理论基础廿世纪中叶,为了从理论上证明对信息系统进行优化的可行性,Shannon引入了熵的概念,用来表示信息的不确定性,熵越大,信息的不确定性就越大[4],而信息的不确定性越大,其对应的传输和存储成本就越高。换句话说,如果某种信息的熵不是那么大,则人们应该有信心使用有限的资源去承载它。举一个简单的例子,假设气象台负责预报明天是否天晴,而地震局负责预报明天是

2017-03-06 14:20:21 2749

转载 三种主流流媒体协议比较

一、介绍在流媒体协议中,常用的流媒体协议主要有 HTTP协议,RTSP协议和RTMP协议。 在国内视频网站多采用HTTP+MP4或者HTTP+FLV协议传输视频,而国外使用RTMP,RTSP等专门的流媒体格式。二、协议介绍1、HTTP协议:HTTP的视频协议,主要是在互联网普及之后。在互联网上看视频的需求下形成的。 最初的HTTP视频协议,没有任何特别之处,就是通用的HTTP文件渐进式下载

2017-03-06 12:22:03 18492

原创 Android实现视频硬编码

0. 前言Android视频录制一直是个大问题,之前做一款短视频应用,视频录制采用ffmpeg,虽然做了很多优化,但是画面质量和帧率难以达到要求,至少达不到IOS的水准。所以痛下决心研究Android平台的硬编码方案。硬编码所谓的硬编码就是采用DSP对视频帧进行编码,相对于软编码来说,硬编码的编码效率天差地别。更高的编码效率就意味着在相同帧率下能够获得更高的分辨率,更佳的画面质量。1. Androi

2017-02-27 20:19:29 12731 1

转载 C++11资料汇总[转]

原文链接: http://www.cnblogs.com/haippy/p/3235560.html引言C++11 自2011年发布以来已经快两年了,之前一直没怎么关注,直到最近几个月才看了一些 C++11 的新特性,今后几篇博客我都会写一些关于 C++11 的特性,算是记录一下自己学到的东西吧,和大家共勉。相信 Linux 程序员都用过 Pthread, 但有了 C++11 的 std::thr

2017-02-27 10:38:46 833

转载 自回归AR模型、移动平均MA模型与自回归移动平均ARMA模型的比较分析

系统中某一因素变量的时间序列数据没有确定的变化形式,也不能用时间的确定函数描述,但可以用概率统计方法寻求比较合适的随机模型近似反映其变化规律。(自变量不直接含有时间变量,但隐含时间因素)1. 自回归AR(p)模型(R:模型的名称 P:模型的参数)(自己影响自己,但可能存在误差,误差即没有考虑到的因素)(1)模型形式(εt越小越好,但不能为0:ε为0表示只受以前Y的历史的影响不受其他因素影响)

2017-02-25 17:12:13 24822 1

原创 金融时间序列分析:11. 模型分析小结

1. 自相关函数自相关函数:Autocorrelation Function(ACF) ,是时间序列分析的基础,没有这个就不用分析了。 下面提到的几点都是以这个概念为基础的。 自相关系数是从相关系数演变出来的,是用来表述时间序列中k个间隔的单元存在的相关性。 参考:金融时间序列分析:2. 数学分析模型k阶自相关函数: γk=Cov(Yt,Yt−k)=E[(Yt−μ)(Yt−k−μ)]\gam

2017-02-25 17:04:30 3862

原创 FFmpeg日志输出到adb logcat

0. 前言在Android中编写的FFmpeg程序,没有经过设置的话是无法在adb logcat中看到ffmpeg的日志,对于NDK程序而言其本身就缺乏适当的调试方法(AndroidStudio可以支持调试,但是很麻烦),如果再不能查看日志,那就算是废了。 本文在此提供一种把ffmpeg日志输出到adb logcat的方法。1. av_log_set_callbackffmpeg中av_log_s

2017-02-25 14:48:08 3650

原创 Android Java调用ffmpeg命令

0. 前言ffmpeg命令很强大,但是在Android工程中无法执行可执行文件ffmpeg,即无法使用ffmpeg。 本文介绍把ffmpeg改造成库文件,然后通过JNI调用它,即可实现在Java中使用ffmpeg命令。PS: 本工程依赖于前文Android 编译FFmpeg x264。1. ffmpeg1.1 main to run(1)ffmpeg.h 进入ffmpeg源代码,修改ffmpe

2017-02-23 17:45:19 4523

原创 Android 编译FFmpeg x264

1. Android FFmpeg开发基本流程(1)X264/FFmpeg + NDK编译 (2)ffmpeg.so + 编解码C代码 (3)Android.mk 编译 (4)JNI (5)JAVA代码调用基本流程如下图所示: 本文涉及FFmpeg,x264编译。2. NDK配置首先需要配置NDK开发环境,略 (1)设置$NDK环境变量# Detect NDKif [[ -z "$N

2017-02-22 17:56:58 2856

原创 比特率,帧率,分辨率对视频画质的影响

0.前言前几天和别人讨论视频编码参数对视频清晰度影响,今日查查文献在此记录总结下。对最终用户而言,其只关心视频的文件大小和画面质量。 其中画面质量包括:分辨率,清晰度和流畅度。 (1)帧率(FPS)决定视频流产度,对视频大小存在影响(2)仅仅增加分辨率,会降低视频质量的主观感受;只有在保证清晰度的条件下,才能提高视频质量的主观感受(3)比特率与视频质量正相关,且存在边际效应递减现象(4)比特率和视频大小线性

2017-02-21 18:25:09 53958 1

转载 介绍一个非常好用的跨平台C++开源框架:openFrameworks

openframeworks(http://www.openframeworks.cc/ )是C++为基准的简洁开发框架,擅长开发图像和动画。能在多个平台上运行(PC, Mac, Linux, iPhone)。主要有以下特征:◇ 通过编码来制作图像和动画。 ◇ 免费使用◇ 以C++为基准的语法,但即使没有高深的 C++ 知识也能写出有难度的代码。◇ 包含 openGL (图形), rtAudio (声音), freeType (字体), freeImage (图像), quicktime (动画

2017-01-23 15:20:38 7465

获取上证50股票交易数据

基于Python写了一个多线程从Yahoo获取上证50成分股交易数据

2016-02-25

基于Python写的一个多线程

基于Python写的一个多线程

2016-02-25

C-Free_5.0专业版 含注册码

C-Free:轻量,高亮显示,自动完成。这些特点比VC好太多了。 C-Free是一款支持多种编译器的专业化C/C++集成开发环境(IDE)。利用C-Free,使用者可以轻松地编辑、编译、连接、运行、调试C/C++程序。

2013-05-31

数据结构与算法分析C++ 代码

从官方网站上下载的与书配套的代码。 书名:A Practical Introduction to Data Structures and Algorithm Analysis

2013-05-31

数据结构与算法分析C++ (英文版)

英文名:A Practical Introduction to Data Structures and Algorithm Analysis

2013-05-31

C++Builder编辑快捷键

里面包含了C++ Builder 的几乎全部的快捷键,对于C++ Builder入门来说非常有意义。

2013-05-27

2012__百度__实习_大礼包__笔试_面试_试题

2012__百度__实习_大礼包__笔试_面试_试题,内容很全面,想去百度的人不可不看

2012-09-06

百度笔试题

百度2009年笔试题,主要是关于操作系统方面的知识

2012-09-06

C++之父的C++概要总结

c++ 程序设计原理与实践中,C++之父做的关于C++的概要总结。

2012-03-30

p2psearcher

p2p网络搜索工具,能够搜到各种各样的数据。

2011-09-09

360绿色垃圾清理管家

从360中提取的垃圾清理管家。绿色无毒。

2011-03-07

htmlparser 1.6

从sourceforge上下载的,无毒请大家放心使用。

2011-03-07

Heritrix在Eclipse中的源文件

Heritrix在Eclipse中的源文件。Heritrix1.14.4;Eclipse:helios。 在Eclipse中新建一个javaproject工程,将下载下来的。另附说明

2011-03-02

海文2011考研计算机组成原理思维导图

海文2011考研计算机组成原理思维导图,需要用mindmanager打开。

2011-02-22

基于LUCENE和HERITRIX技术搜索引擎的设计与实现

基于LUCENE和HERITRIX技术搜索引擎的设计与实现,东南大学孟祥成编写。

2011-02-22

wmpfirefoxplugin

很多用户的firefox不能在想播放音乐,wmpfirefoxplugin就是修改这一问题的插件。

2009-02-28

空空如也

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

TA关注的人

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