网站快照
罗 啰 明 天 H o m e A r c h i v e s S e a r c h 罗 啰 明 天 不 只 是 技 术 2 0 2 0 年 终 总 结 C r e a t e d 2 0 2 1 0 2 1 8 U p d a t e d 2 0 2 1 0 3 2 1 计 划 中 的 事 又 到 了 一 年 一 度 的 总 结 时 刻 , 按 照 惯 例 , 还 是 先 做 年 初 立 的 F l a g 写 一 个 总 结 。
今 年 整 体 计 划 完 成 情 况 在 7 5 % , 有 很 多 计 划 没 有 完 成 。
其 中 【 出 国 旅 游 】 因 为 疫 情 被 迫 终 止 , 【 账 单 小 程 序 】 则 是 因 为 没 有 用 户 便 主 动 停 止 更 新 了 。
其 余 未 完 成 的 事 则 是 因 为 懒 惰 没 有 完 成 , 来 年 务 必 补 上 。
下 面 从 兴 趣 爱 好 、 专 业 技 能 、 个 人 成 长 以 及 娱 乐 活 动 四 个 方 面 详 细 聊 聊 。
兴 趣 爱 好 R e a d M o r e C o o r d i n a t o r L a y o u t . B e h a v i o r 使 用 指 南 C r e a t e d 2 0 2 0 1 2 2 7 U p d a t e d 2 0 2 1 0 3 2 1 1 . B e h a v i o r 介 绍 B e h a v i o r 是 C o o r d i n a t o r L a y o u t 的 子 类 , 用 于 处 理 各 个 子 v i e w 之 间 的 行 为 ( 这 就 意 味 着 需 要 联 动 的 V i e w 得 用 C o o r d i n a t o r L a y o u t 包 起 来 ) , 例 如 : 手 指 向 下 滑 动 的 时 候 是 V i e w A 下 移 , 还 是 V i e w B 下 移 , 亦 或 者 给 V i e w C 来 一 个 旋 转 ? 一 个 例 子 就 是 B i l i b i l i 客 户 端 视 频 播 放 页 的 滑 动 效 果 , 如 图 1 所 示 : 图 1 . B i l i b i l i 客 户 端 视 频 页 滑 动 效 果 R e a d M o r e g e t S t r i n g 还 是 o p t S t r i n g ? C r e a t e d 2 0 2 0 1 0 2 9 U p d a t e d 2 0 2 1 0 3 2 1 使 用 J a v a 的 J S O N O b j e c t 解 析 J s o n 数 据 时 经 常 会 遇 到 需 要 解 析 字 符 串 的 情 况 , 那 是 该 使 用 g e t S t r i n g 还 是 o p t S t r i n g 或 者 其 他 呢 ? J s o n 假 设 现 在 有 这 样 一 个 J s o n 字 符 串 , 现 在 要 获 取 k 的 值 , 要 怎 么 做 呢 ? { R e a d M o r e 使 用 阿 里 云 函 数 计 算 部 署 W o r d p r e s s 博 客 系 统 C r e a t e d 2 0 2 0 0 7 2 1 U p d a t e d 2 0 2 1 0 3 2 1 0 . 起 因 这 篇 文 章 是 对 周 末 折 腾 的 一 个 记 录 , 一 切 都 源 于 阿 里 云 客 服 说 我 的 服 务 器 马 上 到 期 了 。
之 前 购 买 的 阿 里 云 的 E C S , 三 年 下 来 需 要 两 千 多 块 钱 , 但 是 平 时 用 的 多 的 就 一 个 博 客 系 统 和 账 单 接 口 在 跑 , C P U 使 用 率 仅 有 4 % 。
然 后 无 意 间 看 到 阿 里 的 语 雀 团 队 使 用 函 数 计 算 大 大 的 减 少 了 服 务 器 的 维 护 成 本 , 也 避 免 了 C P U 使 用 率 一 直 很 低 的 情 况 。
受 此 启 发 决 定 将 我 的 博 客 转 移 到 阿 里 云 函 数 计 算 上 面 , 幸 运 的 是 官 方 也 给 了 w o r d p r e s s 搭 建 教 程 ( 仅 仅 是 能 用 ) 。
附 上 官 方 的 函 数 计 算 与 传 统 E C S 价 格 对 比 : I T E M 成 本 稳 定 性 基 于 V M 方 案 使 用 e c s . t 5 l c 1 m 1 . s m a l l , 2 2 . 8 元 / 月 服 务 器 和 数 据 库 在 同 一 台 V M , R e a d M o r e 阿 里 外 包 半 年 记 C r e a t e d 2 0 2 0 0 6 1 8 U p d a t e d 2 0 2 1 0 3 2 1 2 0 1 9 年 1 1 月 阴 差 阳 错 进 入 了 阿 里 巴 巴 视 频 基 础 实 验 室 做 外 包 , 至 今 已 有 半 年 , 收 获 挺 多 。
本 文 即 是 对 个 人 收 获 的 记 录 , 主 要 分 为 技 术 与 工 作 方 式 两 个 方 面 。
技 术 如 果 说 要 总 结 自 己 这 段 时 间 技 术 方 面 具 体 的 收 获 的 话 , 那 就 主 要 有 A n d r o i d 、 C / C + + 和 P y t h o n 三 个 方 面 : 对 A n d r o i d 平 台 的 视 频 编 解 码 有 了 一 定 了 解 , 可 以 快 速 的 进 行 视 频 数 据 采 集 和 编 码 ; C / C + + 使 用 更 加 熟 练 , 终 于 不 再 担 心 被 指 针 气 哭 ; P y t h o n 使 用 也 更 加 熟 练 了 , 能 够 使 用 P y t h o n 快 速 的 开 发 一 些 工 具 脚 本 及 跨 平 台 的 G U I 程 序 开 发 。
A n d r o i d 由 于 我 是 在 视 频 基 础 实 验 室 做 外 包 , 所 以 工 作 内 容 都 是 和 视 频 相 关 的 。
入 职 之 后 做 的 第 一 个 项 目 就 是 一 个 视 频 算 法 可 视 化 A n d r o i d 软 件 开 发 , 应 用 需 要 调 用 摄 像 头 获 取 实 时 数 据 , 然 后 使 用 J N I 技 术 对 流 进 行 处 理 , 处 理 之 后 的 结 果 需 要 及 时 的 显 示 在 屏 幕 上 面 。
处 理 摄 像 头 数 据 的 时 候 需 要 注 意 视 频 的 帧 率 , 因 为 C P U 处 理 算 法 的 时 间 比 较 长 , 所 以 需 要 判 断 手 机 硬 件 支 持 的 帧 率 , 设 置 合 适 的 值 , 甚 至 是 使 用 人 为 丢 弃 部 分 帧 减 少 计 算 量 。
除 了 帧 率 还 需 要 考 虑 到 视 频 的 颜 色 空 间 , 常 见 的 有 I 4 2 0 、 N V 1 2 等 , 需 要 根 据 算 法 支 持 情 况 进 行 选 择 或 则 转 换 。
摄 像 头 读 取 到 的 是 裸 流 数 据 , 如 果 要 保 存 到 本 地 , 可 能 还 需 要 使 用 编 码 器 进 行 编 码 , 主 要 有 M e d i a c C o d e c 和 F F m p e g 两 种 方 案 。
M e d i a C o d e c 是 A n d r o i d 4 . 1 加 入 的 A P I , 其 通 过 调 用 手 机 硬 件 实 现 快 速 的 视 频 编 解 码 , 效 率 非 常 高 , 但 是 不 同 的 手 机 设 备 支 持 的 编 解 码 算 法 不 一 样 , 需 要 根 据 具 体 机 型 判 断 做 优 化 处 理 。
F F m p e g 是 一 个 十 分 优 秀 的 视 频 处 理 库 , 使 用 软 件 算 法 实 现 视 频 的 编 解 码 , 所 以 支 持 的 格 式 十 分 多 , 不 过 效 率 不 及 M e i d a C o d e c , 需 要 根 据 实 际 情 况 判 断 使 用 。
另 外 视 频 的 绘 制 也 是 一 个 比 较 复 杂 的 地 方 , 常 见 的 方 案 有 通 过 O p e n G L E S 或 者 自 己 利 用 C a n v a s 直 接 绘 制 。
使 用 O p e n G L E S 渲 染 效 率 很 高 , 不 过 由 于 项 目 赶 时 间 , 之 前 对 O p e n G L E S 也 不 熟 , 所 以 没 有 用 这 个 方 案 。
我 使 用 的 是 利 用 S u r f a c e V i e w 控 件 , 获 取 其 C a n v a s 对 象 , 然 后 将 视 频 数 据 转 成 B i t m a p 的 方 式 , 这 种 方 式 优 点 就 是 实 现 简 单 , 缺 点 就 是 占 用 内 存 大 , 性 能 差 。
R e a d M o r e 声 网 2 0 2 0 春 季 R T C 编 程 挑 战 赛 总 结 C r e a t e d 2 0 2 0 0 5 1 7 U p d a t e d 2 0 2 1 0 3 2 1 项 目 简 介 概 述 2 0 2 0 年 3 月 参 加 了 声 网 R T C 春 季 编 程 挑 战 赛 , 为 此 开 发 了 一 款 A n d r o i d 视 频 聊 天 应 用 。
该 应 用 用 于 陌 生 人 视 频 聊 天 , 通 过 动 态 马 赛 克 特 效 、 话 题 匹 配 等 功 能 减 少 视 频 聊 天 的 紧 张 感 和 为 用 户 提 供 聊 天 话 题 避 免 尴 尬 。
效 果 图 | | R e a d M o r e A I D L 使 用 C r e a t e d 2 0 2 0 0 4 2 3 U p d a t e d 2 0 2 1 0 3 2 1 A n d r o i d 的 I P C ( 跨 进 程 通 信 ) 方 式 有 B i n d e r 、 A I D L 、 M e s s e n g e r 、 文 件 共 享 等 , A I D L 是 最 常 用 的 方 案 。
但 是 由 于 项 目 中 用 的 不 多 , 所 以 不 熟 悉 , 特 意 将 A I D L 的 使 用 过 程 记 录 一 下 , 供 日 后 查 看 。
A I D L 接 口 支 持 的 格 式 A I D L 的 语 法 与 J a v a 接 口 的 语 法 是 一 致 的 , 但 是 不 支 持 定 义 接 口 常 量 , 并 且 对 于 数 据 的 类 型 是 有 要 求 的 , 仅 支 持 以 下 几 种 格 式 : J a v a 的 原 语 类 型 : i n t 、 l o n g 、 c h a r 、 b o l e a n 等 。
S t r i n g C h a r S e q u e n c e 实 现 P a r c e l a b l e 接 口 的 数 据 类 型 R e a d M o r e “ 万 恶 ” 的 马 赛 克 是 怎 么 实 现 的 呢 ? C r e a t e d 2 0 2 0 0 3 2 5 U p d a t e d 2 0 2 1 0 3 2 1 最 近 参 加 [ 声 网 的 R T C 开 发 者 大 赛 ] ( h t t p s : / / s e g m e n t f a u l t . c o m / p a g e / r t c h a c k a t h o n 2 0 2 0 ) 开 发 了 一 个 陌 生 人 [ 视 频 聊 天 应 用 ] ( h t t p s : / / g i t h u b . c o m / L u o m i n g b e a r / R T C H a c k a t h o n / t r e e / m a s t e r / S D K C h a l l e n g e P r o j e c t / l i k e m o s a i c ) , 为 了 降 低 聊 天 时 的 紧 张 感 , 对 视 频 画 面 进 行 马 赛 克 处 理 。
此 文 便 是 对 马 赛 克 算 法 实 现 的 总 结 。
原 理 图 片 是 由 一 个 个 像 素 点 组 成 的 , 由 于 间 距 很 小 , 便 形 成 了 图 像 的 效 果 。
将 图 片 变 成 马 赛 克 样 式 的 本 质 就 是 修 改 像 素 点 , 使 得 一 定 范 围 内 的 像 素 用 相 同 的 颜 色 值 表 示 。
这 里 的 “ 一 定 范 围 ” 我 们 暂 且 称 之 为 马 赛 克 块 , 马 赛 克 块 的 大 小 也 就 决 定 了 图 片 马 赛 克 程 度 的 不 同 。
以 3 x 3 的 像 素 点 大 小 的 马 赛 克 块 为 例 , 原 始 像 素 点 的 值 为 1 . . . 9 , 修 改 之 后 全 部 为 n , 如 下 图 所 示 。
R e a d M o r e H 5 直 播 方 案 总 结 C r e a t e d 2 0 2 0 0 3 0 3 U p d a t e d 2 0 2 1 0 3 2 1 背 景 最 近 因 为 工 作 原 因 对 H 5 直 播 方 案 进 行 了 调 研 , 也 算 是 有 所 收 获 , 特 将 此 记 录 下 来 , 如 有 不 对 还 请 指 正 。
此 文 写 于 2 0 2 0 年 3 月 , 开 发 与 测 试 环 境 如 下 : 平 台 版 本 M a c B o o k m a c O S 1 0 . 1 5 . 1 i P h o n e i O S 1 3 . 3 . 1 A n d r o i d 9 . 0 R e a d M o r e P y t h o n 快 速 创 建 服 务 器 C r e a t e d 2 0 2 0 0 2 1 9 U p d a t e d 2 0 2 1 0 3 2 1 有 时 候 我 们 没 有 带 数 据 线 , 但 是 又 确 实 需 要 将 电 脑 上 的 文 件 传 输 到 其 他 设 备 上 面 , 该 怎 么 办 呢 ? 如 果 你 的 电 脑 上 面 安 装 了 P y t h o n , 那 么 一 切 就 很 简 单 了 , 只 需 要 一 个 命 令 就 可 以 将 我 们 的 电 脑 变 成 服 务 器 。
首 先 在 终 端 里 面 c d 到 我 们 需 要 分 享 的 文 件 夹 下 面 , 然 后 执 行 : p y t h o n m S i m p l e H T T P S e r v e r 9 9 9 9 ( 自 定 义 端 口 ) 我 们 也 可 以 用 这 种 方 式 来 进 行 网 页 浏 览 测 试 , 比 如 新 写 了 一 个 网 页 , 需 要 看 看 在 手 机 上 面 是 啥 效 果 , 就 可 以 用 p y t h o n 轻 松 地 创 建 一 个 服 务 器 。
1 2 … 8 B e a r e v e r 7 5 A r c h i v e s C o p y r i g h t © 2 0 2 1 B e a r e v e r | 浙 I C P 备 1 7 0 0 2 2 8 5 号 2 S e a r c h b y : G o o g l e B i n g B a i d u