Melin's Blog

Latest posts

See all posts
  • Using ffmpeg.wasm to Implement Multi-Audio and Video Compositing Entirely on the Front End
    Front-end video generation sounds simple until audio enters the picture. If all you need is visual recording, the browser already gives you several options. canvas.captureStream...
  • Using `navigator.connection.downlink` to Measure Network Speed on the Front End
    For feed-style products like Weibo, image lists are everywhere. On mobile, those images are often served as 2x or even 3x assets to preserve visual quality on high-density scree...
  • First Impressions of Vap, Tencent’s Open-Source Solution for Playing Cool Animations
    A colleague recently mentioned Vap in our group chat. The description was simple: it can play flashy animation effects, and more importantly, it supports transparent animation b...
  • JS Video Decoding: An Out-of-the-Box Review of JSMpeg and Broadway
    Last week, I tried Vap , a player that can use WebGL to decode and play videos, and wrote an article documenting the experience. Someone commented under that article: if all I w...
  • Safari Does Not Support Built-In Custom Elements: A Practical Compatibility Strategy
    Based on Zhang Xinxu’s discussion of Safari’s Web Components limitations, with practical implementation examples from the demo code. Safari supports autonomous custom elements ,...
© 2026 • Melin
Press Esc or click anywhere to close