Something went wrong. Try again.
A stream.place VOD client inspired by icarly.com
Something went wrong. Try again.
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647import { getVideoPlaylist } from '../src/lib/vod';
const videoUri = process.argv[2];
if (!videoUri) { console.error('Usage: npx ts-node scripts/test-playback.ts <at-uri>'); console.error('Example: npx ts-node scripts/test-playback.ts at://did:plc:rbvrr34edl5ddpuwcubjiost/place.stream.video/3mi2ikg6gij26'); process.exit(1);}
async function testPlayback() { console.log('Testing video playback...\n'); console.log('Video URI:', videoUri); console.log('');
try { const playlist = await getVideoPlaylist(videoUri); console.log('SUCCESS: Got playlist!\n'); console.log('First 2000 chars of playlist:'); console.log(playlist.substring(0, 2000)); console.log('\n...');
if (playlist.includes('#EXTM3U')) { console.log('\nValid HLS playlist (has #EXTM3U)'); } else { console.log('\nWARNING: Not a valid HLS playlist - missing #EXTM3U'); }
const lines = playlist.split('\n'); const codecs = lines.filter(l => l.includes('CODECS')); const resolution = lines.filter(l => l.includes('RESOLUTION'));
console.log('\nCodec info found:', codecs.length); console.log('Resolution info found:', resolution.length);
if (codecs.length > 0) { console.log('Codec details:', codecs[0].substring(0, 100)); }
} catch (error) { console.error('FAILED:', error instanceof Error ? error.message : error); process.exit(1); }}
testPlayback();