V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  lihaoyun6  ›  全部回复第 1 页 / 共 3 页
回复总数  48
1  2  3  
@rainbowmolly 我用你的语气回敬你, 你不开心了, 那你粗暴的 at 我的时候怎么没有好好利用你的情商组织一下语言来考虑我的感受呢? 总有人拿低素质没教养当真诚直率
@rainbowmolly "不懂可以不说话", 合着你 at 我就百无禁忌, 我回复你就要看你心情?
@rainbowmolly
"难道苹果没有类似的方法吗", 你是在质问我吗?
首先, 我不接受你的这种"质问"的语气, 你有什么资格"质问"我? 这一整件事和我有任何关系吗? HomePod 的软件是我写的还是硬件是我造的?
其次, HomePod 虽然只接受音频流, 但并不是所有使用场景都是"放音乐", 有的时候也会被拿来当做外置音响搭配大屏幕播放视频. 在这种情况下使用动态 Buffer 会对音视频同步的适配带来很大的困扰, 这时使用一个固定的 Buffer 尺寸是比较好的.
AirPlay 2 的默认音频延迟被拉到了 2 秒, 也就是说无论网络怎么波动, 实际上的传输延迟有多少. 只要音频不断流, 视频软件的开发者就只需要在检测到用户使用 AirPlay 播放音频的时候, 给视频流加一个 2s 的延迟就可以保证基本上完美同步了.
因为 macOS 默认给 AirPlay 的 buffer 设置的比较大, 这样可以保证在网络出现瞬时波动的情况下也能流畅的播放
你可以理解为水管给一个水箱灌水, 水箱上再接一个水龙头. 这个水龙头就是 HomePod, 水箱就是 buffer.
从水管开始出水到水龙头能够出水, 需要等待一小段时间(等水箱灌满到出水线), 这几秒钟就是我们说的延迟.

如果水箱比较大, 虽然延迟也会比较大, 但是万一上游水管突然停水十几秒, 下游的水龙头却不会受到影响, 因为水箱里的存水足够水龙头使用一段时间, 挺到水管来水为止
可如果水箱非常小的话, 虽然水龙头出水很灵敏(上游一来水, 下面马上就能出水), 但万一上游水管停水或者流量出现波动, 下游的水龙头也会马上停水或者波动

所以稳定性和低延迟一直是互斥的两条特性, 想要稳定性就要把 buffer 增大, 但 buffer 增大就会导致实时性下降. 所有的高音质低延迟协议其实都一直在打这场"攻坚战", 尽可能的同时提升稳定性和实时性.

综上所述, 苹果只是保守了一点, 把 AirPlay 协议的默认 buffer 设置的比较大, 且不允许用户自己调整而已. 本质上是为了保证播放稳定性做出的妥协. 而虽然 windows 上的第三方 AirPlay 软件可以把 buffer 设置的很低来换取更高的实时性, 却也是靠牺牲了潜在稳定性换来的. 取舍不同而已
QuickRecorder v1.1.4 更新日志:
- 在视频设置中添加了 `像素格式` 与 `色彩空间` 选项
- 将默认的色彩空间设为 `sRGB` 以修复录像褪色的问题
- 添加了 `Sparkle` 框架以提供程序自我更新能力
QuickRecorder v1.1.3 更新日志:
- 增加了录制 iPhone / iPad 屏幕的能力
QuickRecorder v1.1.1 更新日志:
- 添加了 `演讲者前置延迟` 设置项, 如遇到启用 `大型视图` 导致录屏失败的情况, 可尝试增大此值
- 添加了通用摄像头叠加功能, 可在不支持 `演讲者前置` 的系统上使用
- 添加了视频修剪器, 可以在结束录制后对录屏文件进行修剪
- 改进了摄像头选择器, 现在可以在录屏过程中随时通过菜单栏图标来开启/关闭或切换摄像头
- 修复了首次启动时录制全屏画面时壁纸丢失的问题
@klaus1105 @wellblink
v1.3.0 已更新, 添加了彻底隐藏 App 图标的选项.
PS: 彻底隐藏后如果需要修改 App 设置, 可以在 App 正在运行的情况下再次运行, 就会显示出窗口了
v1.1.0 已到!!!

完整支持 macOS 14.2 及以上系统内置的"演讲者前置"功能, 如果你需要摄像头叠加, 那我认为没有什么比这个更好的方案了, 快去下载试试吧!
https://lihaoyun6.github.io/quickrecorder/
@CivAx
AirBattery 通过整合多种数据渠道, 基本上做到了"无客户端 + 无感获取", 不需要在被检测设备上安装任何特殊 App.

对于 Apple Watch 的电量信息, AirBattery 会通过检索局域网中与之配对的主机 iPhone, 并使用"lockdown proxy"方式通过 WiFi 访问 iPhone 的 lockdown 服务以读取准确的 Watch 实时电量.

对于 Apple Pencil 我也无能为力. 因为 AirBattery 获取蓝牙设备电量是通过读取 BLE 广播报文实现的. 而蓝牙设备一旦和配对的主机建立连接之后, 通常情况下就不会再向外发射广播报文. 而 Pencil 基本上是和 iPad 实时保持连接的... 真的抢不过来🫠. 而且就算使用某些小手段强行抢断 Pencil 与 iPad 的连接, 读取到了电量, 也会因为 Pencil 没有连接到 iPad 而导致无法正常使用, 得不偿失...
@ixuefeng Watch 的信息只有在 iPhone 是"通过 WiFi 发现"的情况下才可以被读取到, 而且 Watch 是不能被独立读取的, 只能通过它所与之配对的主机 iPhone 才能获取到
"演讲者前置"功能已经基本调试完毕, 预计 2024/04/28 下午或晚间发布.
PS: 基于 macOS 14.2 新增的 API 实现, 故此功能不支持低于 14.2 的系统版本
2024/04/27 重磅更新预告: 下个版本预计将支持 macOS 14 的"演讲者前置"特性

注: 苹果官方介绍链接: https://support.apple.com/zh-cn/guide/facetime/fctm6333f4bd/mac
@wellblink 第一个需求可以做到, 我会在后续版本中添加选项
第二个需求做不到, 因为只有苹果官方的小组件可以使用高斯模糊背景, 这是一个私有 API, 第三方小组件用不了
@Yi 这个问题我试了一下, 但是暂时无法复现.
我使用 macOS 12.4 系统的虚拟机进行了测试, 点击菜单栏图标, 并在弹出的列表菜单左上角点击齿轮图标, 是可以打开设置窗口的, 关于也是可以打开的😢
2024/04/26 20:35:

QuickRecorder v1.0.7 更新日志:
- 系统要求降低至 macOS 12.3
- 添加了快捷键支持
- 添加了"屏幕放大器"功能
- 添加了"保存当前帧截图"功能
- 修复了某些界面中的布局错位问题
- 开机自启动时默认不会弹出主面板

https://github.com/lihaoyun6/QuickRecorder/releases/latest
2024/04/26:

QuickRecorder v1.0.7 更新日志:
- 系统要求降低至 macOS 12.3
- 添加了快捷键支持
- 添加了"屏幕放大器"功能
- 添加了"保存当前帧截图"功能
- 修复了某些界面中的布局错位问题
- 开机自启动时默认不会弹出主面板

https://github.com/lihaoyun6/QuickRecorder/releases/latest
@Yi
"不知道是不是 airbuddy 的同步功能( magic handoff )起了作用"
不是的, "通过蓝牙发现 iPhone / iPad(蜂窝版)"这个功能的原理是:
iPhone 和 iPad(蜂窝版)会通过蓝牙广播, 不断的向周围发送有关自己"个人热点"的状态信息. 你点击 macOS 菜单栏上的 wifi 按钮, 会看到里面有自己 iPhone 的热点信息, 靠的就是解析这个广播数据.
AirBattery 在启用了"通过蓝牙发现 iPhone / iPad(蜂窝版)"之后, 也会去读取并解析这套蓝牙广播数据, 并从中获取到设备的电量信息. 但是这套数据只包含电量, 却不包含充电状态. 所以才会有下面那个实验性的"推测蓝牙设备充电状态"功能.
@Yi 喜欢就好, 哈哈哈哈
@shervy 因为 QuickRecorder 使用的 ScreenCapture Kit API 最低只支持 macOS 12.3 系统, 所以系统要求再低也不可能低于 12.3
因为我自己是 14 用户, 一开始为了方便开发就把系统要求定在 13.0 了, 因为 13/14 系统上的 SC API 比较接近, 12 上的远古版本差异比较大, 开发起来会有些麻烦
不过这几天看到好多用户都在求 macOS 12 的支持, 我已经把"兼容性下放 macOS12.3"提上 todo 列表了, 先期待吧
1  2  3  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1498 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 16ms · UTC 17:28 · PVG 01:28 · LAX 10:28 · JFK 13:28
Developed with CodeLauncher
♥ Do have faith in what you're doing.