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.
Stars: β 76
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
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
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
- Install ffmpeg (+ libmp3lame - see wiki for tutorial)
- install youtube-dl
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]
- wheredirectoryname
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].