Skip to content
This repository has been archived by the owner on May 23, 2024. It is now read-only.

Twitch live hls recording #6

Open
camjac251 opened this issue Sep 7, 2017 · 1 comment
Open

Twitch live hls recording #6

camjac251 opened this issue Sep 7, 2017 · 1 comment

Comments

@camjac251
Copy link

I'm not sure if you've tried it and ran into the same problem as ffmpeg but streamlink (a fork of the now dead livestreamer) is a good tool that hasn't failed on me for downloading twitch streams live. It's usually for just watching streams live but you can have it write to a file with a python script to automatically watch the channel in intervals to see when it goes live and then start saving the stream to a file until the end.

I did it for the Mr Rogers one and it seemed to get it all without any errors, that I know of.

Also, with twitch vods, for say a stream that goes on for 12 hours or more, I think I've seen VODs muted while the streamer is still on if I'm not mistaken, so downloading the vod could be an issue in case twitch mutes it before you are able to get the file. Also with a long stream, downloading the file could take a while and maybe during that time, twitch mutes the vod and the file you download changes with the muted track added in.

also, do you have plans to add chat support to it? Say maybe syncing the stream vod to a chat log with scrubbing support?

@tausackhn
Copy link
Owner

Hi!
Yes, Twitch possibly can mute VOD while it's writing down. At this moment it doesn't mute VODs in realtime. You have enough time to load last chunks before they're muted. If something changes in the future, I have to change downloading to only live.

I don't know why ffmpeg hangs on during recording live stream sometime. Sometime ffmpeg skip chunks if can't update playlist in time. If you got slow server you could possibly have many problems and it doesn't simply to change it. If you have any solution, let me know.

My script works with VOD which will be saved in Twitch CDN while it's recording. You can check it on any channel that VOD updates with live stream. This method has advantages over saving live stream:

  • VOD will always be continuous
  • easy to correspond loaded file to VOD on Twitch CDN (a year before live playlist has human readable url)
  • easy to change server and continue downloading
  • easy to sync with chat log (thank you for good idea)

The script is running 24/7 on my storage server and I have no problems with muted chunks for more than year.

I have to think about saving chat log with file relative timestamps. In future plans:

  • add ability to download any VOD, not only with status recording (easy to implement)
  • add ability to download clips and get list of clips (additional twitch api needed)
  • add ability to download live stream like ffmpeg does
  • save synced chat log

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants