android
文章平均质量分 67
程序课代表
健康分享,快乐生活
展开
-
libusb与usbmuxd协议
两大网站搜索/下载/依赖jar包1.os x上,苹果有一个服务,叫usbmuxd,这个服务主要用于在USB协议上实现多路TCP连接,将USB通信抽象为TCP通信。苹果的iTunes,,都直接或者间接地用到了这个服务。2.那么问题来了,如何让iDevice通过苹果的数据线和mac通信?其实不止是mac,只要pc上提供usbmuxd服务,就可以和iDevice通信,通过TCP.3.libimobiledevice,可以在上找到它。原创 2022-08-25 10:39:33 · 475 阅读 · 0 评论 -
ADB协议解析说明
系统标识字符串应该是"::",其中systemtype是"bootloader", "device",或"host", serialno一般是唯一ID或空值,banner是人类可识别的版本或标识符字符串,一般是有意义的属性。目前有两种运输方式:—USB传输,物理设备通过USB传输—本地传输,对于运行在主机上的模拟器,通过TCP连接到服务器理论上,应该可以编写代理的本地传输ADB服务器与连接到另一台机器/运行在另一台机器上的设备/模拟器之间的连接。原创 2022-08-24 13:22:39 · 3125 阅读 · 1 评论 -
音视频编解码原理(四) H.264码流组成/哥伦布编码
上一章介绍了H.264帧间编码原理,本章开始介绍H.264码流组成组成H.264码流的结构主要包含以下几个部分,从大到小排序一次是:H.264视频序列、GOP、图像、片组(slice集合)、片(slice)、NALU、宏块、像素。H.264视频序列:一段视频GOP:从I帧到下一个I帧之间的内容图像:视频中的一帧片组(slice集合):片的集合片(slice):一大块像素数据NALU:00 00 00 01 或 00 00 01标志一个NALU单元的开始宏块:被信源编码器划原创 2022-01-28 17:18:42 · 1770 阅读 · 0 评论 -
音视频编解码原理(三) H.264帧间编码原理
由上一章了解到H.264帧内编码的基本原理,本章介绍帧间编码原理首先看一下视频的下面两帧图片其中除了车子和镜头在移动,帧间大部分内容并没有发生大的改变,以车子的车牌为例,车牌向左移动了,就是宏块位置发生了变化,在第二帧中,就不用编码宏块的左侧和上侧的像素信息,只需要记录宏块的坐标信息(运动矢量),从而减少编码和传输的数据量。由此可以归纳出,假如第一帧图像为I帧,那么第二帧运动矢量图像可能是B帧也可能是P帧,取决于H.264内部算法,无需应用关心。为了方便解释,可以做如下总结:原创 2022-01-28 14:49:49 · 1182 阅读 · 0 评论 -
音视频编解码原理(二) H.264帧内编码原理
上一章介绍了音视频封装格式和音视频编码格式,本章开始介绍H.264原理说到H.264,首先不得不提到作为奠基鼻祖的H.261,其主要的贡献有:1.帧内编码第一次根据帧内的像素趋于统一而采用帧内预测编码技术2.帧间编码(运动补偿)使用以宏块为基础的运动补偿预测编码技术,从当前宏块参考帧中产生最佳匹配宏块3.环路滤波器实际上是一个数字低筒滤波器,滤除不必要的高频信息4.块结构的混合编码第一种采用“块结构的混合编码”方案的编码标准本章主要介绍帧内编码原理。H.2原创 2022-01-28 13:14:52 · 2549 阅读 · 0 评论 -
音视频编解码原理(一) 封装格式和编码方式简介
一、封装格式要了解音视频编解码原理,首先需要了解什么是封装格式? 所谓封装格式,就是将已经编码压缩好的视频轨和音频轨按照一定的格式封装到一个文件中,一般情况下,不同的封装格式对应不同文件后缀,例如:视频文件格式 视频封装格式 .avi AVI(Audio Video Interleaved) .mp4 .3gp .mpeg .mpg MPEG(Moving Picture Experts Group) .flv Flash Video .rm...原创 2022-01-28 10:53:19 · 2464 阅读 · 0 评论 -
Android分屏显示(多窗口支持) 开发总结
最近公司有分屏显示需求,遇到几点问题 ,在此记录,以做备忘。我所谓的分屏显示,是在同一个界面内,分屏显示两个app的界面注意点1:系统好像没有获取应用显示的左右或者上下位置的方法,所以我采用迂回战略,使用getWindow().getDecorView().findViewById(android.R.id.content).post(new Runnable() { @Override public void run() { int[] out原创 2022-01-26 18:01:48 · 6786 阅读 · 7 评论 -
android 7.1以后以太网与wifi不能共存问题解决方案
Android以太网和wifi共存并设置Wif优先级最高 - 简书在Android5.0以后网络请求的优先级,不在以devcie下的config文件配置的顺序为主,而根据网络的连接状态,等其他因素综合动态评分机制,进行判断优先级。 默认的优...https://www.jianshu.com/p/76076df0df92...转载 2021-11-12 17:15:37 · 1306 阅读 · 0 评论 -
JVM与Android虚拟机解析
有段时间没有更新博客了,事出必有妖,我先来阐述一下写本系列博客的来由:前段时间老板思想又有点邪恶了,总想破解别人的软件,让我研究研究。于是我在膜拜之余也四方打探,决定从java字节码指令集和dalvik虚拟机的arm指令集入手,虽然后来由于非安全领域专业人员,就放弃了,不过对于技术来说,研究的价值不可遗失,遂成此博客。当然本篇博客只会分析Java字节码解析和Android机器码解析,让那些邪恶的想法先消停消停,当然,有条件的同学,单凭看懂此篇的智慧,应该也不是什么难事。话归正题,接下来让我们一起揭开原创 2021-04-21 12:16:48 · 570 阅读 · 1 评论 -
编译faac音频编码库
faac是MPEG-4和MPEG-2的AAC编码器,我们将使用它作为音频的软编码库。一、下载faac官网:http://faac.sourceforge.net这里使用ubuntu命令行下载,这里下载可能稍慢,耐心等待下载完成sudo wget https://nchc.dl.sourceforge.net/project/faac/faac-src/faac-1.29/faac-1.29.9.2.tar.gz下载完成,使用以下指令解压tar xvf faac-...原创 2021-01-24 23:58:44 · 1128 阅读 · 5 评论 -
编译x264视频编码库
X264作为H264视频编码最好用的有损视频软编码器之一,其性能比FFmpeg中实现的内置编码算法性能更好,其功能强大无以言表。但遗憾的是只能编码为H264,无法编码为H265等其他视频编码格式,本章主要实现通过使用X264源码编译出android中可以使用的X264编码器。一、下载X264官网地址:https://www.videolan.org/developers/x264.html这里使用ubuntu命令行下载1. 因为x264是使用git来管理的,所以如果没有安装gi...原创 2021-01-24 22:55:15 · 1450 阅读 · 0 评论 -
交叉编译环境搭建与测试
一、什么是交叉编译 在一种计算机环境中运行的编译程序,能编译出在另外一种环境下运行的代码,我们就称这种编译器支持交叉编译。这个编译过程就叫交叉编译。简单地说,就是在一个平台上生成另一个平台上的可执行代码。这里需要注意的是所谓平台,实际上包含两个概念:1. 体系结构(Architecture)2. 操作系统(OperatingSystem)。同一个体系结构可以运行不同的操作系统;同样,同一个操作系统也可以在不同的体系结构上运行。举例来说: 我们常说...原创 2021-01-23 14:24:18 · 6447 阅读 · 0 评论 -
文字识别(三) android中使用Tesseract实现文字识别
前两章介绍了如何使用Tesseract和jTessBoxEditor制作样本和训练样本文件,本章介绍如何在android中使用训练好的xxx.traineddataandroid办大事必备图因为Tesseract使用C++实现的,在Android中不能直接使用,需要封装JavaAPI才能在Android平台中进行调用,这里我们直接使用TessTwo项目,tess-two是TesseraToolsForAndroid的一个git分支,使用简单Tess-two在git上地址为:https://g原创 2021-01-22 23:06:22 · 1713 阅读 · 3 评论 -
文字识别(二) Tesseract识别与jTessBoxEditor样本训练
《一》准备样本文件1.样本文件可使用系统画图工具绘制样本文件,数量越多越好,作为训练的数据,如图注:样本图像文件保存格式必须为.tif结尾或.tiff结尾的格式,否则在Merge样本文件的过程中会出现 Couldn’t Seek 错误,如图《二》训练样本在jTessBoxEditor目录下找到【train.bat】,双击打开 jTessBoxEditor,如图点击菜单栏【Tools 】->【Merge TIFF】...原创 2021-01-22 17:55:39 · 2340 阅读 · 0 评论 -
文字识别(一) Tesseract识别与jTessBoxEditor环境搭建
一、Tesseract安装下载方式一:tesseract官方下载地址https://digi.bib.uni-mannheim.de/tesseract/其中带有dev的是开发版,不带的是稳定版,可以选择稳定版下载。下载方式二:第一种方式如果没有进行科学上网,可能下不下来,这时候可以使用第二种方式。1.进入 https://github.com/tesseract-ocr/tesseract找到如下图所示,点击2.进入到https://tesserac..原创 2021-01-21 22:36:36 · 1297 阅读 · 0 评论 -
rtmp协议解析
在介绍主要内容之前,先介绍一下当前各协议的应用场景 RTMP:一般用作直播,允许丢包 RTSP:一般用作安防,不允许丢包 RTP:一般用作音视频通话,允许丢包,低延迟 HLS:即Http Live Stream,苹果公司封装的基于http协议的直播协议然后介绍一下短视频和直播的区别:短视频和直播都要控制数据量的大小,可以根据其特点和应用场景调整参数。 短视频:根据其对实时性无要求,对帧率要求较高,不能出现卡顿掉帧的情况。可以拉长I帧间隔,即gop间...原创 2021-01-17 21:21:56 · 676 阅读 · 0 评论 -
ubuntu 依赖安装pcre 、openssl、zlib指令
使用dpkg命令查看自己需要的软件是否安装。例如查看pcre是否安装:dpkg -l | grep pcre解决依赖包openssl安装,命令:sudo apt-get install openssl libssl-dev解决依赖包pcre安装,命令:sudo apt-get install libpcre3 libpcre3-dev解决依赖包zlib安装,命令:sudo apt-get install zlib1g-dev...原创 2021-01-16 17:56:55 · 5602 阅读 · 0 评论 -
opencv篇(二) 配置windows环境
各位不好意思,因为这段时间对go语言比较热衷,所以学习了一波,接下来我们继续之前的opencv攻坚。本篇内容为:配置windows的opencv环境。如此,我从攻坚篇(一)中盗了张图过来,本篇就从算开始了双击666...错了,重来!!1.双击上图中三原色的.exe文件,安装opencv到自己喜欢的位置,比如我就安装在D:\java\opencv_sdk目录下,各位随意1.双击图标是那个三原色的.exe文件,安装到自己喜欢的位置,比如我就安装在D:\java\opencv_sdk目原创 2020-11-19 22:00:07 · 526 阅读 · 0 评论 -
opencv篇(一) ndk运行环境搭建
因公司业务需求,需要涉及到计算机视觉之类的知识,出于增强记忆和乐于分享的目的,在此记录下本技术完整流程!首先,亮一下本屌的开发工具启动界面,本篇就算正式开始了!一、android studio配置1.首先创建一个没有什么卵用的...原创 2020-04-27 23:16:10 · 1148 阅读 · 0 评论 -
优秀的导航栏风格
参考https://blog.csdn.net/afei__/article/details/80950288原创 2020-01-03 17:19:40 · 586 阅读 · 0 评论 -
运单号获取用户手机号
遇到一个需求,需要通过扫描运单号获取手机人手机号信息,这个功能主要运用于快递柜扫描单号快捷入库,百度了一波,说什么的都有,下面分享一下从百度上分享到的答案:一、有这种接口的,但是一般都是不会公开的。你要就要跟每个公司去谈,除非你公司有足够的能力吧,具体的你可以看菜鸟他的系统我知道是直接扫描的,肯定用的是这种接口二、这个好像有点儿不现实 以前的时候见快递小哥都是手动输入手机号短信通知,...原创 2019-09-22 12:15:53 · 8883 阅读 · 0 评论 -
java流水号生成规则(固定位数,先通过数字生成,数字用完字母生成)
今天来分享一个比较有意思的递增规则,开始也研究了一会,把高中学的等比等差都用上了,小喝了一杯茶,游荡一圈回来恍然大悟,所以说劳逸结合还是蛮重要的。下面进入正题:我的规则是第一位作为头,后面所为流水号,当然头也是可变的,从1到Z,只是在流水号从XXX001用到XXX999,z最后用到XXXZZZ的时候,头才会加一个,先贴代码:public static void main(String[]...原创 2019-09-02 23:55:41 · 5918 阅读 · 3 评论