What is Nostr?
nicodemus
npub1qqq…ryz3
2024-10-15 17:01:52
in reply to nevent1q…ex25

nicodemus on Nostr: Ah, ok. The m3u8, if you have it, *may* be all that you need. It’s a text file ...

Ah, ok.

The m3u8, if you have it, *may* be all that you need. It’s a text file playlist - based off of the original m3u playlist format. This is called a “manifest”.

It contains a list of files for the player to play, in order of playout. The files could be audio, video or both (muxed).

Sometimes, the manifest will actually be a playlist that links to other playlists instead of media files, often called a “master manifest”. This will be obvious, because it will reference different video resolutions and codecs. You likely want the highest quality, if so. These files exist to allow a player to jump between qualities (called variants/layers/renditions) if bandwidth changes.

A “container” is a file that holds the encoded content and metadata about that encoded content (codec, duration, audio/video timing, captions, etc). It’s the “TS” or “MP4” part of a video. Think of it as a sort of zip file (tho the compression happens on the encoding within the container).

So to download, grab the m3u8 manifest. If it’s a master, grab the highest quality m3u8 referenced within it. Then grab all of the ts files within the appropriate manifest. Now you just have to combine them. That, unfortunately, may be a bit complicated to go over in this post. FFMPEG can do it, I think. But I am not sure of all of the flags needed.

Now you said this was a live stream? Or is it a recording of a live stream? This matters because a live stream often only has a snapshot of the latest TS files. Ie, it gets rid of old ones and adds the new ones. If it’s a recording, it will contain it all.

Clear as mud?
Author Public Key
npub1qqqqypnst2u7wdlmexad9gjamstlg7c4ck2w4cadv4j5xd5e8vvsupryz3