音视频及其数字化表示
声音和图像是两种不同的感知形式,它们的本质基于物理学的原理和感知机制。 声音和图像的本质 声音是由物体振动产生的机械波。当物体振动时,周围的空气分子也会振动,形成压缩和膨胀的波动。这种机械波通过空气传播,被耳朵中的鼓膜接收,然后通过听觉系统转化为我们能够感知的声音。 声音的特征由两个主要参数决定:频率和振幅。频率决定了声音的音调,而振幅则决定了声音的音量。 图像是通过光传递的信息。光是...
声音和图像是两种不同的感知形式,它们的本质基于物理学的原理和感知机制。 声音和图像的本质 声音是由物体振动产生的机械波。当物体振动时,周围的空气分子也会振动,形成压缩和膨胀的波动。这种机械波通过空气传播,被耳朵中的鼓膜接收,然后通过听觉系统转化为我们能够感知的声音。 声音的特征由两个主要参数决定:频率和振幅。频率决定了声音的音调,而振幅则决定了声音的音量。 图像是通过光传递的信息。光是...
我们知道,常规的视频直播通常是通过 rtsp 或者 hls 协议直播的,这种直播的特点是所有的流量都需要从中心服务器发出,经过 CDN(Content Delivery Network),下发到各个终端。 这种直播适合大量人群观看,但是服务器的带宽成本也很高。 为了节约成本,基于 P2P 技术的音视频直播应运而生,且已广泛应用于在线聊天(webRTC),网络摄像机等领域。 那么什么是 ...
概述 许多看似复杂的问题都能通过“穷举所有可能”来解决——即暴力枚举。虽然乍看笨拙,却常常是最直接、最可靠的手段。实际开发里,BFS 搜索最短路径、回溯找解、组合枚举等都离不开这种思想。 本文聚焦暴力枚举中的典型问题:给定集合生成全部子集(Power Set)。其他如排列、路径搜索将在后续再谈。 问题定义 给定一个不含重复元素的数组 nums,输出它的所有子集,即 LeetCode 78...
概述 二分搜索(Binary Search)又称折半搜索、对数搜索,适用于「答案在有序区间或单调空间内」的查找问题。核心思想是:每次选取区间中点与目标进行比较,将搜索空间缩小一半,最终在 O(log n) 时间内定位结果,额外空间复杂度 O(1)。 使用前提:要使用二分,必须确保目标空间具有单调性(严格递增、非递减或可通过判定函数转化为单调布尔值)。LeetCode 提供了二分专题...
概述 Crash 是我们在日常使用 App 时偶尔会遇到的”闪退”,直接影响用户体验与留存。Crash 率是衡量 App 质量的重要指标之一。 通常主流 App 会将 Crash 率控制在万分之五以下,即每 10,000 次启动中 Crash 次数不超过 5 次。 本文围绕 iOS 生态,结合系统原理与实战经验,系统梳理 Crash 的: 本质:异常控制流程(ECF)的机...
概述 第一次配置或重装后的 macOS 环境时,最容易踩坑的地方集中在工具链版本、安装路径与权限控制。本文按「系统准备 → 包管理 → 终端与 Shell → 语言运行时 → 版本控制 → 容器与常用工具」的顺序整理一套通用流程,确保后续开发工作可快速投入。 环境准备 系统更新:建议先升级至最新稳定版 macOS(设置 → 通用 → 软件更新),同步更新安全补丁。 磁盘与权限:在...