yps

module
v0.0.0-...-bed4c38 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 25, 2015 License: MIT

README

yps - Youtube Playlist Synchronizer

yps helps you get your Youtube playlist saved as mp3s so you can listen your favorite video lectures while on the move.

A good example for this would be: Computer Science 61B - Fall 2006 or Google NYC Tech Talks

GoDoc

You can test it out here

TODO

In priority order:

  • Make a pretty interface
  • Implement an interface to receive a single video ID
  • Implement an interface to receive the playlist ID
  • Process playlist request and divide items into tasks (using a MQ) to process files independently
  • Implement a way to get the video in mp4 format from YouTube
    • If not possible, check what other services are doing
  • Convert the mp4 into a mp3 file
  • Save mp3 file into user destination
    • Goole Play Music (no apparent API, offer option to save mp3 file on local computer?)
    • Google Drive (check if they have an API)
    • Dropbox (maybe? check if they have an API)
    • local drive
  • Implement a way to get the private videos / playlists of users

Technologies used

TODO Check if this is what we need or we need more

  • AppEngine
    • Task Queue
    • Managed VM (for the conversion part. maybe we can run a CLI to do it on the user machine?)
  • Go
  • Google APIs
    • Drive API (?)
    • Drive SDK (?, check difference between the two)
    • YouTube Data API v3 (to fetcht the playlists and compute the videos needed)
  • FFmpeg (conversion stuff)

Resources

This project uses resurces from initializr.com

This should be a way to save material for later listening, while on the move. Please respect the copyright of the authors of the respective videos.

License

This project is created under MIT license.

For more information, please see the LICENSE file.

Directories

Path Synopsis
Package backend implements the main for the backend requests
Package backend implements the main for the backend requests
Package core holds the business logic for yps
Package core holds the business logic for yps
httputil
Package httputil holds common usefull functions for http
Package httputil holds common usefull functions for http
Package main holds the frontend logic for the user interaction
Package main holds the frontend logic for the user interaction
Package processing holds the logic for processing the requests
Package processing holds the logic for processing the requests
Package provider contains the interface definition for what a provider should implement as functions
Package provider contains the interface definition for what a provider should implement as functions
youtube
Package youtube implements the functions used in combination with Youtube as a provider
Package youtube implements the functions used in combination with Youtube as a provider
Package queue defines how a message queue and a message should be implemented
Package queue defines how a message queue and a message should be implemented
aetq
Package aetq implements gophergala/yps/queue using AppEngine TaskQueue functionality
Package aetq implements gophergala/yps/queue using AppEngine TaskQueue functionality

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL