All Projects β†’ MichaelBelgium β†’ Youtube Api

MichaelBelgium / Youtube Api

A way to host your own API that converts youtube video's to mp3/mp4 and returns a download/stream link and information.

Projects that are alternatives of or similar to Youtube Api

Fast Youtube To Mp3 Converter Api
Very Fast YouTube to MP3 & MP4 Converter API
Stars: ✭ 69 (-9.21%)
Mutual labels:  ffmpeg, youtube-dl, youtube-downloader
Candy
🍭 Cross-platform YouTube-downloader with playlist and channel support as well as build-in audio / video converter.
Stars: ✭ 229 (+201.32%)
Mutual labels:  ffmpeg, youtube-dl, youtube-downloader
Ydls
youtube-dl HTTP download and transcode service
Stars: ✭ 68 (-10.53%)
Mutual labels:  ffmpeg, youtube-dl
Get It
A macOS GUI for youtube-dl
Stars: ✭ 483 (+535.53%)
Mutual labels:  youtube-dl, youtube-downloader
Axiom
An FFmpeg GUI for Windows
Stars: ✭ 560 (+636.84%)
Mutual labels:  ffmpeg, youtube-dl
Boram
🎞 Cross-platform graphical WebM converter
Stars: ✭ 312 (+310.53%)
Mutual labels:  ffmpeg, youtube-dl
Youtube Dl Android
πŸ“¦πŸ“¦Video downloader for Android - Download videos from Youtube, Facebook, Twitter, Instagram, Dailymotion, Vimeo and more than 1000 other sites
Stars: ✭ 322 (+323.68%)
Mutual labels:  youtube-dl, youtube-downloader
Youtube Downloader
πŸ‘ A much faster alternative to youtube-dl built for PHP applications. Working as of 2021-02-27
Stars: ✭ 474 (+523.68%)
Mutual labels:  youtube-dl, youtube-downloader
Smd
Spotify Music Downloader
Stars: ✭ 822 (+981.58%)
Mutual labels:  youtube-dl, youtube-downloader
Youtub.ly Android
An android app to download πŸ“Ή videos and songs from youtube to phone internal storage
Stars: ✭ 17 (-77.63%)
Mutual labels:  youtube-dl, youtube-downloader
Youtube Fetcher
πŸ“Ί Youtube Podcasting 🎧
Stars: ✭ 31 (-59.21%)
Mutual labels:  ffmpeg, youtube-dl
red
Red - Privacy focused Youtube player and download manager for Linux
Stars: ✭ 27 (-64.47%)
Mutual labels:  youtube-dl, youtube-downloader
ypc
Convert text/spotify/deezer albums/playlists to youtube urls and audio/video files.
Stars: ✭ 17 (-77.63%)
Mutual labels:  youtube-dl, youtube-downloader
Youtube Music
YouTube Music Desktop App bundled with custom plugins (and built-in ad blocker / downloader)
Stars: ✭ 376 (+394.74%)
Mutual labels:  youtube-dl, youtube-downloader
SharpGrabber
Download from YouTube, Vimeo, PornHub, HLS (M3U8 files) with .NET and JavaScript, Library and desktop app for downloading high quality media
Stars: ✭ 138 (+81.58%)
Mutual labels:  ffmpeg, youtube-dl
yayd
youtube-dl backend in Rust, aka youtube & co downloader
Stars: ✭ 32 (-57.89%)
Mutual labels:  ffmpeg, youtube-dl
Youtubevideodownloader
Download videos from YouTube and many other video sites
Stars: ✭ 39 (-48.68%)
Mutual labels:  youtube-dl, youtube-downloader
mpv-youtube-download
A userscript for MPV that allows you to download youtube audio and video with one key press πŸ’Ύ
Stars: ✭ 16 (-78.95%)
Mutual labels:  youtube-dl, youtube-downloader
video-dl
Video Downloader πŸ“₯ - Download Facebook Video and Youtube Video and Audio.
Stars: ✭ 13 (-82.89%)
Mutual labels:  youtube-dl, youtube-downloader
Mpv.net
🎞 mpv.net is a modern media player for Windows that works just like mpv.
Stars: ✭ 737 (+869.74%)
Mutual labels:  ffmpeg, youtube-dl

Youtube-to-mp3-API

With these two php files you are able to create your own Youtube to MP3 API with ability to search also. See the wiki for examples.

Laravel version of this package

Possible HTTP requests

GET - convert.php

Convert a video

Parameter Required Type Description
youtubelink Yes string The full youtubelink of the video you want to download.
format No (default = mp3) string: mp3 or mp4 The format to download
delete No string The youtubeid of which you want it to be deleted from storage on the server

Delete a downloaded video

Parameter Required Type Description
delete Yes string The youtubeid that has to be deleted from storage on the server
format No (default = mp3 & mp4) string: mp3 or mp4, leave empty to remove all The format of the video that has to be deleted

Possible youtubelinks

youtube.com/v/{vidid}
youtube.com/vi/{vidid}
youtube.com/?v={vidid}
youtube.com/?vi={vidid}
youtube.com/watch?v={vidid}
youtube.com/watch?vi={vidid}
youtu.be/{vidid}

GET - search.php

Parameter Required Type Description
q Yes string The query term to search for video's
max_results No integer The max results of search results u want to get

Possible HTTP responses

JSON - convert.php

Parameter Type Description
error boolean Whether or not an error occured
message string A simple message or the error message
Parameter Type Description
error boolean false
youtube_id string The youtube identifier
title string The title of the video that got converted
alt_title string A secondary title of the video
duration integer The duration of the video that got converted (in seconds)
file string The streamlink or downloadable mp3 file
uploaded_at object A Date object

JSON - search.php

Parameter Type Description
error boolean Whether or not an error occured
message string An error message
results array An array with MAX_RESULTS entries. Each entry has: the video id, the channel name of the video, the video title and the full url to the video

Software requirements

General installation

First we install the dependencies on the server, then website.

VPS

Website

  • Get a google developer api key
  • Go to your webserver files to run composer into
  • Run composer create-project michaelbelgium/youtube-to-mp3 [directoryname] - where directoryname is .. a directory where people can access the API from.

Configuration

search.php

define("MAX_RESULTS", 10); //max search results
define("API_KEY", ""); //google api key

convert.php

define("DOWNLOAD_FOLDER", "download/"); //the folder where files are accessable to download
define("DOWNLOAD_MAX_LENGTH", 0); //max video duration (in seconds) to be able to download, set to 0 to disable
define("LOG", false); //enable logging

docker-compose

You can deploy this API using docker-compose.yml and the Dockerfile to build from. Please add your google API Key to docker-compose.yml. It will expose port 80 from the container, out to port 80 on the host. This can also be changed using the same file.

How to run with docker-compose

Put docker-compose.yml and Dockerfile together in a new, empty folder. Then, run the following command to get it running

sudo docker-compose up -d

To stop:

sudo docker-compose down
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].