Compute Media 视频原理
Compute Media 视频原理
图像
三原色: RGB
屏幕显示原理: TV CRT; PC CRT; XO-1 LCD; LCD
屏幕由像素点排列组成, 像素由3个发光子像素点组成
图像的数值表示
RGB表示方式
浮点表示: 0.0~1.0
整数表示: 0~255或者00~FF, RGBA_8888 RGB_565
RGBA_8888 1280x720计算图像大小: 1280 * 720 * 4 = 3.516MB
位图(bitmap)在内存中所占用的大小
YUV表示方式
视频帧裸数据一般使用YUV表示
Y: Luma, 灰阶值
U, V: Chroma, 色度, 分为Cr(色调)和Cb(饱和度)
Cr: RGB输入信号红色部分与RGB信号亮度值之间的...
Compute Media 音频原理
Compute Media 音频原理
声学原理
声音是波, 介质振动产生声音, 不同介质, 传播速度和波形不一样.
频率(f): 越高, 波长就越短, 代表音阶
振幅(A): 指振动的物理量可能达到的最大值, 代表声音的响度, 能量大小的反映
波形: 表示信号的形状, 代表声音的音色, 本质是谐波
传播速度(V): 声音在介质中移动的速度
波长(λ): 沿着波的传播方向,相邻两个振动位相相差2π的点之间的距离
波的周期(T): 完成一次振动需要的时间
相位: 特定的时刻在它循环中的位置, 描述信号波形变化的度量
f = 1/T
f = V/λ
λ = uT
声压(pa): 声压就是大气压受到声波扰动后产生的变化,即为大气压强的余压,它相当于在大气压强上的叠加一个声波扰动引起...
Build 持续集成
Build 持续集成
Reference
Fastlane入门:介绍篇
iOS持续集成:Xcode Server、Jenkins、Travis和fastlane
Jenkins+fastlane的自动化搭建之路
Android Audio & Video
Android Audio & Video
MediaPlayer
issues
prepareAsync called in state 8
MediaPlayer.prepare()调用多次, 如果使用MediaPlayer.create工厂方法, 那么create
方法内已经调用prepare()方法
Error (1,-2147483648)
前面一个1表示MEDIA_ERROR_UNKNOWN, -2147483648对应十六进制0x80000000
定义frameworks/native/include/utils/Errors.h, 表示错误很难定位.
一般是因为视频格式不支持.
Reference
...
Flutter package
Flutter package
Using packages
Using Packages
Package versioning
flutter 使用pub管理包:
pub-cn
pub
dependencies
url_launcher: ^5.4.0 配置pub管理
plugin1:
path: ../plugin1/ 配置本地库
plugin1:
url: git://github.com/flutter/plugin1.git 配置git库
plugin1:
url: git://github.com/flutter/plugin1.git 配置git库
path: packages/package1 ...
Lang 语言标准
Lang 语言标准
C/C++
K&R C => ANSI C = IOS C
History of C
History of C++
C: C90 C99 C11 C17
Java
Java (programming language)
Free Java Guide
OpenJDK
Java Community Process
Kotlin
Kotlin
Python
2020开始 Python2.0 不再维护
Python
Dart
Dart
Javascript
ECMAScript
EC6.0
Objective-c
About Objective-C
Swift
Welcome to Swift.org
Refe...
Lang 编程范式
Lang 编程范式
declarative vs imperative programming
declarative - 声明式编程 what to do, not how to do it
imperative - 命令式编程 how to do it, not what to do
不同抽象级别上使用的编程范式, declaretive 比 imperative 更高等一些, 只描述有哪些
对象, 并且这些对象做什么. 背后会有一个解析器, 解析描述语句, 所以性能不太好.
imperative 更贴近底层, 关注一个算法或者一个问题, 一步步的解的步骤.
Procedural programming paradigm
过程式编程, 注重...
Lang MVC系统设计模式
Lang MVC系统设计模式
MVC: Model-View-Controller
MVA: Model-View-Adapter
MVP: Model-View-Presenter
MVVM: Model-View-ViewModel
使用MVC系列设计模式, 使用在用户界面开发上. 可以把视图, 模型与控制分离开, 实现松
耦合设备, 方便重用, 测试与维护
MVC
Model: 模式的中心组成部分. 它是应用程序的动态数据结构, 独立于用户界面.
它直接管理应用程序的数据, 逻辑和规则.
View: 信息的任何表示形式,例如图表,图表或表格。可以使用同一信息的多种视图
,例如用于管理的条形图和用于会计的...
463 post articles, 58 pages.