贱贱的杨 blog

不停的战斗
私信 关注
engineer_james
码龄4年

让植根于现实的理想闪闪发光

  • 168,535
    被访问量
  • 88
    原创文章
  • 38,839
    作者排名
  • 79
    粉丝数量
  • 于 2017-03-03 加入CSDN
获得成就
  • 获得50次点赞
  • 内容获得43次评论
  • 获得181次收藏
荣誉勋章
兴趣领域
  • #人工智能
    #图像处理#视觉/OpenCV#深度学习#语音识别#Python#自然语言处理#算法#Flink#TensorFlow#PyTorch#NLP#神经网络#数据分析#机器学习
TA的专栏
  • 笔记
  • 通信网络
    13篇
  • 流媒体
    33篇
  • linux
    10篇
  • Android
    26篇
  • scrapy-爬虫
    1篇
  • Firefox-os
    4篇
  • 嵌入式
    3篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

远程服务器维护

服务器问题因为服务器 采用的samba和ssh 方式登录,但是在人数过多的情况下,文件读写会出现卡顿,不定时出现个别用户,或者群体范围,经查阅资料,检查cpu 和 mem 使用情况,主要原因出现 cache/buff 过高的情况首先检查下 cpu 和 mem 使用信息主要是top信息#iP地址IP=`ifconfig | grep inet | grep -vE 'inet6|127....
原创
131阅读
0评论
0点赞
发布博客于 1 年前

secureCRT 当作串口工具 使用

secureCRT简称crt,终端仿真工具很强大,支持 SSH1和SSH2,串口,Telnet等,我这里只用作 串口打印log,可以自动保存log ,随时暂停log恢复网上有很多破解版点击安装,然后解压破解工具,双击点击patch 选择 安装路径下的SecureCRT.exe然后选择license到这里 应该破解了然后配置成串口工具选择Options->Globa...
原创
1021阅读
1评论
0点赞
发布博客于 1 年前

[mp3]声音播放太快 问题解析

问题:播放音频文件发现声音变快了audio分析MPEG 组织 官方介绍基本介绍可以参考 https://www.cnblogs.com/ranson7zop/p/7655474.htmlmp3 协议 属于mpeg 范畴一个mp3 文件由 TAG_V2(ID3V2),Frame, TAG_V1(ID3V1) 组成TAG_V2包含了作者,作曲,专辑等信息,长度不固定,扩展了I...
原创
260阅读
0评论
0点赞
发布博客于 2 年前

[802.11][WEP 有线等效隐私 加密原理]

无线安全解决方案 WEP
原创
197阅读
0评论
0点赞
发布博客于 2 年前

[802.11][ MAC 管理帧类型]

文章目录管理帧Beacon 信标帧Probe Request 探测请求Probe Response 探测应答解除连接和解除认证(Disassociation 和 Deauthentication)连接要求 Association Request重新连接请求 Reassociation Request连接应答 Association Response 和 重连接应答Reassociation Res...
原创
273阅读
0评论
0点赞
发布博客于 2 年前

802.11协议精读1:学习资料整理

转发自 https://zhuanlan.zhihu.com/p/20716157序言笔者从研究生开始,一直在做有关802.11协议的相关内容。故在此将笔者学习期间收集了较好的学习资料进行整理,并记录如下。该整理按照由潜至深的顺序,可以根据个人不同的情况,进行选择。(PS:其中有的附上的下载链接均为网上搜索而言,仅为学习使用而已,有的资料可能不是最新版,所以还是购买原版书好一些)。综合类1...
转载
229阅读
0评论
1点赞
发布博客于 2 年前

[802.11][ MAC 管理帧的元件]

MAC管理帧主要用来加入和推出wifimac 帧头 = 2+2+6+6+6+2 = 24字节地址位addr1 接收端设置 目的地址addr2 发送端设置 源地址addr3 设置加入网络的BSSID计算时间duration免竞争期间 发送的帧设置位32768竞争期间广播和组播 设置为0不是最终片段,设置3SIFS+next frame+response最终片段 设置re...
原创
205阅读
0评论
0点赞
发布博客于 2 年前

[802.11][ MAC 控制帧]

IEEE 802.11 MAC 控制帧控制帧格式在 控制帧中Frame controlProtocol 值 0,type 识别码值 10,控制帧负责处理无线介质的访问,只能由无线工作站产生,并不会进入传输系统,所以 ToDS 和 FromDS 必然是0,控制帧不会分片,所以More Fragments 是0.,控制帧不会出现Retry,所以为0,控制帧没有More data 为0,控制...
原创
327阅读
0评论
1点赞
发布博客于 2 年前

[802.11][ MAC 帧头][seq-ctl 2byte]和[FCS 4byte]

IEEE 802.11 MAC帧mac帧格式Seq-ctl 顺序控制 2byte
原创
322阅读
0评论
0点赞
发布博客于 2 年前

[802.11][ MAC 数据帧]

IEEE 802.11 MAC帧mac帧格式Address1 Address2 Address3 Address4 4个地址,各占6字节地址长度48bit,传送给实际介质的第一个bit 为0 ,表示单一工作站(单点传播)第一个bit 为1 表示一组实际工作站,称为组播(多点传播)所有的bit 为1,帧为广播帧addr1 代表接收端接收端地址 48bit 的IEEE MAC...
原创
153阅读
0评论
1点赞
发布博客于 2 年前

[802.11][ MAC 帧头][Duration/ID 2字节]

IEEE 802.11 MAC帧mac帧格式Duration/ID 2 byteDuration/ID 在frame control 后面,占2byte当设置为NAV 网络分配矢量情况 (network allowcation Vector )第15bit 设置为0,0~14 用来设置NAV,单位微秒免竞争期间(CFP contention free period)传送的帧...
原创
495阅读
0评论
1点赞
发布博客于 2 年前

[802.11][ MAC 帧头][Frame Control 2字节]

文章目录IEEE 802.11 MAC帧mac帧格式Frame ControlIEEE 802.11 MAC帧在IEEE802.11 格式中,位的传送顺序由左到右,最低bit最先出现,最高效bit最后出现,感觉有点像大端对齐和小端对齐的注意事项大端对齐:高内存地址放整数高位 ,低内存地址放整数低位 例如x86 arm都是采用大端对齐小端对其:高内存地址放整数低位, 低内存地址...
原创
738阅读
0评论
0点赞
发布博客于 2 年前

Wi-Fi 基本知识

Wi-Fi 入门有线网络已经无法满足社会的发展,所以无线网络慢慢诞生,主要用到802.11无线网技术规范,优点很明显,弥补了有线网络的缺陷学习之前肯定有很多问号1. Wi-Fi 主要学什么?TCP/IP 把协议分成五层 和 OSI七成模型Wi-Fi 使用的是802.11协议规范(主要是针对本地局域网 LAN local area network),而802.11 主要规范 媒体介质控制...
原创
553阅读
6评论
1点赞
发布博客于 2 年前

arm-none-eabi-gcc 源码编译 toolchain 构建过程

背景我们采用arm公司的芯片,arm会提供官方支持的编译 toolchain,访问地址:ARM 官网源码编译的好处,可以客制化一些features,features都是通过宏开关控制,比如arm 的gcc中 针对freertos 砍去了posix,所以需要手动打开posix 开关gcc-arm-none-eabi 源码编译下载 解压源码把gcc-arm-none-eabi-6-2019-...
原创
5869阅读
1评论
0点赞
发布博客于 2 年前

统计 移植的库占据系统多少RAM

小贱贱接到 领导命令,系统占了多少RAM,小贱贱不会啊,浏览器疯狂搜索资料RAMRAM:Random Access Memory 随机存取存储器 也叫主存,是与CPU直接交换数据的内部存储器。它可以随时读写(刷新时除外),而且速度很快,主要用来存放操作系统、各种应用程序、数据等。它与ROM的最大区别是数据的易失性,RAM的工作特点是通电后,随时可在任意位置单元存取数据信息,断电后内部信息也随之...
原创
97阅读
1评论
1点赞
发布博客于 2 年前

How-to-build-toolchain.pdf

arm 公司 的编译gcc toochain 教程,不依赖本地环境,属于编译技术,有兴趣的同学可以参考
pdf
发布资源于 2 年前

图灵 Python计算机视觉编程 280页 30.5M 高清书签版.rar

python的一本好书,值得学习,理论与实践结合,容易理解
rar
发布资源于 2 年前

802.11n 协议.7z

wifi 协议 802.11n 虽然没有802.11ac 不是主要的wifi协议,如果又802.11ac基础,看802.11n入门比较快
7z
发布资源于 2 年前

802.11ac 协议.7z

802.11 ac 在智能设备发展的今天,wifi 基础 文档,很有帮助
7z
发布资源于 2 年前

搭建 https 服务器和 websocket 服务器指南

搭建https服务器环境准备配置 https 服务器访问生成CA根证书生成终端用户证书配置ngnix.confhttps服务器配置环境准备操作系统:win10下载 ngnix 、openssl安装目录不含有中文和有空格 推荐D:/program_files/ngnix 或者 /openssl 配置openssl环境变量首先配置OPENSSL_HOME 路径,将OPEN...
原创
1687阅读
0评论
1点赞
发布博客于 2 年前

[live555]客户端优化 丢包问题

背景描述:在流媒体传输的时候,I P P P B B P I P B B I 类似的一帧传输,但是经常会随机出现丢包的情况,如何改善用户体验,就显的特别重要其中花屏的体验十分差,花屏是因为 I帧中间某一帧丢了包导致的问题,因为每一帧之间的变化和差距不是很大,所以最好的办法就是直接跳到下一个I帧 ,或者通过RTCP 请求丢失的包,重新排序解码这篇优化,采用第一种,环境在live555中模拟丢...
原创
1667阅读
11评论
2点赞
发布博客于 3 年前

timeval使用和理解

在 看协议的过程中经常会有同步 时间计算获得时间延迟,所以会用到timeval/* * Structure used in select() call, taken from the BSD file sys/time.h. */struct timeval { long tv_sec; /* seconds */ long tv...
原创
29046阅读
0评论
3点赞
发布博客于 3 年前

linux signal 函数对中断的应用

在https://blog.csdn.net/engineer_james/article/details/83867466 写一个android进程后台的过程但是我们用CPP C 开发避免不了 分配内存或者 指针,如果在linux 进程跑的时候,出现死了或者退出导致中断,但是资源没有正常释放,造成资源浪费,所以需要用signal 处理signal是linux系统的对所有动作的捕捉,然后进行处...
原创
1132阅读
0评论
0点赞
发布博客于 3 年前

Android 源码 中写后台应用

在Android 开机启动的时候会有一些后台进程跑起来,当然我么也可以定制在vendor 的目录中放置 一个Android.mk文件还有一个server.cpp,头文件配置makefile配置# LOCAL_PATH变量。它用于在开发树中查找源文件 my-dir 编译系统提供LOCAL_PATH := $(call my-dir) # executable bin #清除所有loc...
原创
318阅读
0评论
0点赞
发布博客于 3 年前

[live555] testRTSPClient 通过ffmpeg 解码(记录)

live555 获取每一帧testRTSPClient 中Boolean DummySink::continuePlaying() { if (fSource == NULL) return False; // sanity check (should not happen) // Request the next frame of data from our input sour...
原创
983阅读
1评论
0点赞
发布博客于 3 年前

从live555 实战中了解MakeFile

陈力就列 不能者止基本的shell 命令学习Makefile 《跟我一起写Makefile》,有余力者参考GNU make 参考书。电子版本       下载live555源码1.保证编译通过./genMakefiles linuxmake -j8上面配置 linux ,使用的参数在 config.linux 文件中是生成静态库的文件2. Makefile   编译...
原创
512阅读
0评论
1点赞
发布博客于 3 年前

RIL 流程

RIL 分为RILJ 和RILC 部分,而RIL 和modem 通信通过socket ,发送的是串口 AT command[其实只要熟悉linux 编程,rild 部分确实很好理解]花了4天左右认认真真分析在初始化 reference-ril 库的时候,创建 客户端socket 连接到modem,而通过atchannel 的at_send_command_full_nolock发送AT...
原创
2316阅读
0评论
1点赞
发布博客于 3 年前

深入理解RILD 知识点笔记

int p; //这是一个普通的整型变量int *p; //首先从P 处开始,先与*结合,所以说明P 是一个指针,然后再与int 结合,说明指针所指向的内容的类型为int 型.所以P是一个返回整型数据的指针  int p[3]; //首先从P 处开始,先与[]结合,说明P 是一个数组,然后与int 结合,说明数组里的元素是整型的,所以P 是一个由整型数据组成的数组    -------整型...
原创
220阅读
0评论
1点赞
发布博客于 3 年前

[live555] 从testRTSPClient.cpp PLAY 请求 四

前言因为play 流程和DESCRIBE 和SETUP一样,所以,已经需要分析的内容很少,除了RTCP [live555] 从testRTSPClient.cpp DESCRIBE 发起请求 一 [live555] testRTSPClient.cpp DESCRIBE (后续处理) 二 [live555] 从testRTSPClient.cpp SETUP请求 三PLAY 请求...
原创
277阅读
0评论
0点赞
发布博客于 3 年前

[live555] 从testRTSPClient.cpp SETUP请求 三

前言在DESCRIBE 请求流程,已经将 live555 处理机制走了一遍,所以在SETUP请求过程中也是适用的SETUPrtspClient->sendSetupCommand(*scs.subsession, continueAfterSETUP, False, REQUEST_STREAMING_OVER_TCP);unsigned RTSPClient::send...
原创
390阅读
0评论
0点赞
发布博客于 3 年前

[live555] testRTSPClient.cpp DESCRIBE (后续处理) 二

摘要在testRTSPClient 发送 DESCRIBE 请求的时候,会解析返回的response,所以早早就把请求相关的信息封装在RequestRecord(包含cseq session 等信息),存放在fRequestsAwaitingResponse 队列中,等到轮询便处理 ...
原创
496阅读
1评论
0点赞
发布博客于 3 年前

testRTSPClinet 测试用的log

是关于live555 testRTSPClient 用来分析用的,比较完整,是学习live555的好log
pcap
发布资源于 3 年前

[live555] 从testRTSPClient.cpp DESCRIBE 发起请求 一

从Meida Server 到live555客户端之前零零碎碎写了 live555 MediaServer 以及关于RTSP 流程的处理 live555 处理 请求消息 一 “OPTIONS” live555 处理 请求消息 二 “DESCRIBE” live555 处理 请求消息 三 “SETUP” live555 处理 请求消息 四 “PLAY” live555 处理 请求消...
原创
559阅读
0评论
0点赞
发布博客于 3 年前

深入理解git 使用

作为一个4年的程序员,很多基础一知半解,很惭愧.想来想去,自己后之后觉,到毕业的时候,才知道这个行业比较适合我.选择将git 整理一番,磨刀不误砍柴工嘛. 参考书籍 https://git-scm.com/book/zh/v2首先是clone 一个项目git clonegit clone git@xxxxxxxxxxxx.gitgit status然后修改文件...
原创
182阅读
0评论
1点赞
发布博客于 3 年前

第三方 app 安装后,android.intent.action.BOOT_COMPLETED 无法启动应用

网上有已经有人解释了原因 参考 https://blog.csdn.net/zhouzhengting1/article/details/50459431因为我们发送广播adb shell am broadcast -a android.intent.action.BOOT_COMPLETED但是intent 默认会添加 FLAG_INCLUDE_STOPPED_PACKAGES...
原创
1479阅读
0评论
0点赞
发布博客于 3 年前

Android adb 使用总结 (调试专用)

adb 安装android 内置应用 out/target/product/xxx/system/app/MusicTests/MusicTests.apk 编译完成后显示adb push MusicTests.apk system/app/MusicTests adb install 第三方应用adb install -r path/MusicTests.apk...
原创
1894阅读
0评论
1点赞
发布博客于 3 年前

Android 悬浮窗口 的朝向 以及 无activity 屏幕旋转的 问题解析

前言android 悬浮球 (所有界面可用) 开发 在测试的时候,会遇到屏幕旋转,导致布局失效错乱解决方案1 直接指定 landscape 或者portrait .....mFBParams = new LayoutParams(); //设置悬浮球布局的参数mFBParams.x = mScreenWidth-mFloatBallView.getWidth(); mFB...
原创
2153阅读
0评论
0点赞
发布博客于 3 年前

Android Notification 填充 自定义布局

代码使用NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);int id = R.string.app_name;Intent d2dInfoIntent = new Intent(this, FloatballActivity.c...
原创
556阅读
0评论
0点赞
发布博客于 3 年前

Android 帧动画 实践

添加动画drawable/hide_icon.xml 添加 帧动画集<?xml version="1.0" encoding="utf-8"?><animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false"> &a
原创
91阅读
0评论
0点赞
发布博客于 3 年前

android 內置系統app Android.mk makefile 文件编写 (缺动态库编译和引用动态库)

举例 MUSIC参考https://www.cnblogs.com/wainiwann/p/3837936.html C编译的配置Android.mkLOCAL_PATH:= $(call my-dir)#每个Android.mk文件必须以定义LOCAL_PATH为开始。它用于在开发tree中查找源文件。#宏my-dir 则由Build System提供。返回包含Android...
原创
293阅读
0评论
0点赞
发布博客于 3 年前

android 悬浮窗口 权限 (ACTION_MANAGE_OVERLAY_PERMISSION)

在开发悬浮球app的过程中,当第一次打开肯定会遇到权限问题我就遇到了Caused by: android.view.WindowManager$BadTokenException: Unable to add window android.view.ViewRootImpl$W@2886501 -- permission denied for window typ...
原创
10402阅读
0评论
0点赞
发布博客于 3 年前

android 悬浮球 (所有界面可用) 开发

创建 service 后台启动public class FBService extends Service { private static final String TAG = "FBService"; public static final int TYPE_ADD = 0; public static final int TYPE_DEL = 1; ...
原创
8084阅读
1评论
1点赞
发布博客于 3 年前

悬浮球,floatball windowmanager用来理解

自己用的悬浮球,自己的定制,实现悬浮球下,弹出界面等,
tar
发布资源于 3 年前

无线Mesh网络 介绍

转自:https://blog.csdn.net/u012707739/article/details/77417670无线Mesh网络是一种近年来得到快速发展的无线宽带接入网络技术,其不需要基站等事先建设的基础设施,而是利用分布式思想构建动态自组织的无线多跳网络,让处于该网络覆盖范围内的用户在任何时间、任何地点都可以对互联网进行高速无线访问。无线Ad-hoc网络无线Mesh网络由无线...
转载
5427阅读
0评论
4点赞
发布博客于 3 年前

D2D 技术 介绍

D2D通信技术(Device—to—Device Communication)转自 : http://wiki.mbalib.com/wiki/Device-to-Device_communication目录1 什么是D2D通信技术 2 D2D技术发展历程 3 D2D技术特点 4 D2D通信技术的应用什么是D2D通信技术  D2D通信技术是指两个对等的用户节点之间直接进行...
原创
8550阅读
0评论
3点赞
发布博客于 3 年前

[live555] 谈一谈 server 发送缓冲区 作用和流程

前言live555 有个重要的参数 发送缓冲区////////// OutPacketBuffer //////////unsigned OutPacketBuffer::maxSize = 60000; // by default默认是60000 字节,但是还要看实际设置 在 MultiFramedRTPSink 初始化的时候通过setPacketSizes 重新设置发送缓冲...
原创
1074阅读
1评论
1点赞
发布博客于 3 年前

[live555] 谈一谈 SERVER RTP+NALU 分包过程

RTP HeaderNALU IndicatorNALU HeaderRBSP 原始数据
原创
783阅读
0评论
0点赞
发布博客于 3 年前

[live555] demo rtspserver log 抓取地址

rtspserver log 地址: https://download.csdn.net/download/engineer_james/10609273
原创
290阅读
0评论
0点赞
发布博客于 3 年前

[live555] 谈一谈 (*.mkv) track1 和 track2 的信息获取

发生时间 在处理Describe 请求在处理describe 请求的时候 DynamicRTSPServer::lookupServerMediaSession ,rtsp服务器会查找SDP信息并且创建,包括查找track1和track2 的信息即 音频视频轨道信息live555 处理 sdp消息 二 “DESCRIBE”[2]:...
原创
543阅读
0评论
0点赞
发布博客于 3 年前

FU-A 分片单元 过程

FU-ANON IDR 属于 [RTP header] + 拆分的NAL单元 ,所以RTP包结构如下 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1+-+-+-+-+-+-+-+-+-...
原创
3259阅读
0评论
0点赞
发布博客于 3 年前

[H264编解码参数] SEI

SEI补充增强信息单元 :
原创
3138阅读
0评论
1点赞
发布博客于 3 年前

[H264编解码参数] PPS

PPS 序列参数集合PPS 属于 [RTP header] + 单一NAL单元模式 ,所以RTP包结构如下 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1+-+-+-+-+-+-+...
原创
1427阅读
0评论
0点赞
发布博客于 3 年前

[H264编解码参数] SPS

前言RTP完整流程 已经 解释了协议 所以要涉及具体的log分析 分为: 1. SPS 2. PPS 3. I帧 4. 非I帧 5. FU-ASPS 序列参数集合PPS 图像参数集I帧非I帧FU-A...
原创
4584阅读
3评论
0点赞
发布博客于 3 年前

[live555] RTP包 NALU FU-A等之间的关系

前言RTSP 协议流程 已经介绍在SETUP 确定了传输模式,而在PLAY的时候就开始传输RTP 包 并且,确定了第一个RTP url 序列号 和时间戳 RTP-Info: url=rtsp://10.0.2.15/ss1.mkv/track1;seq=57885;rtptime=4285367567开始学习RTP包组成RTP 包组成协议基本知识 这个真的 看协议...
原创
1233阅读
0评论
2点赞
发布博客于 3 年前

rtsp rtp h264 数据包

https://blog.csdn.net/engineer_james/article/details/81743571 配合分析 用来学习,rtsp rtp的dump文件,已经在wireshark 中分类,用wireshark打开
pcap
发布资源于 3 年前

rtsp 完整流程 环境---[live555 搭建服务器 / VLC 作为客户端/ RawCap.exe 抓取包]

前言live555 rtspserver端 创建并且接收客户端数据 环境下,用RawCap 抓取了完整的log WireShark 打开预览如下 从 OPTIONS DESCRIBE SETUP PLAY TEARDOWN 完整的 RTSP协议流程 我在本地的操作,就是播放视频,然后teardown 点击vlc 停止播放,发送的请求具体协议过程1. OPTIONS...
原创
781阅读
0评论
1点赞
发布博客于 3 年前

rtsp rtp 包抓取工具rawCap 和 wireshark

wireshark安装参考: https://www.cnblogs.com/the-tops/p/7423390.html 检查自己的电脑环境 1. Visual C++ Redistributable for Visual Studio 2015 系统要求:Windows 7情况下必须是Windows 7 with SP1.或者Windows10 2.系统检测方法:命令行输入...
原创
1215阅读
0评论
1点赞
发布博客于 3 年前

[live555 处理] 请求消息 四 "PLAY" [续]

前言上一节 因为没有对后面部分 packframe 流程进行详细扩展,这一节分析packframe 框架流程图看出来需要判断 是不是打包成功,当然代码中并不是这么判断的,基于很多个维度判断是否打包成功 如果打包成功,直接发送出去sendpacketifnecessary否则继续打包packframepackframe 详细流程上面的流程是通过 放在服务器...
原创
159阅读
0评论
0点赞
发布博客于 3 年前

[live555 处理] 请求消息 四 "PLAY"

前言在 live555 rtspserver端 创建并且接收客户端数据 根据rtsp 协议需要根据 handleRequestBytes 处理请求数据而在 SETUP 请求中,已经准备好了 RTP_UDP 传输的socket,所以进行 PLAY 请求的处理 LIVE555 主要在函数 handleCmd_PLAY处理 但还是从handleRequestBytes 开始分析PL...
原创
228阅读
0评论
0点赞
发布博客于 3 年前

[live555 处理] 请求消息 三 "SETUP"

log 接收的SETUP 请求RTSPClientConnection[0xef5bfc40]::handleRequestBytes() read 158 new bytes:SETUP rtsp://192.168.0.10:8554/H264Video.mkv/track1 RTSP/1.0CSeq: 3Transport: RTP/AVP;unicast;client_por...
原创
357阅读
0评论
0点赞
发布博客于 3 年前

[live555 处理] 请求消息 二 "DESCRIBE"

根据log 分析 RTSPServer::RTSPClientConnection::handleRequestBytes 中对DESCRIBE 请求的处理1. 解析 请求和OPTIONS 请求一样fprintf(stderr, "RTSPClientConnection[%p]::handleRequestBytes() %s %d new bytes:%s
", ...
原创
344阅读
0评论
0点赞
发布博客于 3 年前

[live555 处理] 请求消息 一 "OPTIONS"

前言前面一篇 分析到了 RTSPServer::RTSPClientConnection::handleRequestBytes 进行处理请求消息消息处理分析 ptr[newBytesRead] = '\0'; fprintf(stderr, "RTSPClientConnection[%p]::handleRequestBytes() %s %d new byt...
原创
335阅读
0评论
0点赞
发布博客于 3 年前

[live555] rtspserver端 创建并且接收客户端数据

前言本文分析是基于已经搭建好的live 555 环境, media server 能正常跑起来准备知识因为 文章中socket 进行通信,所以最好补习下linux下最基本的socket 通信基本流程,其他涉及知识点会补上其实最核心的思想就是socket 三次握手,如下图 media server 构建一个rtsp 服务器直接分析源码 live555MediaSe...
原创
1219阅读
0评论
0点赞
发布博客于 3 年前

[live555] 谈一谈 HandlerIterator \ HandlerDescriptor \HandlerSet 构成迭代器

前因在 创建 live555 服务的时候 TaskScheduler* scheduler = BasicTaskScheduler::createNew(); UsageEnvironment* env = BasicUsageEnvironment::createNew(*scheduler);会创建BasicTaskScheduler0::BasicTaskSche...
原创
273阅读
0评论
0点赞
发布博客于 3 年前

[live555] 环境搭建

参考教程https://www.cnblogs.com/xlpsky/p/5807140.htmlhttp://www.live555.com/http://www.live555.com/liveMedia/一致认为gstreamer 比较难维护,所以转到live555 ,可能我的能力还没有达到吧。学习了2个星期C++。就开始上手了下载源码http://www.li...
原创
1534阅读
0评论
0点赞
发布博客于 3 年前

工厂测试应用的总结

经过昨天一天的猛虎操作,终于工厂的需求进入尾声,总结下新学到的知识如果想让两个apk 预置在launcher 需要修改launcher 的配置文件 配置如下 packages/apps/Launcher3/res/xml/default_workspace_4x4.xml<favorites xmlns:launcher="http://schemas.android.com...
原创
1115阅读
0评论
0点赞
发布博客于 3 年前

协议文档 入门资料

3GPP 地址 : http://www.3gpp.org/specification-numbering必须拥有的协议文档 经常需要查看 24.008 Mobile radio interface Layer 3 specification; 25.331 Radio Resource Control (RRC); 27.007 AT command set for User E...
原创
114阅读
0评论
0点赞
发布博客于 3 年前

Toast 完美使用

今天看见用了很多次toast 的代码,做了一下简单的优化,看到其他人已经写了,就直接改一下private Toast mToast = null;public void showToast(String text) { if(mToast == null) { mToast = Toast.makeText(Activity.this, text, Toast.L...
原创
128阅读
0评论
0点赞
发布博客于 3 年前

android 第三方jar 包 替换源码 使用

最近要修改一点表格相关的东西我也没怎么研究过,今天刚改完 ,做一个总结我用的https://github.com/PhilJay/MPAndroidChart git clone git@github.com:PhilJay/MPAndroidChart.git 因为需要对表格做一些定制,所以我直接把jar 包替换成 开源代码进行编译clone 代码 clone 代码 在MPA...
原创
1722阅读
0评论
0点赞
发布博客于 3 年前

git 新用法总结

终于在这里有任务做了,最近提交就遇到了问题以前提交问题,或者使用github 项目提交流程 这里特地记录下,以前没遇到过的git add 修改的文件后git commit 直接回车 像文本一样编辑,然后按ctrl+o ,输入 enter,最后 ctrl+z 就可以保存,commit 成功,很明显好处就是添加commit 注释 很规范 最后git push 就可以了...
原创
90阅读
0评论
0点赞
发布博客于 3 年前

[gstremer] 搭建debug环境 和 搭建 rtsp服务器 介绍

gstreamer 协议剖析在自己摸索gstreamer 的过程中,遇到很多困难,比如编译、比如服务器搭建、比如glib思想等总结最基础的debug gstreamer的环境 [修正] 下面的编译经验 是经过编译 android 平台,然后再编译linux 平台,才可以进行修改测试,所以,下面的参考只是我总结的,后面我想再熟悉一点,再写一篇总结首先是编译gstreamer电脑环境...
原创
727阅读
0评论
0点赞
发布博客于 3 年前

atom 使用插件 plantUML

atom 安装 plantuml最近看代码,加log打印,导致剖析思路不顺畅,所以准备安装plantuml ,用流程图帮我梳理协议流程记录一篇教程ubuntu安装配置jdk因为 plantUML 会使用一个jar包需要用到 java,所以安装jdk下载jdk jdk地址:http://www.oracle.com/technetwork/java/javase/download...
原创
2419阅读
0评论
0点赞
发布博客于 3 年前

linux 进程和线程 对比

线程和进程这个概念不管在什么操作系统中都是一样的,也是面试官比较喜欢问的,代表你对程序优化的功底,搞安卓的时候,经常被用来优化处理速度 还有数据的处理,结合handler 一起处理,解决经常出现界面死掉问题。既然总结了,这一次充分总结下:进程进程组成:进程控制块PCB程序段数据段进程控制块PCB 是内核中存放的一块PCB区域,记录型数据结构 ,PCB 记录了操作...
原创
427阅读
1评论
1点赞
发布博客于 3 年前

linux ipc 进程间通信总结

进程间通信linux 系统中有很多进程,免不了进程间进行通信,即IPC通信,linux 中有6种方式 信号、无名管道(pipe)和有名管道(FIFO)、共享内存、信号量、消息队列、套接字(socket)socket 已经在前面研究tcp/udp的时候学习过socket tcp、socket udp信号信号是软件中断产生,用于进程间异步传递信息 一般在shell 中操作,进程...
原创
1727阅读
0评论
2点赞
发布博客于 3 年前

linux ipc 带有信号量同步互斥方式的进程间通信

本案例,增加同步互斥院里的 linux间进程之间的通信代码,很有学习的意义
gz
发布资源于 3 年前

udp 传输数据

udp 传输在tcp传输后,如果需要传输大量的数据那就需要使用udp协议,使用的数据报格式 即 SOCK_DGRAM的udp 编程模型服务器端步骤第一步: 创建一个socket 套接口,返回一个文件描述符第二步: 通过bind 绑定socket 本地的IP地址还有端口号第三步: 直接用recvfrom从套接口接收客户端发送过来的数据 包含客户端的IP地址和端口号,如果没...
原创
1097阅读
0评论
1点赞
发布博客于 3 年前

udp client server 源码

udp 客户端和服务器端代码的传输,用来调试学习,流媒体方面有用
gz
发布资源于 3 年前

socket TCP 通信编程的第一次网络连接通信

linux最近一直再看gstreamer,使用了很多插件和库,虽然我总结了一部分rtsp流程,对于这么大的框架,明显感觉分析不了,比如linux API、Gobject(Glib库)推荐一本入门书籍《linux下c编程》,有案例可以debugsocketsocket 是网络编程一个最基本的函数,本地应用,远端应用都可以用来通信,基于 tcp 和 udp 传输socket 通...
原创
1846阅读
1评论
5点赞
发布博客于 3 年前

socket-server&client; 初学者版本

初学者版本,最简单的socket 链接,有自己学习过程中的遇到问题和知识点解释
gz
发布资源于 3 年前

sizeof() 和字节计算 的爱恨情仇

c 字节大小在学习中经常遇到 byte的处理 甚至关于bit的处理,还有涉及到结构体强制转化,分析字节占用内存的问题, 每次分析重头再来,耗费时间,于是将 字节的大小 整理归纳sizeof() 显神通用法 sizeof(类型说明符,数组名或表达式); sizeof (变量名);//64bit 操作系统 sizeof 计算int main(int argc...
原创
440阅读
0评论
0点赞
发布博客于 3 年前

编辑器神器推荐 atom

atom github优秀的项目作为一款优秀的编辑器,就是很了解程序员的工作,atom就是 主要用来作为前端开发,在ubuntu系统上sublime不支持中文输入,网上的解决方案不理想,这就是我选择atom的其中一个原因,官网地址,也可以去github查看atom项目。atom 有很多优秀的插件比如 activate-power-mode很酷的输入操作 combo的显示太...
原创
271阅读
0评论
0点赞
发布博客于 3 年前

rtsp 协议流程

rtsp 协议流程 学习RTP Real-time Transport Protocol 实时传输协议 RTSP Real Time Streaming Protocol 实时流协议 RTSP 和 RTP 开发客户 一般是C/S 模式整个流媒体传输的 协议流程整个过程只关注 协议流程 (不关注细节,细节可以在遇到bug时处理)首先是RTSP 流程1. 客户端创建so...
原创
7904阅读
1评论
2点赞
发布博客于 3 年前

[Gstreamer] tutorials 引用SDK 【android 应用】

Gstreamer tutorials下载gst-docs链接:git clone git://anongit.freedesktop.org/gstreamer/gst-docs 下载的教程是 eclipse 下的项目,所以需要导入android studio 使用ubuntu 安装更新 android studio因为 gstramer 文档很老,没有详细描述andr...
原创
830阅读
0评论
0点赞
发布博客于 3 年前

[Gstreamer] 使用 cerbero 构建

什么是GstreamerGstreamer 是一个流媒体框架 可以用来构建流媒体播放器 官方地址 https://gstreamer.freedesktop.org/如何用cerbero 构建 Gstreamercerbero 是被用来给开源项目 多平台编译系统,最终可以编译成我们所需要的package 或者SDK 在ubuntu 编译Gstreamer 会自动安装需要的环...
原创
1128阅读
0评论
0点赞
发布博客于 3 年前

libmms-0.6.4.tar.gz

( libmms-0.6.4.tar.gz ) 用于开发 video audiolib库 ,share
gz
发布资源于 3 年前

[pjsip] 中 define 的妙用

define 语法define func funcA 上面的就是简单的替换 func 替换funcA的使用看下pjsip的用法// 案例: PJ_LOG(2, (__FILE__, "current value is %d", value));#define PJ_LOG(level,arg) do { \ if (lev...
原创
257阅读
0评论
0点赞
发布博客于 3 年前

开发神器 Source Insight 配置

Source Insight看见同事使用SI,心里也是痒痒的,昨天晚上 下载安装了一个,但是界面超级丑,于是自己研究下,仿照Sublime Monokai 主题 设置主题,花费我不少心血sublime Monokai Theme看起来还是很不错, 字体可以自己调大或者调小,像我这种有洁癖的程序员,肯定设置喜欢的风格,于是配置SI,效果如下SI Monokai Theme
原创
2544阅读
9评论
0点赞
发布博客于 3 年前

SourceInsight 完美的配色方案 theme_Monokai 主题

免费下载.................................................................................
xml
发布资源于 3 年前

pjsip workshop

pjsipPJSIP 主要构成结构图 库的介绍 1. 最基础的库是PJLIB 2. 在基础库的基础上开发出8个不同作用的lib库 3. pjsua API 是可以调用的抽象的接口 1. 不同的lib库会放在相应库的lib文件夹下面 2. 如果想单独使用库 可以看 每个库的参考手册Reference Manuals PJSUA2PJSUA2是PJSUA
原创
2694阅读
2评论
0点赞
发布博客于 3 年前

pjsip 使用

pjsip workshoppjsip 介绍 背景: PJSIP 由英国Teluu团队主导开发,由Benny Prijono 创建,他的名字缩写pj,所以命名PJSIP 优点: 可移植性强:可运行在windows、windowsmobile、linux、unix、MacOS、RTEMS、Symbian 内存需求小:编译后只需要150k内存空间 支持
原创
11701阅读
0评论
3点赞
发布博客于 3 年前

CTS 测试 入门

CTS 测试 入门下载CTS对应工具如果可以翻墙,直接登录兼容性测试套件下载对应版本的我这次使用的是7.1.2的android 版本,于是就下载了对应7.1版本(700多M) 然后检查自己手机芯片架构是ARM 还是 x86,澎湃S1是ARM架构,所以选择对应ARM的CTS兼容性工具和兼容性验证程序的包下载下载 media 资源 选择最新版本下载 很大(大概4.3G)配置手机和电脑环境配
原创
2137阅读
0评论
4点赞
发布博客于 4 年前

联系人数据库查询和显示

联系人数据库查询和显示数据库 SQLite简单来说 SQLite 就是轻量级数据库特别适合嵌入式操作系统 ,如果数据库不懂没关系,只要会最基本的就可以了,每次看到了就自己查资料,这里讲用到的基本数据库操作和使用SQLiteOpenHelper 介绍源码和 google 介绍,SQLiteOpenHelper 主要功能是 创建、升级、打开数据库和获取数据库对象 如果想使用 SQLiteOpenHe
原创
1615阅读
2评论
0点赞
发布博客于 4 年前

联系人查询InCallUI显示

CallInfo最近在做很杂碎的事情,移植功能,需要零碎的知识点很多,想写一些博客记录,方便自己查阅和供大家参考。这篇记录的是联系人的相关部分,主要部分是打电话的时候如何查询联系人,如何显示在incallui界面如下图: 本文主要分析根据 12345678 分析 数据库查询联系人保存为 C联系人数据库的生成第一次开机启动的时候,BootCompletedReceiver会接收开机启动的广播,收到
原创
2284阅读
0评论
0点赞
发布博客于 4 年前

ps call

ps callps call 从 GsmCdmaPhone 开始 判断是否注册ims 才开始进行imsphone 实例的获取所以从GsmCdmaPhone开始跟踪流程 如果不清楚可以查看 结构图 明确标出com.android.internal.telephony.GsmCdmaPhone#dial @Override public Connection dial(String di
原创
705阅读
0评论
0点赞
发布博客于 4 年前

call structure

call structurecall flow如上是我绘画出比较完整的call 的框架图,供以后参考cs call 源码分析 详见http://blog.csdn.net/engineer_james/article/details/73275248作者:贱贱的杨从此你们的路上不会孤单,还有贱贱的我
原创
261阅读
0评论
0点赞
发布博客于 4 年前

cs call

cs call (Android 7)dialer 进程点击拨号 触发拨号处理com.android.dialer.dialpad.DialpadFragment#handleDialButtonPressedprivate void handleDialButtonPressed() { if (isDigitsEmpty()) { // No number entered.
原创
795阅读
0评论
0点赞
发布博客于 4 年前

创建FFOS 应用

new FFOS apppreparationinstall Firefox and WEBIDEoperationopen WEBIDEconnect to UEclick new appinput project name then click okchoose a folder to saveclick run check UE ,hello world app open,s
原创
256阅读
0评论
0点赞
发布博客于 4 年前

FFOS introduction

FFOS 系统介绍FFOS 系统是属于FireFox OS平台的系统,和android 系统对比,主要的差距android 主要采用java 语言是打造界面和框架, 而ffos 使用gecko(浏览器引擎)使用web技术来实现系统显示和操作android 如果厂商定制 一般系统 大于2G,而ffos 一般500M,所以需要的硬件成本更低,适合在功能机上搭载(目前就是如此)如果未来ffos像and
原创
752阅读
0评论
1点赞
发布博客于 4 年前

FFOS dial from launch

cs call flow from launch
原创
338阅读
0评论
0点赞
发布博客于 4 年前

FFOS cs call

firefox OS cs call 流程
原创
942阅读
0评论
0点赞
发布博客于 4 年前