Closed jbruchon closed 1 year ago
As a workaround, once u have the m3u8 url, you can just pass it to yt-dlp. No need to manually download and concat
❯ yt-dlp "https://recording-eu-1.picarto.tv/stream/hls/govod%2bgolive+DarkCookie_2022.01.13.20.05.50_nsfw.mkv/index.m3u8?video=maxbps"
[generic] index: Requesting header
[generic] index: Downloading m3u8 information
[info] index: Downloading 1 format(s): 2128
[hlsnative] Downloading m3u8 manifest
[hlsnative] Total fragments: 3684
[download] Destination: index [index].mp4
[download] 0.1% of ~978.54MiB at 50.17KiB/s ETA 06:22:47 (frag 1/3684)
ERROR: Interrupted by user
As a workaround, once u have the m3u8 url, you can just pass it to yt-dlp. No need to manually download and concat
Sometimes I like to see things through the hard way...just to make sure ;-)
Something to add: I've discovered that when a live stream is broken (stops due to streamer internet disconnection etc.), the video (recording) segments end prematurely, with the m3u8 handing out segments that don't exist on the server. If this gets added, it'll need to handle a consistently failed segment (usually in the 90th percentile completion) as the end of the video rather than an error.
Checklist
Region
USA
Description
When trying to download this stream recording that is going to be auto-deleted soon I found that yt-dlp and JDownloader2 both can't fetch the stream. I found issue #1373 but it's a little old and the error is different, plus I've figured out roughly how to fix this, so I'm opening this new issue to put all the info in one place.
The actual player data is hiding behind a blob.
It loads the video info through a Websocket.
Swap wss:// to https:// and you get playlist info, BUT the playlists only contain a reference to ANOTHER playlist.
This is what's inside the HLS
index.m3u8
file:If you use the relative URL in that file, you'll get the ACTUAL
m3u8
playlist for the MPEG-TS segments.From there, it's a straightforward "download all segments and concat with ffmpeg" strategy. I'm fetching it with
wget
as I type this, and I've verified the segments are playable.Verbose log