Boredream Blog

「day day up」

直播技术整理2.前处理

意义 1080P视频7s原始数据有817MB H.264编码压缩后只有708KB 压缩原理 最原始的做法是获取每一帧的图片,进行图片压缩处理 但是很多时候视频由于是连续的, 所以帧与帧之间的变化很小 所以后续开发出了一些比较高级的编码器, 可以帧间编码 比如第二帧和第一帧相比变化不大, 那第二帧只用记录这个微小的变化差异即可 这样就可以达到压缩又能保证图片质量的效果了 具体的帧处理如...

直播技术整理2.前处理

视频推流前一半要进行些处理,包括 美颜、水印、其他滤镜、连麦 美颜 iOS大部分基于GPUImage库,安卓也有个android-GPUImage 美颜现在主要有磨皮、美白和红润三种处理 磨皮实质上是模糊模糊,现在大部分都是基于双边滤波进行处理,尽量保证去除皮肤瑕疵还要保留皮肤细节更加真实自然 美白有几种方法,叠加平衡什么的,常用的是用颜色映射 红润? 水印 国家要求直播必须加 一般分...

直播技术整理1.采集

采集: 主要分为音频采集和视频采集,视频一般和音频一起合成后作为带音视频一起推出去,或者只采集音频比如电台类场景 音频采集: 通过设备将环境中的模拟信号采集成PCM编码的原始数据 PCM 脉冲编码调制。是数字通信的编码方式之一。主要过程是将话音、图像等模拟信号每隔一定时间进行取样,使其离散化,同时将抽样值按分层单位四舍五入取整量化,同时将抽样值按一组二进制码来表示抽样脉冲的幅值。 再将这...

mockito使用

java junit测试的模拟框架 mockito和junit的gradle 不能在依赖project的build中配置 需要放在主项目中 模拟变量 方式1,使用静态方法mock(XXXObject.class) 生成模拟数据,如 1 2 // mock creation List mockedList = mock(List.class); 方式2,直接使用标签注释需要模拟的数据 1...

MVP结构初步研究

参考,Github 里 Google Demo中的基本MVP项目 https://github.com/googlesamples/android-architecture/tree/todo-mvp/ 基本结构 以页面模块为单位进行分包,其中包含4个内容 Activity,作为主容器 Contract,协议,其中包含两个接口,分别定义View以及Present Presen...

scrapy 学习笔记

python学习过程略过,网上找教程,这里记录下scrapy学习的经验记录 Item 抓取的每条信息对象,常用的可以定义title,link,desc等 编写步骤 打开需要爬取网站,打开审查元素查看需要爬取数据的标签 在命令行输入 scrapy startproject douban 创建scrapy爬虫项目,douban为项目名 PyCharm 导入项目, 根据需要爬...

Handler机制初探

总的来说就是给线程绑定一个轮询器Looper和一个消息队列MessageQueue, 然后用Handler给当前线程对应的MessageQueue发送消息,然后由Looper去loop遍历消息队列, 让消息排着队按照规则挨个执行。 特殊的是安卓中有一个主线程Looper,更新UI的操作只能在这个主线程中执行。 Looper即轮询器,用于loop轮循遍历线程中的MessageQueue里...

EventBus 事件总线项目库源码分析

简单介绍 事件总线是一种设计 这个项目是greenrobot的一个开源库, 比较火 感觉属于订阅者模式, 和LocalBroadcast本地广播, 以及响应式编程等都有点像 发送者只管发出去, 订阅者不管谁发的只管接收使用, 一对多~ 而且重点在于解耦 使用很简单, 但还是被3.0.0小坑了下 最新的3.0.0版本, 使用标签取代了以前的方法名 获取实例还是一样 getDefault...

自动化测试框架(三) 简单实例 - 登录场景

网上资料大部分为环境搭建,即怎么写,但更主要的是写什么,这对于开发来说可能会一头雾水 虽然实际工作中,不同业务代码和测试重点因人而异,但还是可以找到共通点的, 这里我们以应用中的经典场景为例,比如登录/注册等….挨个列出实例 (个人经验,仅供参考~) 写什么 比较简单的方法是根据测试用例进行编写, 所谓测试用例就是在进行具体测试之前,把场景中所有可能的操作和期望的结果都列出来, 然后再进行...

自动化测试框架Espresso(二) 基本用法

上一篇介绍了Espresso是什么及其环境搭建方法,这一章介绍基本用法 同样,官方的教程中是有详细说明的,如下 Google Github io 的介绍主页 https://google.github.io/android-testing-support-library/docs/espresso/index.html 安卓开发者中心的Training教程中的介绍 http://dev...