<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Video on mhbxyz.me</title><link>https://mhbxyz.github.io/en/tags/video/</link><description>Recent content in Video on mhbxyz.me</description><generator>Hugo</generator><language>en</language><lastBuildDate>Mon, 19 Oct 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://mhbxyz.github.io/en/tags/video/index.xml" rel="self" type="application/rss+xml"/><item><title>OpenWatchParty: synchronize playback despite latency</title><link>https://mhbxyz.github.io/en/articles/openwatchparty-synchronize-playback-despite-latency/</link><pubDate>Mon, 19 Oct 2026 00:00:00 +0000</pubDate><guid>https://mhbxyz.github.io/en/articles/openwatchparty-synchronize-playback-despite-latency/</guid><description>&lt;p&gt;In my &lt;a href="https://mhbxyz.github.io/en/articles/openwatchparty-synchronized-watch-parties-for-jellyfin/"&gt;first OpenWatchParty article&lt;/a&gt;, I introduced the Jellyfin plugin and its Rust session server. The harder question remained: how do you make the same scene play at the same time on several machines when their clocks, networks, and players behave differently?&lt;/p&gt;


&lt;h2 id="establish-a-shared-clock"&gt;Establish a shared clock&lt;/h2&gt;
&lt;p&gt;The server cannot assume that two computers display the same time. The client therefore sends a timestamped ping. When the response arrives, it measures the round-trip time and estimates the offset between its clock and the server&amp;rsquo;s. Several measurements are smoothed so that a latency spike does not cause a sudden jump.&lt;/p&gt;</description></item><item><title>Remotion Agent Starter: describe a video edit with a manifest</title><link>https://mhbxyz.github.io/en/articles/remotion-agent-starter-video-editing-with-a-manifest/</link><pubDate>Fri, 07 Aug 2026 00:00:00 +0000</pubDate><guid>https://mhbxyz.github.io/en/articles/remotion-agent-starter-video-editing-with-a-manifest/</guid><description>&lt;h2 id="an-edit-you-can-review"&gt;An edit you can review&lt;/h2&gt;
&lt;p&gt;When an edit is just a series of clicks in an interface, it is hard to tell what changed between two versions. It is harder still to ask an agent to adjust one scene without touching everything else. With &lt;a href="https://github.com/mhbxyz/remotion-agent-starter"&gt;Remotion Agent Starter&lt;/a&gt;, I wanted to put routine editorial decisions in a JSON manifest that can be read, checked, and versioned.&lt;/p&gt;
&lt;p&gt;The manifest describes scenes, durations, media, and transitions. React and Remotion handle rendering. The separation is simple: data says &lt;strong&gt;what&lt;/strong&gt; to edit; components decide &lt;strong&gt;how&lt;/strong&gt; each frame looks.&lt;/p&gt;</description></item></channel></rss>