mthli 最近的时间轴更新
mthli

mthli

大菜狗。
V2EX 第 68325 号会员,加入于 2014-07-18 11:38:56 +08:00
今日活跃度排名 24708
4 G 19 S 70 B
大菜狗。
[求职] 资深 Android 工程师, 7 年工作经验
求职  •  mthli  •  3 天前  •  最后回复来自 xinshoushanglu
75
分享一个更好的 YouTube 摘要插件 - Better Youtube Summary
  •  1   
    分享创造  •  mthli  •  86 天前  •  最后回复来自 mthli
    14
    写了一个可以测量 iOS App 控件是否对齐的小工具
  •  1   
    分享创造  •  mthli  •  337 天前  •  最后回复来自 mthli
    9
    马上就要 2020 年了,你还在用 Python 2.7 吗?
  •  3   
    Python  •  mthli  •  2020-02-04 21:02:33 PM  •  最后回复来自 nMar3
    33
    分享一个免费的播客 RSS 转 JSON 的服务 PIRATE.FM
    分享创造  •  mthli  •  2019-07-23 15:40:41 PM  •  最后回复来自 lowSiver
    2
    大家都在说「小程序」,不如也来体验一下我写的浏览器吧!
  •  2   
    分享创造  •  mthli  •  2017-01-09 18:06:59 PM  •  最后回复来自 gdsagdada
    3
    写了一个 Android 第三方 Sketch Mirror 软件
  •  4   
    Sketch  •  mthli  •  2021-04-17 11:25:26 AM  •  最后回复来自 zhixuans
    5
    Chrome 远程调试是否安全?
    问与答  •  mthli  •  2021-07-31 15:17:39 PM  •  最后回复来自 qgb
    9
    mthli 最近回复了
    4 天前
    回复了 mthli 创建的主题 求职 [求职] 资深 Android 工程师, 7 年工作经验
    @v7 明天找你私聊一下
    4 天前
    回复了 mthli 创建的主题 求职 [求职] 资深 Android 工程师, 7 年工作经验
    @briske 我先看看,之前没咋关注 Shein 的岗位
    4 天前
    回复了 mthli 创建的主题 求职 [求职] 资深 Android 工程师, 7 年工作经验
    @miKaSaAkerMan PDD 听起来比较累,后面再考虑(
    4 天前
    回复了 mthli 创建的主题 求职 [求职] 资深 Android 工程师, 7 年工作经验
    @leexsh31 我之前面 TikTok RTC 新加坡的岗位,简历状态还是 Interviewing (面试中)呢,两三周没变过了,给 HR 发邮件也没有回复,只能自认为挂了。简历状态不变的话是不是就没法走后续面试其他部门的流程呢?
    4 天前
    回复了 mthli 创建的主题 求职 [求职] 资深 Android 工程师, 7 年工作经验
    @cuzval macOS 上有一个 App 叫做 Bear https://bear.app/ ,直接写好然后导出为 PDF 就可以了(导出为 PDF 功能需要付费,好在订阅费比较便宜,也可以随时取消,也有试用期哈哈,你在试用期里面导出 PDF 就就可以不付费了)。
    4 天前
    回复了 mthli 创建的主题 求职 [求职] 资深 Android 工程师, 7 年工作经验
    @lee1997

    我一般还是用 VS Code 看代码的,也用 VS Code 改代码( Android Studio 有时候也会用)。

    AS 更多还是用于打断点,能打断点比直接去看代码梳理逻辑要容易很多,我之前也写过一篇断点调试的文章(但是现在新版本看评论似乎已经不生效了,可能要调整一下) https://webrtc.mthli.com/basic/webrtc-breakpoint/

    除了打断点之外,还需要熟悉一下 WebRTC 的线程模型(和 Android Looper 比较像),以及信号槽机制(可以理解为观察订阅模式),单纯看 WebRTC 代码基本够用了( WebRTC 也封装了大量的第三方库,但这就是另外的话题了)。

    最后如果你用 AS 看代码的话,直接导入 WebRTC 源码,索引会爆炸的( CPU 占用率 100%),所以要屏蔽一下第三方库的索引目录,比如可以在项目的 build.gradle 里这样写:

    ```
    idea {
    module {
    excludeDirs.add(file("${webrtcIncludePath}/testing"))
    excludeDirs.add(file("${webrtcIncludePath}/third_party"))
    excludeDirs.add(file("${webrtcIncludePath}/tools"))
    }
    }
    ```

    webrtcIncludePath 就是你本地的 webrtc/src 的绝对路径。
    4 天前
    回复了 mthli 创建的主题 求职 [求职] 资深 Android 工程师, 7 年工作经验
    @BruceLi 不考虑回西安了,我不是西安人
    4 天前
    回复了 mthli 创建的主题 求职 [求职] 资深 Android 工程师, 7 年工作经验
    @anjingdexiaocai 八月才开始找工作呀。之前都在搞 GPT ,做了几个小玩意自己不是很满意
    4 天前
    回复了 mthli 创建的主题 求职 [求职] 资深 Android 工程师, 7 年工作经验
    @androidzai 主动提离职的,当时公司有 n+2 (可以搜一下当时的虾皮新闻)。不走就继续干,现在不用找工作了哈哈。
    4 天前
    回复了 mthli 创建的主题 求职 [求职] 资深 Android 工程师, 7 年工作经验
    @lee1997

    1. 如果是运行在 Native 上,你需要先搞定编译流程(对于 Android 主要是在 Mac 上编译比较麻烦,需要改造编译脚本;你也可以用专门的 Linux 编译机编译)。

    2. 对于服务端,一般来说会选择 SFU 架构,这方面有很多开源实现,我们最早也是基于 mediasoup 改造的。mediasoup 也有第三方开发的 Android / iOS demo 可以参考,但最终并不是直接使用这些 demo ,大部分逻辑都重构了。

    3. 如 2 所述,为了方便后续扩展和维护,你需要搞懂具体用到的框架的连接流程,比如信令的发送时机、断网重连怎么恢复流的状态,用户(主播或观众)的状态等,这些可以理解为状态机的迁移过程。也方便后续改造或者精简信令(提升连接速度)。也会涉及音视频采集和渲染的工作,但是这部分 WebRTC 本身已经处理的挺不错的,不用过多关心。

    4. 最终呈现出来的对外 SDK API 的形式可以参见声网的文档(对于不同业务,需要的功能是声网的子集) https://docportal.shengwang.cn/cn/All/API%20Reference/java_ng/API/rtc_api_overview_ng.html

    5. 如 4 所述,公司内部的 SDK 需要对不同业务的特点做支持(问题排查)和优化,比如银行认证关心通话成功率和画面清晰度、直播关注延迟和流畅度等。如果之前没有的特性也需要添加,比如直播在视频帧里要添加 SEI 信息,客服可能要添加铃声的混音等等,需要对音视频格式和 FFmpeg 混音有一些了解(其实我之前也没什么了解,现学现卖)。

    还有其他的内容,比如协助集成一些自研的网络库、音频 3A 算法之类的,也是需要对 WebRTC 的源码有一定的熟悉度。嗯,大概就是这些。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   925 人在线   最高记录 5930   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 22:35 · PVG 06:35 · LAX 15:35 · JFK 18:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.