- 博客(29)
- 资源 (12)
- 收藏
- 关注
原创 第三方 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...
2018-08-31 17:04:43 2542
原创 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...
2018-08-28 10:06:15 2231
原创 Android 悬浮窗口 的朝向 以及 无activity 屏幕旋转的 问题解析
前言android 悬浮球 (所有界面可用) 开发 在测试的时候,会遇到屏幕旋转,导致布局失效错乱解决方案1 直接指定 landscape 或者portrait .....mFBParams = new LayoutParams(); //设置悬浮球布局的参数mFBParams.x = mScreenWidth-mFloatBallView.getWidth(); mFB...
2018-08-28 10:00:02 4024
原创 Android Notification 填充 自定义布局
代码使用NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);int id = R.string.app_name;Intent d2dInfoIntent = new Intent(this, FloatballActivity.c...
2018-08-27 15:36:07 768
原创 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
2018-08-27 15:19:54 147
原创 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...
2018-08-27 14:57:25 468
原创 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...
2018-08-27 11:08:06 20458
原创 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; ...
2018-08-24 19:21:21 10584 2
转载 无线Mesh网络 介绍
转自:https://blog.csdn.net/u012707739/article/details/77417670无线Mesh网络是一种近年来得到快速发展的无线宽带接入网络技术,其不需要基站等事先建设的基础设施,而是利用分布式思想构建动态自组织的无线多跳网络,让处于该网络覆盖范围内的用户在任何时间、任何地点都可以对互联网进行高速无线访问。无线Ad-hoc网络无线Mesh网络由无线...
2018-08-21 20:06:25 6891
原创 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通信技术是指两个对等的用户节点之间直接进行...
2018-08-21 19:58:04 12431
原创 [live555] 谈一谈 server 发送缓冲区 作用和流程
前言live555 有个重要的参数 发送缓冲区////////// OutPacketBuffer //////////unsigned OutPacketBuffer::maxSize = 60000; // by default默认是60000 字节,但是还要看实际设置 在 MultiFramedRTPSink 初始化的时候通过setPacketSizes 重新设置发送缓冲...
2018-08-21 09:27:29 2182 1
原创 [live555] 谈一谈 SERVER RTP+NALU 分包过程
RTP HeaderNALU IndicatorNALU HeaderRBSP 原始数据
2018-08-20 09:47:50 1255
原创 [live555] demo rtspserver log 抓取地址
rtspserver log 地址: https://download.csdn.net/download/engineer_james/10609273
2018-08-19 21:49:01 497
原创 [live555] 谈一谈 (*.mkv) track1 和 track2 的信息获取
发生时间 在处理Describe 请求在处理describe 请求的时候 DynamicRTSPServer::lookupServerMediaSession ,rtsp服务器会查找SDP信息并且创建,包括查找track1和track2 的信息即 音频视频轨道信息live555 处理 sdp消息 二 “DESCRIBE”[2]:...
2018-08-18 19:05:03 1230
原创 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+-+-+-+-+-+-+-+-+-...
2018-08-17 21:33:06 5543
原创 [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+-+-+-+-+-+-+...
2018-08-17 20:08:51 2038
原创 [H264编解码参数] SPS
前言RTP完整流程 已经 解释了协议 所以要涉及具体的log分析 分为: 1. SPS 2. PPS 3. I帧 4. 非I帧 5. FU-ASPS 序列参数集合PPS 图像参数集I帧非I帧FU-A...
2018-08-17 19:39:27 6154 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 包组成协议基本知识 这个真的 看协议...
2018-08-16 23:49:37 2841
原创 rtsp 完整流程 环境---[live555 搭建服务器 / VLC 作为客户端/ RawCap.exe 抓取包]
前言live555 rtspserver端 创建并且接收客户端数据 环境下,用RawCap 抓取了完整的log WireShark 打开预览如下 从 OPTIONS DESCRIBE SETUP PLAY TEARDOWN 完整的 RTSP协议流程 我在本地的操作,就是播放视频,然后teardown 点击vlc 停止播放,发送的请求具体协议过程1. OPTIONS...
2018-08-16 17:14:39 1202
原创 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.系统检测方法:命令行输入...
2018-08-16 14:04:17 1983
原创 [live555 处理] 请求消息 四 "PLAY" [续]
前言上一节 因为没有对后面部分 packframe 流程进行详细扩展,这一节分析packframe 框架流程图看出来需要判断 是不是打包成功,当然代码中并不是这么判断的,基于很多个维度判断是否打包成功 如果打包成功,直接发送出去sendpacketifnecessary否则继续打包packframepackframe 详细流程上面的流程是通过 放在服务器...
2018-08-14 20:24:11 328
原创 [live555 处理] 请求消息 四 "PLAY"
前言在 live555 rtspserver端 创建并且接收客户端数据 根据rtsp 协议需要根据 handleRequestBytes 处理请求数据而在 SETUP 请求中,已经准备好了 RTP_UDP 传输的socket,所以进行 PLAY 请求的处理 LIVE555 主要在函数 handleCmd_PLAY处理 但还是从handleRequestBytes 开始分析PL...
2018-08-13 11:18:23 470
原创 [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...
2018-08-09 20:38:14 636
原创 [live555 处理] 请求消息 二 "DESCRIBE"
根据log 分析 RTSPServer::RTSPClientConnection::handleRequestBytes 中对DESCRIBE 请求的处理1. 解析 请求和OPTIONS 请求一样fprintf(stderr, &amp;amp;amp;quot;RTSPClientConnection[%p]::handleRequestBytes() %s %d new bytes:%s\n&amp;amp;amp;quot;, ...
2018-08-09 15:30:43 651
原创 [live555 处理] 请求消息 一 "OPTIONS"
前言前面一篇 分析到了 RTSPServer::RTSPClientConnection::handleRequestBytes 进行处理请求消息消息处理分析 ptr[newBytesRead] = '\0'; fprintf(stderr, &amp;amp;amp;amp;amp;amp;quot;RTSPClientConnection[%p]::handleRequestBytes() %s %d new byt...
2018-08-08 22:32:09 598
原创 [live555] rtspserver端 创建并且接收客户端数据
前言本文分析是基于已经搭建好的live 555 环境, media server 能正常跑起来准备知识因为 文章中socket 进行通信,所以最好补习下linux下最基本的socket 通信基本流程,其他涉及知识点会补上其实最核心的思想就是socket 三次握手,如下图 media server 构建一个rtsp 服务器直接分析源码 live555MediaSe...
2018-08-08 21:53:40 1909
原创 [live555] 谈一谈 HandlerIterator \ HandlerDescriptor \HandlerSet 构成迭代器
前因在 创建 live555 服务的时候 TaskScheduler* scheduler = BasicTaskScheduler::createNew(); UsageEnvironment* env = BasicUsageEnvironment::createNew(*scheduler);会创建BasicTaskScheduler0::BasicTaskSche...
2018-08-08 16:34:00 555 1
原创 [live555] 环境搭建
参考教程https://www.cnblogs.com/xlpsky/p/5807140.htmlhttp://www.live555.com/http://www.live555.com/liveMedia/一致认为gstreamer 比较难维护,所以转到live555 ,可能我的能力还没有达到吧。学习了2个星期C++。就开始上手了下载源码http://www.li...
2018-08-02 20:03:47 2142
rtsp rtp h264 数据包
2018-08-16
SourceInsight 完美的配色方案 theme_Monokai 主题
2018-01-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人