Skip to content
This repository has been archived by the owner. It is now read-only.
Technical documentation and helpers for the SNH48 Live YouTube channel
Branch: master
Clone or download

SNH48 Live

SNH48 Live

This repository hosts technical documentation and helpers for the SNH48 Live YouTube channel.

Check for more resources.


  • general description of the channel.
  • technical info on how videos on the channel are extracted, and qualities thereof.
  • tool configurations documention.


  • videos.txt: short list of all content videos (channel info videos are not included).
  • data/videos/*.json: metadata of content videos directly from YouTube API v3.
  • partially-blocked.txt: short list of videos that are blocked in some countries (see for details). To get around region blocks, use a VPN service, e.g. Private Internet Access.
  • list of videos and their associated copyright claims.
  • claims.json: list of videos and their associated copyright claims, in JSON format.
  • performances.json: a streamable line-oriented JSON data store of metadata of performances, used for
  • attendance.txt: human-readable attendance sheet (compiled by myself, might contain mistakes).
  • attendance.json: structured version of attendance.txt for machine consumption.


Helpers depend on Python 3.6+ and Zsh 5.0+.

  • download: the heart and soul of this channel. Downloads a VOD from, then optionally uploads it to the channel.
  • extract-claims: extract video info and associated copyright claims from a YouTube copyright claims page, and automatically populate related datastores.
  • fetch-metadata: fetch metadata of all content videos.
  • fetch-schedule: fetch and format schedule data from; helper for new-config.
  • new-config: generate download/upload configuration for a new performance.
  • new-attendance-entry: automatically populate as much of a new attendance sheet entry as possible.
  • parse-attendance-sheet: convert attendance.txt into attendance.json.
  • performers: retrieve performers lists from official streaming site.
  • post-to-tumblr: cross-post to Tumblr — a healthy dose of SEO and discoverability shenanigans doesn't hurt, right?
  • qa: basic quality assurance on Python source code.
  • record-performance: record performance metadata into performances.json.
  • searchrank: find this channel and its videos among the top 50 SNH48-related search results. Purely for bragging rights.
  • stats: fetch and display channel analytics data.
  • stats-monitor: run stats periodically, print and log results.
  • tweet: tweet to Twitter.
  • thumbnail: generate custom thumbnails.
  • update-metadata: update metadata of videos in various ways (check the subcommands).
  • upload: YouTube video uploader (WIP).
You can’t perform that action at this time.