Author Archives: Error-Prone

Apple AirPods Pro vs Sony WH-1000XM4 vs Samsung Galaxy Buds+

Apple AirPods Pro


  • 优质的 ANC(主动降噪)效果,主管感受上基本打平 Sony
  • 无敌的 Transparency Mode,在目前所有的 TWS 中是最强的,穿透进来的环境声音不强不弱,大部分情况下确实可以达到「transparent」的水准
  • 小巧便携,放进裤兜里即可
  • 与 Apple 设备高度集成,体验流畅


  • 续航短,开启 ANC 基本就 3 个小时左右,只适用于国内航班
  • 不支持多设备同时在线(类似蓝牙 Multipoint 的特性)
  • 低频表现一般

Sony WH-1000XM4


  • 手感、做工不错
  • 超长续航,开启 ANC 也可以有 30 小时的续航,轻松应对国际航班/一整天的工作环境
  • 双设备同时在线
  • 可以 3.5 mm 有线连接



  • 虽然支持超长续航,但没有无线充电或 Qi 充电
  • 支持双设备同时在线,但仅支持双设备,不支持更多设备,也不支持多设备快速切换。并且开启双设备同时在线后,无法开启 LDAC
  • 用 3.5 mm 有线连接后,如果这时候你拔出接头,耳机会执行一次关机,不知道这样设计的逻辑是什么?导致我每次关机后都需要再手动开机然后蓝牙配对
  • 耳机上执行上划/下划切换音量时并没有绑定系统音量。也就是说这个切换不会同步设备中的系统音量


  • 佩戴不舒适,真不知道是不是索尼在国内的水军太多了,还是我的头部构造离谱。我佩戴超过 2 小时后必头疼,夹耳朵,无论怎样调整都夹耳朵
  • 环境音模式(类似 AirPods Pro 的 Transparency Mode)效果很一般,开启低等级听不清人声,开启高等级后底噪高的离谱。可能全封闭式耳机想要达到入耳式耳塞的「透明模式」的效果确实更难一些

Samsung Galaxy Buds+



  • 价格便宜
  • 续航略优于 AIrPods Pro
  • 但在 Galaxy Wearable 中,可以调出「超高环境音量」模式,可以将环境音以高于正常的音量传入耳朵。很有意思,感觉像带了耳返


  • 没有 LDAC
  • 由于它造型的原因,无法单手打开电池仓
  • 与 1000XM4 一样操作音量时不会绑定系统音量

Low Latency HomeKit Camera Support: Homebridge FFmpeg Plugin with Custom Codec Configuration

Stream passthrough method for low latency HomeKit camera support:

  • Device: EZVIZ (萤石) CS-C6CN-3H2CWF (星光夜视版)
  • Low latency (as low as 100ms) from the camera to homebridge-camera-ffmpeg
  • Low CPU load since all streams are passthrough from FFmpeg without re-encoding
  • No audio support due to compatibility issue from the source stream

The configuration should be look like:

"videoConfig": {
    "source": "-rtsp_transport tcp -i rtsp://admin:<device_passcode>@<device_ip>:554/h265/ch1/main/av_stream",
    "maxFPS": 30,
    "audio": false,
    "vcodec": "copy",

Here’s the tricky part: the EZVIZ CS-C6CN-3H2CWF will output h265 by default, which is not supported by HAP. And the default bitrate is also too high to handle for iOS devices. So you will need to update some settings for the camera:

  • Download the Chinese version of EZVIZ Studio from the official website (direct link).
  • Install and run
  • Click 本地设备 (Local Devices) on the sidebar
  • Right-click the camera you want to modify, then choose 高级设置 (Advanced Settings)
  • In the popup window, click 图像 (Images) – 视音频 (Audio/Video) on the sidebar, change the following settings:
    • 编码类型 (Encoding Type): STD_H264
    • 码率上限 (Bitrate Limit): 1024 Kbps
    • (Optional) 分辨率 (Resolution): HD720P
  • Click 保存 (Save) to save the settings

Please note this step will slightly reduce the quality of your video stream when you view the stream in EZVIZ official app, but it’s mandatory for the camera to work with HomeKit.

Bonus: audio support without compiling FFmpeg after version 1.0.0:

"videoConfig": {
    "source": "-rtsp_transport tcp -i rtsp://admin:<device_passcode>@<device_ip>:554/h265/ch1/main/av_stream",
    "maxFPS": 30,
    "audio": true

This will make FFmpeg re-encode your stream and hurt your CPU. The latency is about 0.6-1 second. I suggest you install Homebridge on a Mac mini for better performance.

balenaEtcher: Source and destination checksums do not match errors

If you got the following errors:

\\.\PhysicalDrive1: Source and destination checksums do not match: <hash1> !== <hash2>

You can try to disable removable drives to be added to libraries setting for System Volume Information folder creation:

How to prevent creation of “System Volume Information” folder in Windows 10 for USB flash drives?

Install Zerotier One on UniFi Cloud Key

Run the following commands on your UniFi Cloud Key:

curl -s | bash


*** ZeroTier One Quick Install for Unix-like Systems

*** Tested distributions and architectures:
***   MacOS (10.7+) on x86_64 (just installs ZeroTier One.pkg)
***   Debian (7+) on x86_64, x86, arm, and arm64
***   RedHat/CentOS (6+) on x86_64 and x86
***   Fedora (16+) on x86_64 and x86
***   SuSE (12+) on x86_64 and x86
***   Mint (18+) on x86_64, x86, arm, and arm64

*** Please report problems to [email protected] and we will try to fix.

*** Detecting Linux Distribution

*** Found Debian "jessie" (or similar), creating /etc/apt/sources.list.d/zerotier.list

*** Installing zerotier-one package...
Hit jessie InRelease                                                                                                  
Hit jessie/main armhf Packages                                                                                                                                              
Get:1 jessie InRelease [20.9 kB]                                              
Ign jessie InRelease                                                                                
Get:2 jessie/updates InRelease [44.9 kB]                                                   
Hit cloudkey-stable InRelease                                           
Hit cloudkey-stable/ubiquiti armhf Packages                                                     
Hit jessie Release.gpg                                   
Get:3 jessie/main armhf Packages [2479 B]
Hit jessie Release                                          
Hit jessie/main armhf Packages                                                                                                                                             
Hit jessie/contrib armhf Packages                                                                                                                                          
Hit jessie/non-free armhf Packages                                                                                                                                         
Get:4 jessie/updates/main armhf Packages [695 kB]                                                                                                                           
Hit jessie/updates/contrib armhf Packages                                                                                                                                   
Hit jessie/updates/non-free armhf Packages                                                                                                                                  
Fetched 764 kB in 1s (764 KB/s)                                                                                                                                                                  
Reading package lists... Done
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
0 upgraded, 1 newly installed, 0 to remove and 2 not upgraded.
Need to get 763 kB of archives.
After this operation, 2366 kB of additional disk space will be used.
Get:1 jessie/main zerotier-one armhf 1.4.6 [763 kB]
Fetched 763 kB in 44s (17.3 kB/s)                                                                                                                                                                      
Selecting previously unselected package zerotier-one.
(Reading database ... 23329 files and directories currently installed.)
Preparing to unpack .../zerotier-one_1.4.6_armhf.deb ...
Unpacking zerotier-one (1.4.6) ...
Processing triggers for systemd (230-7~bpo8+2.ubnt+1) ...
Setting up zerotier-one (1.4.6) ...
Processing triggers for systemd (230-7~bpo8+2.ubnt+1) ...

*** Enabling and starting zerotier-one service...
Synchronizing state of zerotier-one.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable zerotier-one

*** Waiting for identity generation...

*** Success! You are ZeroTier address [ e50a7c7fc2 ].

Run zerotier-cli to see if everything works:

ZeroTier One version 1.4.6 build 0 (platform 1 arch 3)
Copyright (c) 2019 ZeroTier, Inc.
Licensed under the ZeroTier BSL 1.1 (see LICENSE.txt)
Usage: zerotier-cli [-switches] <command/path> [<args>]

Please note after upgrading the Cloud Key firmware, you need to reinstall the Zerotier One package. And if you got the following error when trying to reinstall the package:

*** Enabling and starting zerotier-one service...
Synchronizing state of zerotier-one.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable zerotier-one

*** Waiting for identity generation...

Press control – C and execute the following to restart the service and rejoin the Zerotier network:

systemctl restart zerotier-one
systemctl status zerotier-one
zerotier-cli info
200 info 8ade3af9ef 1.4.6 ONLINE
zerotier-cli join eda9f5dbfe94adbe
200 join OK
# ...then approve it in your Zerotier dashboard
# list network
zerotier-cli listnetworks -j