Player
Vidstack still handles audio and captions inside the settings menu. The quality row below is a separate controller.External quality selector + storyboard hover previews
Player will render hereLoad a code to attach the proxied master playlist to the player.
0audio tracks in settings
0subtitle files mounted as `Track`
nonethumbnails prop powers hover previews
Exact player logic
How this player is wired
- The page calls
/api/zbsewtand receives the decrypted RPM response. - `masterPlaylistProxy` becomes the HLS player source so every playlist and segment stays proxied.
- Each subtitle VTT is mounted with `<Track />`, so captions appear in the default Vidstack menu.
- `DefaultVideoLayout` receives `spritesheet.vttProxy`, which is why seek hover previews can use the storyboard VTT and image.
- The external quality selector calls `player.remoteControl.changeQuality(index)` or `requestAutoQuality()` for adaptive mode.
<MediaPlayer src={{ src: data.masterPlaylistProxy, type: "application/x-mpegurl" }} poster={data.posterProxy}>
<MediaProvider>
{data.subtitles.map((track) => (
<Track src={track.proxiedUrl} kind="subtitles" label={track.name} lang={track.language} />
))}
</MediaProvider>
<DefaultVideoLayout thumbnails={data.spritesheet.vttProxy} icons={defaultLayoutIcons} />
</MediaPlayer>