Nmyo is a daemon for archiving live streams from youtube channels as they happen. Nmyo works through a series tasks and makes use of ytdl for downloading the videos. Generally how nmyo works is that provided with a series of youtube urls, it will call youtube-dl and parse the error. In the event that the live stream has not started, it will spawn a new task and sleep until the start of the stream. If a stream is delayed then the code will handle this, and sleep until the new scheduled time. Once the stream has started it will start downloading the stream, the thumbnail and the description. There are two ways to provide nmyo with stream links, through a schedule file or through a supplying it with a channel ID(which can be found by looking at the channel page for a user). Both of these methods can be used together. The schedule file(passed through the -s flag) has the following format, defining one stream per line. <URL><tab><time><tab><filename> Where: <tab> is a hard tab character('\t') <URL> is the link to the reservation page <time> is a RFC-3339 encoded time stamp. <filename> is the output filename. The filename is optional and when not provided nmyo will use the video id as the filename. The time specification may also be the string literal "now", which will use the current time, this can be useful as nmyo will just grab the start date from the page and sleep until then. The schedule file is read asyncrounsly, and the file "-" means to use stdin, this allows the use of a fifo or similar methods for allowing additional streams to be added during runtime. The feeds are simply pased as a comma seperated list through the -f flag, for each ID nmyo will spawn a task to check the RSS feed of the channel once every hour and create new download tasks for new stream reservations. On startup nmyo will only check the latest 2 entires on the RSS feed to see if they are stream reservations(this can be tweaked with the -b flag). After startup nmyo will check each new addition to see if it is a stream reservation. The -w flag will cause the stream to be piped through mpv(1) in a fashion similar to tee(1) while downloading. The -d flag will cause debug output to be put on stderr.