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?
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?