Depth.Love Blog

GitHub:https://github.com/depthlove

0%

年纪过三十就会发现时间过的很快,距离上次更新博客已经一年了。二〇二一年工作上依旧很忙碌,工作上的付出有觉得值的地方,也有觉得不值的地方,都看得淡然了。

二〇二一年在客户端音视频方向上展示了 Android/iOS/Windows/Mac/Web 平台上的全栈开发能力,获得了部门负责人的认可。

在即将到来的二〇二二年中,朝着自己制定的生活目标继续努力。面朝大海,春暖花开。

阅读全文 »

还有十天就进入2021年了,时间过的真快,写篇随笔回顾下过去。

来上海工作一年半了,工作上一直非常忙。做了 macOS,iOS,C++ Windows/macOS,.Node, .TS,Electron 上 SDK/Demo 开发,拿过公司的 Spot Bonus 工作成绩突出奖。但是身体严重透支,很累,最近一周去医院检查了2次,医生建议我休息一段时间。从明天开始就进入休假模式了,一直休息到元旦节后。

阅读全文 »

以往文章中引用的 WebRTC 开发指南主页的文档无法访问了,查了一下,原因是以前的网址前缀由 https://webrtc.org/ 变更为 https://webrtc.github.io/webrtc-org/ 了,导致之前的文章中的链接都失效了。之前文章中的链接,比如 https://webrtc.org/native-code/ios/ 出现 404 错误。如果要想继续访问,现在就需要使用 https://webrtc.github.io/webrtc-org/native-code/ios/

链接的域名由 webrtc.org 变为 webrtc.github.io 了,webrtc.org 变成了一个纯粹的 WebRTC 产品介绍的主页了,说明 Google 对 WebRTC 产品更加重视了,会将其作为一个产品来重点推广应用。

阅读全文 »

很久没更新文章了,一个字“忙”。忙碌起来,满脑子都是想:

  1. 问题是如何出现的
  2. 如何解决问题
  3. 有没有更好的解决方法

这个过程持续了一年,只能说有些许收获,谈不上有欢喜之感,更多的是身体和精神上的疲惫。

我是如何走上 Mac 应用开发这条路的呢?答案是项目需要。

阅读全文 »

WebRTC 开发(五)编译与运行 Mac 工程 一文中,介绍了如何运行 Mac 工程,可以参考其流程,来运行 iOS 工程,将 WebRTC 应用安装到 iOS 设备上。

编译 WebRTC 的 iOS 工程

进入 WebRTC 源码目录

1
2
3
cd /Users/suntongmian/Documents/workplace 

cd webrtc/src

修改 iOS 应用的 Info.plist 文件

为什么要修改 Info.plist 文件?原因是运行 iOS 应用,应用的 bundle id 和 iOS 证书要匹配。

编辑 examples/objc/AppRTCMobile/ios/Info.plist

1
vi examples/objc/AppRTCMobile/ios/Info.plist

根据 iOS 证书来指定一个可用的 bundle id,替换下面的 com.google.AppRTCMobile

1
2
<key>CFBundleIdentifier</key>
<string>com.google.AppRTCMobile</string>

改为

1
2
<key>CFBundleIdentifier</key>
<string>com.tms.AppRTCMobile</string>
阅读全文 »

做音视频相关的产品,不可避免的要 dump 一些音视频数据用来分析音视频处理逻辑的正确性。FFmpeg 工具会经常用到,比如用 ffplay 播放视频。今天在分析一段视频数据时,想用 ffplay 来播放视频看看数据的正确性,结果在执行命令后遇到了 “zsh: no matches found: 1920*1024” 报错,导致无法使用 ffplay。

遇到问题

在给出解决方案前,先描述下问题是如何产生的。

在 Mac 电脑的终端下执行命令:

1
ffplay -f rawvideo -pixel_format yuv420p -video_size 1920*1024 -framerate 15 dump-1920x1024.yuv

执行后,终端显示结果为:zsh: no matches found: 1920*1024。从这个报错信息可以看出,“*” 这个符号没有被支持。

阅读全文 »

废话不多说,直接上步骤。

下载 Flutter SDK

在终端执行命令:

1
2
3
cd /Users/suntongmian/Documents/workplace

git clone -b v1.13.2 git@github.com:flutter/flutter.git flutter

配置环境变量

配置环境变量前,需要获知电脑默认使用的 shell 类型,在终端执行命令:

1
echo $SHELL
阅读全文 »

前文 WebRTC 开发(六)摄像头采集与视频渲染分析 提到了 WebRTC 视频渲染的大概流程,但没有具体分析每个实现文件的功能,本文会深入到具体的实现文件。

渲染的代码位置

代码位置:webrtc/src/sdk/objc/components/renderer

1
2
3
4
5
6
7
8
9
10
# opengl

RTCNSGLVideoView.h RTCNSGLVideoView.m
RTCEAGLVideoView.h RTCEAGLVideoView.m
RTCOpenGLDefines.h RTCVideoViewShading.h
RTCDefaultShader.h RTCDefaultShader.mm
RTCShader.h RTCShader.mm
RTCNV12TextureCache.h RTCNV12TextureCache.m
RTCI420TextureCache.h RTCI420TextureCache.mm
RTCDisplayLinkTimer.h RTCDisplayLinkTimer.m
阅读全文 »