Skip to content

timeSnip is a script allowing the user to synchronize the music read in a Youtube mix video with the current music title displayed in a Twitch or Youtube stream. timeSnip analyzes the description from the Youtube URL you provide, looking for timestamps, and write the currently played song in a text file that can be displayed in a Twitch or Youtu…

Notifications You must be signed in to change notification settings

LucasLuigi/timeSnip

Repository files navigation

timeSnip

Overview

This script allows to update a text file with the music currently played from a one-video music mix (from Youtube or from a file for instance), by submitting an URL of a Youtube video mixes. Usually, its description contains a list of chapters following this format: "timecode Music name". This project can be seen as a complement (or not) of Snip, and can be used for streamers to display music name.

Features

Current (work in progress)

  • Youtube URL is passed as argument and the script automatically parses the description field to get the chapters
  • Parsed chapters list can follows different formats (pattern)
  • If the parsed description contains to chapter list, the user has a second attempt to paste the chapter list if it is written in a commentary for example
  • Format the output file text in a customized way (artist name, album, mix name, separation...)
  • A file is used to store the configuration of the script, config.ini

Evolutions

  • Manually pause and play the time counting: manual synchronization between the output file text and the listened music
  • Detect pause on Youtube video/media: automatic synchronization

How to start

  • Use python3
  • Call these pip install:
pip install --upgrade google-api-python-client
pip install --upgrade google-auth-oauthlib google-auth-httplib2
pip install --upgrade requests
pip install --upgrade numpy
  • Add a JSON credential file _credentials/google-api-key.json coming from Google Developper Console. A project is needed and you will need to setup a OAuth 2.0 client ID. Visit the Youtube API v3 documentation for further information.
I need more information on this file, maybe it can be pushed on Git... More news coming
  • Modify config.ini to set the path of your output file. You can if you want too modify the verbosity level of the app.
  • Run timeSnip:
python timeSnip.py <YoutubeURL> [prefix]

About

timeSnip is a script allowing the user to synchronize the music read in a Youtube mix video with the current music title displayed in a Twitch or Youtube stream. timeSnip analyzes the description from the Youtube URL you provide, looking for timestamps, and write the currently played song in a text file that can be displayed in a Twitch or Youtu…

Topics

Resources

Stars

Watchers

Forks

Languages