Archiving this repo for a few reasons:
- It's slow to spin a python process with every request
- There needs to be a better performance and caching
- Security can be an issue with this approach
- There are better alternatives than this
I apologize if this is abrupt - if this project is important to you, please do feel free to keep it alive by creating a fork.
Thanks - iBicha
A youtube-dl web server, powered by youtube-dl.
Intended to provide raw video url and other metadata as a json payload, not as a streaming server.
npm install -g youtube-dl-server
youtube-dl-server
GET /v1/video?url=<YOUTUBE_URL_HERE>&options=<OPTIONS>&schema=KEY1&schema=KEY2&cli=<yt-dlp|youtube-dl>
Returns a json payload with requested information.
- url: required - Url of youtube video
- options: optional - options to be passed to youtube-dl. Defaults to -f "best". See https://github.com/ytdl-org/youtube-dl/blob/master/README.md
- schema: optional - array of keys to be returned, to avoid returning all the json dump from youtube-dl. E.g. /v1/video?url=https://www.youtube.com/watch?v=1PuGuqpHQGo&schema=url&schema=title
- cli: optional - the cli tool to be used. "youtube-dl" | "yt-dlp". Defaults to "yt-dlp"
----
GET /watch?v=<YOUTUBE_VIDEO_ID_HERE>&options=<OPTIONS>&cli=<yt-dlp|youtube-dl>
Redirects to the raw video url.
- v: required - Url or ID of the video, same as the url parameter of GET /v1/video
- options: optional - options to be passed to youtube-dl. Defaults to -f "best". See https://github.com/ytdl-org/youtube-dl/blob/master/README.md
- cli: optional - the cli tool to be used. "youtube-dl" | "yt-dlp". Defaults to "yt-dlp"