GithubHelp home page GithubHelp logo

fmtv's Introduction

fmTV Downloader

fmTV Downloader

Overview

The fmTV Downloader is a Python-based application designed to fetch and download music videos based on data from Last.fm. It uses the Last.fm API to retrieve recently played tracks and searches YouTube for official music videos matching those tracks. The downloaded videos are tagged with metadata and stored in a specified directory.

Features

  • Track Retrieval: Polls Last.fm for recent tracks on a set interval.
  • Video Search and Download: Searches YouTube for hihest quality video and audio for a music video and downloads and merges them to .mp4
  • Metadata Tagging: Tags downloaded videos with title, artist, album, and genre information.
  • Logging and Error Handling: Maintains logs and handles errors gracefully.

Setup and Installation

Prerequisites

  • Docker
  • Docker Compose
  • Last.fm Username
  • Last.fm API Key

Environment Variables

The application requires the following environment variables to be set:

  • LASTFM_USERNAME: Your Last.fm username to fetch recent tracks.
  • LASTFM_API_KEY: Your Last.fm API key for accessing Last.fm services.
  • POLLING_INTERVAL: Interval (in seconds) between Last.fm API polls (300 seconds by default).
  • DOWNLOAD_PATH: Directory where downloaded videos will be saved (/downloads by default).
  • APP_DATA_PATH: Directory for storing application data and logs (/appdata by default).

Obtain an API key from Last.fm

This script assumes you already have a Last.fm account and are scrobbling succesfully

Log In: Log in to your Last.fm account.

Go to the API Page: Navigate to the Last.fm API page by going to https://www.last.fm/api.

Create an API Account: On the API page, you’ll see an option to create an API account. Click on "Create API account."

Fill Out the Application Form: You will be asked to fill out a form with details about your application. Provide the following information:

Application Name: A name for your application Application Description: A brief description of what your application does. Application Website: Not Applicable Application Redirect URI: Not Applicable Agreement to Terms: Check the box to agree to the API Terms of Use.

Submit the Form: After filling out the form, submit it. Last.fm will process your request, and once approved, you will receive an API key.

Access Your API Key: After approval, you can access your API key from the API page under your account.

fmtv's People

Contributors

mmagtech avatar

Stargazers

Nick avatar ElYoM avatar Brandon Kish avatar Daniel Hall avatar Robert avatar  avatar Jon avatar Yonni avatar Andreas avatar David Torcivia avatar  avatar

Watchers

 avatar

fmtv's Issues

Not Polling Correctly

App is not downloading all scrobbles since last succesfully downloaded video. Only grabs the most recent scrobble on manual restart.

Add Icon

Icon is missing for use on dockerhub and github

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.