0%

前言 最近在做 Android 云手机项目,以前是用传图片的方式显示远程手机的屏幕内容,优点是实现起来简单,缺点是流量有些大。现在要改成更加优化的方案:播放 H264 视频流。(视频流数据来自服务器,通过 Socket 传递。并没有使用流媒体协议)。因此先学习了一下 H264 的相关知识。 H264 官方文档最新版下载地址。也可以访问备用地址。 基本术语 SPS:序列参数集(Sequence parameter set) PPS:图像参数集(Picture parameter set) NAL:网络抽象层(Network Abstract Layer) I Slice,P Slice,B Sl ...
阅读全文 »

之前学习 UDP 组播(多播)时,需要先了解广播地址,因此又温习了一下相关的基础知识。 注意: 本文讲解的都是和 IPv4 相关的。 前言 IPv4地址 使用32位(4字节)地址,因此地址空间中只有4,294,967,296(2的32次方)个地址。不过,一些地址是为特殊用途所保留的,如专用网络(约1800万个地址)和多播地址(约2.7亿个地址),这减少了可在互联网上路由的地址数量。随着地址不断被分配给最终用户,IPv4地址枯竭问题也在随之产生。基于分类网络、无类别域间路由和网络地址转换的地址结构重构显著地减少了地址枯竭的速度。但在2011年2月3日,在最后5个地址块被分配给5个区域互联网注册管 ...
阅读全文 »

最近需要用到主机探测功能,想通过 UDP 组播来实现,因此学习了下 UDP。 知识库: 由于组播(多播)和广播会用到一些网络相关的基本知识,可以参看我之前写的文章网络基础知识。 UDP(User Datagram Protocol 用户数据报协议) 基本概念 UDP 单播 UDP 组播(多播) UDP 广播 基本概念 以下内容引自维基百科。 用户数据报协议(英语:User Datagram Protocol,缩写:UDP;又称用户数据包协议)是一个简单的面向数据报的通信协议,位于OSI模型的传输层。该协议由David P. Reed在1980年设计且在RFC 768中被规范。典型网络上的众多使 ...
阅读全文 »

阅读前提 需要能成功编译并运行 Android 源码。具体可参考我之前写的另一篇文章:[原创] Ubuntu 18.04 LTS 编译原生 5.1.1 r26_LMY48Y 并刷机 Nexus 6 系统环境 本人系统环境如下: **OS 环境:**Ubuntu 18.04.2 LTS X64 Desktop **内核版本:**Linux version 4.15.0-51-generic (buildd@lgw01-amd64-059) (gcc version 7.3.0 (Ubuntu 7.3.0-16ubuntu3)) 参考文献 Android定制:修改开机启动画面
阅读全文 »

阅读前提 需要能成功编译并运行 Android 源码。具体可参考我之前写的另一篇文章:[原创] Ubuntu 18.04 LTS 编译原生 5.1.1 r26_LMY48Y 并刷机 Nexus 6 系统环境 本人系统环境如下: **OS 环境:**Ubuntu 18.04.2 LTS X64 Desktop **内核版本:**Linux version 4.15.0-51-generic (buildd@lgw01-amd64-059) (gcc version 7.3.0 (Ubuntu 7.3.0-16ubuntu3)) 提取 boot.img 提取 boot.img 需要 split_b ...
阅读全文 »

先说明下本人的软硬件环境: 硬件环境 **OS 环境:**Ubuntu 18.04.2 LTS X64 Desktop **内核版本:**Linux version 4.15.0-51-generic (buildd@lgw01-amd64-059) (gcc version 7.3.0 (Ubuntu 7.3.0-16ubuntu3)) 硬件环境: CPU:Intel® Core™ i7-7700 CPU @ 3.60GHz (四核心八线程) 内存:16G DDR4 2400 MT/s 硬盘:1T 机械硬盘 带宽:联通 300Mbits 编译 Android 的前提 OpenJDK 7 (注 ...
阅读全文 »

流程简述 创建 Issue 等待审核 配置 Maven 并修改 pom.xml 发布项目 回复“项目已发布”信息 等待 Maven 仓库同步信息(需等待很长时间) 在 Maven 仓库中确认已发布的项目 登录/创建 Sonatype 访问 Sonatype 官网,登录或创建一个用户。 新建一个 Issue 在 Dashboard 页面,点击 “Create” 按钮。 按照提示新建一个 Issue。例如: 注意: Group Id 要符合命令规范,即域名的倒序,还要保证其唯一性。(最好有自己的独立域名,一级域名或二级域名都行) 在创建 Issue 时,Project URL 和 SCM url ...
阅读全文 »

操作系统环境: CentOS 7 64bit 背景 之前抓取了一个四大名著原文的网站,但是发现其文件编码格式不是UTF-8, 而是GB18030。这样对于使用起来有很多不方便的地方。于是想对下载下来的文本文件进行批量编码格式转换。 开始编码转换 既然要进行编码转换,当然首先要知道原始文件的编码格式。 刚开始最先想到的是用file命令查看文件编码: 12$ file hlm.htmhlm.htm: HTML document, ISO-8859 text, with very long lines, with CRLF line terminators 但是发现显示的文件编码格式不对,应该是GB ...
阅读全文 »

使用 wget 命令抓取整站 1234567891011121314# 抓取整站$ wget -r -p -np -k http://www.purepen.com/# 仅下载 i386 目录中所有扩展名为 iso 的文件。$ wget -r -np -nd --accept=iso http://www.qqfdc.com/centos-5/i386/# 把所有需要下载文件的地址放到 filename.txt 中,然后 wget 就会自动为你下载所有文件了。$ wget -i filename.txt# 指定 User Agent$ wget -r -p -U Mozilla http:// ...
阅读全文 »

亲测可用。 测试环境如下: MacBook Pro (Retina, 13-inch, Early 2015) OS Versoin: 10.13.3 (17D102) Mac OS 中其实是支持 NTFS 分区读写操作的。只不过由于某些原因(有说是因此版权原因),默认情况下只允许读取 NTFS 分区内容,无法进入写操作。本文即教给大家如何原生开启 Mac OS 中对 NTFS 分区的读写。 原生开启 Mac OS 中对 NTFS 分区的读写 首先在终端执行如下命令,查看卷标名: 12345678910111213141516171819202122$ diskutil list/dev/di ...
阅读全文 »