Side-by-side cross-border playback test. Run from a mainland-China vantage point to compare startup time and buffering.
⚠ This page is not in a secure context — the Encrypted player (right) will fail to decrypt.
Open it over https:// or via http://localhost. The Unencrypted player (left) works either way.
Local: run the backend → ALIYUN_AK_ID=… ALIYUN_AK_SECRET=… node server.js, open http://localhost:9000, confirm the VideoId, click ⚡ Fetch PlayAuth from backend & Play. Deployed: the same server.js runs on Function Compute (Singapore) and serves this page over HTTPS — open the FC URL and ⚡ works the same (same-origin, no ICP). Manual: generate a PlayAuth via GetVideoPlayAuth, paste it, click Load with pasted PlayAuth — expires in ~100s–3000s. Secure context: the page must be on https:// or http://localhost — decryption fails otherwise. Expect the two startup times to be close — encryption mainly adds one key-fetch round-trip; the byte transfer over the China link is essentially the same.