! Hinweis: Die Readme-Datei muss noch aktualisiert werden
Eine Quart-basierte API zum Herunterladen von YouTube-Videos und -Audio, zum Abrufen von Videometadaten und zum Verarbeiten von Untertiteln. Mit dieser API können Sie programmgesteuert mit YouTube-Inhalten interagieren und Hintergrundaufgaben nutzen, um temporäre Dateien zu verwalten und effiziente Downloads bereitzustellen.
Laden Sie Videos und Audio herunter: Rufen Sie Inhalte mit bestimmten Auflösungen und Bitraten ab.
Video-Metadaten abrufen: Rufen Sie Details wie Titel, Aufrufe und Kanalinformationen ab.
Untertitel verarbeiten: Untertitel im SRT-Format abrufen und speichern.
Speicher prüfen: Stellen Sie vor dem Herunterladen sicher, dass ausreichend Speicherplatz vorhanden ist.
Python 3.7+
FFmpeg
requirements.txt
Abhängigkeiten
Klonen Sie das Repository
Git-Klon https://github.com/DannyAkintunde/YouTube-dl-apicd Youtube-dl-api
Führen Sie das Installationsskript aus
Führen Sie das Skript install.sh
aus, um Python-Abhängigkeiten und Systempakete zu installieren:
chmod +x install.sh ./install.sh
Dieses Skript wird:
Installieren Sie die in requirements.txt
aufgeführten Python-Abhängigkeiten
Aktualisieren Sie die Paketliste
Installieren Sie FFmpeg
Überprüfen Sie die FFmpeg-Installation
Passen Sie die Konfigurationseinstellungen in der Datei settings.py
an:
DEBUG
: Debug-Modus aktivieren oder deaktivieren (Standard: True
).
PROXY
: Konfigurieren Sie Proxys im Format http_proxy,https_proxy.
AUTH
: Authentifizierung konfigurieren (Standard: False
).
ACCESS_TOKEN
: Token für den Zugriff auf geschützte Ressourcen (erforderlich, wenn AUTH
True
ist).
REFRESH_TOKEN
: Token zum Aktualisieren des Zugriffs (erforderlich, wenn AUTH
True
ist).
EXPIRES
: Ablaufzeit für das Zugriffstoken (erforderlich, wenn AUTH
True
ist).
VISITOR_DATA
: Daten zur Besucherverfolgung (erforderlich, wenn AUTH
True
ist).
PO_TOKEN
: Token für Bestellungen (erforderlich, wenn AUTH
True
ist).
MAX_DOWNLOAD_SIZE
: Maximale Dateigröße für Downloads (Standard: 2 GiB
).
MAX_SEARCH_AMOUNT
: Maximale Anzahl an Videosuchergebnissen (Standard: 25
).
MIN_SEARCH_AMOUNT
: Mindestanzahl an Videosuchergebnissen (Standard: 2
).
DEFAULT_SEARCH_AMOUNT
: Standardanzahl der Videosuchergebnisse (Standard: 20
).
EXPIRATION_DELAY
: Verzögerung für den Ablauf temporärer Dateien (Standard: 1800 seconds
).
TEMP_DIR
: Verzeichnis zum Speichern temporärer Dateien (Standard: 'temp_files'
).
AUTH_DIR
: Pfad zum Speichern der Authentifizierungsdatei (Standard: 'auth'
).
AUTH_FILE_NAME
: Name der Authentifizierungsdatei (Standard: 'temp.json'
).
CODECS
: Liste der zu verwendenden Video- und Audio-Codecs (Standard: 'avc1,aac'
).
GET /ping
Beschreibung: Überprüft den API-Status.
Antwort:
{ „message“: „pong“}
200 OK
: {"message": "pong"}
GET /search
Beschreibung: Sucht basierend auf einer Suchanfrage nach YouTube-Videos.
Abfrageparameter:
q
oder query
: Suchanfrage.
Beispielanfrage:
GET /search?q=python+tutorial
Beispielantwort:
{ { „Länge“: 20, „Ergebnisse“: [ { "accessibility": {"duration": "6 Stunden, 14 Minuten, 7 Sekunden", "title": "Python-Tutorial – Python-Vollkurs für Anfänger durch Programmieren mit Mosh 41.059.791 Aufrufe vor 5 Jahren 6 Stunden, 14 Minuten" } , „channel“: {“id“: „UCWv7vMbMWH4-V0ZXdmDpPBA“, „link“: „https://www.youtube.com/channel/UCWv7vMbMWH4-V0ZXdmDpPBA“, „Name“: „Programmieren mit Mosh“, „Thumbnails“: [ {"height": 68,"url": "https://yt3.ggpht.com/lCeCb47hCbXWFa0I4gi8uWDHzWSs7sjK4FDmk7lFEUMRNp6QRzIQOkwaKhwv7eNKZacRI2uR=s68-ck-c0x00ffffff-no-rj","width": 68 } ] }, "descriptionSnippet": [ { "text": "Werde ein "}, { "bold": true, "text": "Python"}, { "text": " pro! Dieses umfassende "}, { „bold“: true, „text“: „tutorial“}, { „text“: „führt Sie vom Anfänger zum Helden und behandelt die Grundlagen, maschinelles Lernen und ...“} ], „duration“: „6:14:07“, „id“: „_uQrJ0TkZlc“, „link“: „https://www.youtube.com/watch?v=_uQrJ0TkZlc“, „publishedTime“: „5 vor Jahren", "richThumbnail": {"height": 180,"url": „https://i.ytimg.com/an_webp/_uQrJ0TkZlc/mqdefault_6s.webp?du=3000&sqp=CLf547cG&rs=AOn4CLCAcnB5okiLttIEMkLM9bb-3w28AQ“, „width“: 320 }, „shelfTitle“: null, „thumbnails“: [ { „height“: 202, „url“: „https://i.ytimg.com/vi/_uQrJ0TkZlc/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCQfkbApoaN-_QBOuiyHzWJOiziEA“, "Breite": 360}, { "height": 404, "url": „https://i.ytimg.com/vi/_uQrJ0TkZlc/hq720.jpg?sqp=-oaymwEcCNAFEJQDSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCpUFKfUMVNbg8mqTcZ8UdSUjpilw“, „width“: 720} ], „title“: „Python-Tutorial – Python-Vollkurs für Anfänger“, „type“: „video“, „viewCount“: {“short“: „41M Aufrufe“, „text“: „41.059.791 Aufrufe“ } }//...mehr Ergebnisse hier ], „search“: „Python-Tutorial“, „search_id“: „00b5a31c-30d7-4d96-92e5-42b871062bca“, „search_suggestions“: [“Python-Tutorial“, „Python-Tutorial für Anfänger“, „Python-Tutorial 2024“ ] }
200 OK
: Suchergebnisse.
400 Bad Request
: Fehlender oder ungültiger Abfrageparameter.
500 Internal Server Error
: Serverseitiger Fehler.
GET /info
Beschreibung: Ruft Metadaten für ein YouTube-Video ab.
Abfrageparameter:
url
: Die URL des YouTube-Videos.
Beispielanfrage:
GET /info?url=https://youtube.com/watch?v=dQw4w9WgXcQ
Beispielantwort:
{ „author“: „Rick Astley“, „bitrates“: [„160kbps“, „128kbps“, „70kbps“, „50kbps“ ], „channel_id“: „UCuAXFkgsw1L7xaCfnd5JJOw“, „channel_url“: „https://www.youtube.com/channel/UCuAXFkgsw1L7xaCfnd5JJOw“, „Beschreibung“: „Das offizielle Video zu „Never Gonna Give You Up“ von Rick Astley. nnDas neue Album „Are We There Yet?“ ist jetzt erhältlich: Hier herunterladen: https://RickAstley.lnk.to/AreWeThereYetFA/itunesnn „Never Gonna Give You Up“ war bei seiner Veröffentlichung im Juli 1987 ein weltweiter Hit und führte die Charts in 25 Ländern an, darunter Ricks Heimat Großbritannien und Großbritannien US Billboard Hot 100. Es gewann 1988 auch den Brit Award für die beste Single. Stock Aitken und Waterman schrieben und produzierten den Titel, der das war Lead-Off-Single und Lead-Track von Ricks Debüt-LP „Whenever You Need Somebody“ war selbst eine Nummer eins in Großbritannien und verkaufte sich weltweit über 15 Millionen Mal. Das legendäre Video wurde von Simon West gedreht – der es später tat weiter, um Hollywood-Blockbuster wie Con Air, Lara Croft – Tomb Raider und The Expendables 2 zu produzieren. Das Video hat am 28. Juli 2021 die Marke von 1 Milliarde YouTube-Aufrufen überschritten.nnAbonnieren Sie den offiziellen Rick Astley YouTube-Kanal: https://RickAstley.lnk.to/YTSubIDnnFolgen Sie Rick Astley:nFacebook: https://RickAstley.lnk.to/FBFollowID nTwitter: https://RickAstley.lnk.to/TwitterID nInstagram: https:// RickAstley.lnk.to/InstagramID nWebsite: https://RickAstley.lnk.to/storeID nTikTok: https://RickAstley.lnk.to/TikTokIDnnRick Astley hören:nSpotify: https://RickAstley.lnk.to/SpotifyID nApple Music: https://RickAstley. lnk.to/AppleMusicID nAmazon Music: https://RickAstley.lnk.to/AmazonMusicID nDeezer: https://RickAstley.lnk.to/DeezerID nnLyrics:nDie Liebe ist uns nicht fremd.Du kennst die Regeln und das weiß ich auch. Das bekomme ich von keinem anderen. Ich möchte dir nur sagen, wie ich mich fühle. Ich muss es dir verständlich machen. Ich werde es dir nie geben upnWird dich nie im Stich lassennNiemals herumlaufen und dich verlassen,Niemals dich zum Weinen bringen,Niemals Abschied nehmen,Niemals lügen und dich verletzen,nWir kennen uns schon so lange,Dein Herz schmerzt, aber du bist zu schüchtern, es zu sagen.In unserem Inneren wissen wir beide, was passiert ist geht weiternWir kennen das Spiel und wir werden es spielennnUnd wenn du mich fragst, wie ich mich fühle, dann sag mir nicht, dass du zu blind bist Ich werde dich nie aufgeben. Ich werde dich nie im Stich lassen. Ich werde nie herumlaufen und dich im Stich lassen. Ich werde dich nie zum Weinen bringen. Ich werde dich nie verabschieden. Ich werde nie lügen und dich verletzen ": ["rick astley","Never Gonna Give You Up, „nggyu“, „Never gonna Give You Up“, Lyrics, „Rick Roll“, „Rick Roll“, „Rick Astley Official“, „Rick Rolled“, „Fortnite Song“, „Fortnite Event“, „Fortnite tanzen, „Fortnite Never Gonna Give You Up“, „Rick Roll“, „Rick Rolling“, „Rick Rolling“, „Never Gone Give You Up“, „80er-Jahre-Musik“, „Rick Astley New“, „animiertes Video“, „Rickroll“, „Meme-Songs“, „Never gonna Give U Up“-Texte, „Rick Astley“. 2022, „never gonna let you down“, „animiert“, „rick rolls 2022“, „never gonna get you up karaoke“ ], „Länge“: 212, „Veröffentlichungsdatum“: null, „Auflösungen“: [„1080p“, „720p“, „480p“, „360p“, „240p“, „144p“ ], „subtitles“: [„en“], „thumbnail_url“: „https://i.ytimg.com/vi/dQw4w9WgXcQ/maxresdefault.jpg“, „title“: „Rick Astley – Never Gonna Give You Up ( Offizielles Musikvideo), "url": {"audio": { „128 kbit/s“: „https://rr2---sn-nx5s7n76.googlevideo.com/videoplayback?expire=1727620629&ei=tBH5ZuXtPK32sfIPmpfRaA&ip=34.213.214.55&id=o-AFciugVQSUntvlu-EtzrcBd4W06EaI8LnUezpJa hzv8S&itag=140&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&mh=7c&mm=31%2C2 9&mn=sn-nx5s7n76%2Csn-nx57ynsk&ms=au%2Crdu&mv=m&mvi=2&pl=17&initcwndbps=906250&siu =1&bui=AXLXGFTLtpYeBi-WkfbOrD6x11PgTTzzR3XccdPZFtz4stuPKtFQJJZUbJtbt6KJJdElaNlI6w &spc=54MbxZ-8cHiojJiaToWtUNunjsdmNSRVaZsp33b3yJk5hWz-XyvPBPMvqlmBFtXq-StOzuzECw&vp rv=1&svpuc=1&mime=audio%2Fmp4&ns=LcPciQPCIlyTAh4bUR1Ry3oQ&rqh=1&gir=yes&clen=3433 605&dur=212.091&lmt=1717047821006373&mt=1727598776&fvip=4&keepalive=yes&fexp=51299 152%2C51300760&c=WEB&sefc=1&txp=4532434&n=PBkHSDz29n0qdg&sparams=expire%2Cei%2Cip %2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Csiu%2Cbui%2Cspc%2Cvprv%2Csvpuc%2Cmime%2 Cns%2Crqh%2Cgir%2Cclen%2Cdur%2Clmt&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Ci nitcwndbps&lsig=ABPmVW0wRQIhAL4XTegKBWTyhPvlGwVYx5b6wKFXGaJnWz5hPoyu2V1jAiBX3ZHpSl -MMXhVWpt3O5ds3INf0Wlr-pbzhcj9KywORA%3D%3D&pot=MnRLRTG8kBazMEt9RGwvFceBv40KENnpHt lDrguGDKni7A-azrTC0L_GYy7Pz-fH6mqHFsS7CmHJ3c3g9Y6z-RqqRsbYhMeXWbiXmyTXLpKRXOkQFbgS jNeRohf9afkINW7suFEVcBe0OedclwPPNYTqkcXvKA%3D%3D&sig=AJfQdSswRQIhALzVUs_1ZBhAU4vl 4-_gWy8D_IuAVQZJzFanrawDMKOsAiAGBw-Q385K5JzdWj80j9eKH3yKDR0xsKxZTyKPU2Ubkg%3D%3D", „160 kbit/s“: „https://rr2---sn-nx5s7n76.googlevideo.com/videoplayback?expire=1727620629&ei=tBH5ZuXtPK32sfIPmpfRaA&ip=34.213.214.55&id=o-AFciugVQSUntvlu-EtzrcBd4W06EaI8LnUezpJa hzv8S&itag=251&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&mh=7c&mm=31%2C2 9&mn=sn-nx5s7n76%2Csn-nx57ynsk&ms=au%2Crdu&mv=m&mvi=2&pl=17&initcwndbps=906250&si u=1&bui=AXLXGFTLtpYeBi-WkfbOrD6x11PgTTzzR3XccdPZFtz4stuPKtFQJJZUbJtbt6KJJdElaNlI6 w&spc=54MbxZ-8cHiojJiaToWtUNunjsdmNSRVaZsp33b3yJk5hWz-XyvPBPMvqlmBFtXq-StOzuzECw& vprv=1&svpuc=1&mime=audio%2Fwebm&ns=LcPciQPCIlyTAh4bUR1Ry3oQ&rqh=1&gir=yes&clen=3 437753&dur=212.061&lmt=1717047822556748&mt=1727598776&fvip=4&keepalive=yes&fexp=5 1299152%2C51300760&c=WEB&sefc=1&txp=4532434&n=PBkHSDz29n0qdg&sparams=expire%2Cei% 2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Csiu%2Cbui%2Cspc%2Cvprv%2Csvpuc%2Cm ime%2Cns%2Crqh%2Cgir%2Cclen%2Cdur%2Clmt&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cp l%2Cinitcwndbps&lsig=ABPmVW0wRQIhAL4XTegKBWTyhPvlGwVYx5b6wKFXGaJnWz5hPoyu2V1jAiBX 3ZHpSl-MMXhVWpt3O5ds3INf0Wlr-pbzhcj9KywORA%3D%3D&pot=MnRLRTG8kBazMEt9RGwvFceBv40K ENnpHtlDrguGDKni7A-azrTC0L_GYy7Pz-fH6mqHFsS7CmHJ3c3g9Y6z-RqqRsbYhMeXWbiXmyTXLpKRX OkQFbgSjNeRohf9afkINW7suFEVcBe0OedclwPPNYTqkcXvKA%3D%3D&sig=AJfQdSswRAIgRgmVXNz6G " „50 kbit/s“: „https://rr2---sn-nx5s7n76.googlevideo.com/videoplayback?expire=1727620629&ei=tBH5ZuXtPK32sfIPmpfRaA&ip=34.213.214.55&id=o-AFciugVQSUntvlu-EtzrcBd4W06EaI8LnUezpJa hzv8S&itag=249&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&mh=7c&mm=31%2C2 9&mn=sn-nx5s7n76%2Csn-nx57ynsk&ms=au%2Crdu&mv=m&mvi=2&pl=17&initcwndbps=906250&siu =1&bui=AXLXGFTLtpYeBi-WkfbOrD6x11PgTTzzR3XccdPZFtz4stuPKtFQJJZUbJtbt6KJJdElaNlI6w &spc=54MbxZ-8cHiojJiaToWtUNunjsdmNSRVaZsp33b3yJk5hWz-XyvPBPMvqlmBFtXq-StOzuzECw&vp rv=1&svpuc=1&mime=audio%2Fwebm&ns=LcPciQPCIlyTAh4bUR1Ry3oQ&rqh=1&gir=yes&clen=123 2413&dur=212.061&lmt=1717047819209140&mt=1727598776&fvip=4&keepalive=yes&fexp=5129 9152%2C51300760&c=WEB&sefc=1&txp=4532434&n=PBkHSDz29n0qdg&sparams=expire%2Cei%2Ci p%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Csiu%2Cbui%2Cspc%2Cvprv%2Csvpuc%2Cmime %2Cns%2Crqh%2Cgir%2Cclen%2Cdur%2Clmt&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2 Cinitcwndbps&lsig=ABPmVW0wRQIhAL4XTegKBWTyhPvlGwVYx5b6wKFXGaJnWz5hPoyu2V1jAiBX3ZHp Sl-MMXhVWpt3O5ds3INf0Wlr-pbzhcj9KywORA%3D%3D&pot=MnRLRTG8kBazMEt9RGwvFceBv40KENnp HtlDrguGDKni7A-azrTC0L_GYy7Pz-fH6mqHFsS7CmHJ3c3g9Y6z-RqqRsbYhMeXWbiXmyTXLpKRXOkQFb gSjNeRohf9afkINW7suFEVcBe0OedclwPPNYTqkcXvKA%3D%3D&sig=AJfQdSswRgIhANYw5Elp9cly-p k9fZtviQxozUwSbmeyiPSX7xxOHywGAiEAoHiFDUhUA-S4m-WjPNnlnSXp65opUramacG4gcucmFg%3D", „70 kbit/s“: „https://rr2---sn-nx5s7n76.googlevideo.com/videoplayback?expire=1727620629&ei=tBH5ZuXtPK32sfIPmpfRaA&ip=34.213.214.55&id=o-AFciugVQSUntvlu-EtzrcBd4W06EaI8LnUezpJ ahzv8S&itag=250&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&mh=7c&mm=31%2C 29&mn=sn-nx5s7n76%2Csn-nx57ynsk&ms=au%2Crdu&mv=m&mvi=2&pl=17&initcwndbps=906250&s iu=1&bui=AXLXGFTLtpYeBi-WkfbOrD6x11PgTTzzR3XccdPZFtz4stuPKtFQJJZUbJtbt6KJJdElaNlI 6w&spc=54MbxZ-8cHiojJiaToWtUNunjsdmNSRVaZsp33b3yJk5hWz-XyvPBPMvqlmBFtXq-StOzuzECw &vprv=1&svpuc=1&mime=audio%2Fwebm&ns=LcPciQPCIlyTAh4bUR1Ry3oQ&rqh=1&gir=yes&clen= 1630086&dur=212.061&lmt=1717047822840442&mt=1727598776&fvip=4&keepalive=yes&fexp= 51299152%2C51300760&c=WEB&sefc=1&txp=4532434&n=PBkHSDz29n0qdg&sparams=expire%2Cei %2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Csiu%2Cbui%2Cspc%2Cvprv%2Csvpuc%2C mime%2Cns%2Crqh%2Cgir%2Cclen%2Cdur%2Clmt&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2C pl%2Cinitcwndbps&lsig=ABPmVW0wRQIhAL4XTegKBWTyhPvlGwVYx5b6wKFXGaJnWz5hPoyu2V1jAiB X3ZHpSl-MMXhVWpt3O5ds3INf0Wlr-pbzhcj9KywORA%3D%3D&pot=MnRLRTG8kBazMEt9RGwvFceBv40 KENnpHtlDrguGDKni7A-azrTC0L_GYy7Pz-fH6mqHFsS7CmHJ3c3g9Y6z-RqqRsbYhMeXWbiXmyTXLpKR XOkQFbgSjNeRohf9afkINW7suFEVcBe0OedclwPPNYTqkcXvKA%3D%3D&sig=AJfQdSswRAIgcZBnQIuS U46Et4rVk1EP96LN12X6zEturr49Dt3IdtgCICaL6e5X_7qoN782XgA94aCWl9APN7sqdpZDfnSQ3n4a" },"video": { „360p“: „https://rr2---sn-nx5s7n76.googlevideo.com/videoplayback?expire=1727620629&ei=tBH5ZuXtPK32sfIPmpfRaA&ip=34.213.214.55&id=o-AFciugVQSUntvlu-EtzrcBd4W06EaI8LnUezpJ ahzv8S&itag=18&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&mh=7c&mm=31%2C 29&mn=sn-nx5s7n76%2Csn-nx57ynsk&ms=au%2Crdu&mv=m&mvi=2&pl=17&initcwndbps=906250&s iu=1&bui=AXLXGFRb9LWg32JPSnGMKJTLm8K3ulHeoFqy6jW98J3ow17XhWM6hHiFPFeuDi2q4X9h4Fb CSw&spc=54MbxZ-_cHiojJiaToWtUNunjsdmNSRVaZsp33b3yJk5hWz-XyvPBPMvqlmBFtXq-StOzuz0D mJD&vprv=1&svpuc=1&mime=video%2Fmp4&ns=8KIxDqAhSq857Jj0EsIv_rAQ&rqh=1&cnr=14&rat ebypass=yes&dur=212.091&lmt=1717051812678016&mt=1727598776&fvip=4&fexp=51299152%2 C51300760&c=WEB&sefc=1&txp=4538434&n=5BzkN_PgDUfS4g&sparams=expire%2Cei%2Cip%2Ci d%2Citag%2Csource%2Crequiressl%2Cxpc%2Csiu%2Cbui%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cns %2Crqh%2Ccnr%2Cratebypass%2Cdur%2Clmt&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl %2Cinitcwndbps&lsig=ABPmVW0wRQIhAL4XTegKBWTyhPvlGwVYx5b6wKFXGaJnWz5hPoyu2V1jAiBX3 ZHpSl-MMXhVWpt3O5ds3INf0Wlr-pbzhcj9KywORA%3D%3D&pot=MnRLRTG8kBazMEt9RGwvFceBv40K ENnpHtlDrguGDKni7A-azrTC0L_GYy7Pz-fH6mqHFsS7CmHJ3c3g9Y6z-RqqRsbYhMeXWbiXmyTXLpKRX OkQFbgSjNeRohf9afkINW7suFEVcBe0OedclwPPNYTqkcXvKA%3D%3D&sig=AJfQdSswRAIgfjB7dIm2 WxtJENp3UQMt-R6AOxAG42tSR_R8AY1VOjQCIHZTT43adN0Wy7XAicHL3yPavg78sous0M4orEjRw98v" } }, „views“: 1576357050, „watch_url“: „https://youtube.com/watch?v=dQw4w9WgXcQ“}
200 OK
: Videometadaten.
400 Bad Request
: Ungültige URL oder fehlender Parameter.
500 Internal Server Error
: Serverseitiger Fehler.
POST /download
Beschreibung: Lädt YouTube-Inhalte mit der höchsten verfügbaren Auflösung herunter.
Anfragetext:
{ "url": "https://youtube.com/watch?v=dQw4w9WgXcQ", "subtitle": {"burn": true,"lang": "en" }, "link": false}
Beispielantwort (Dateidownload):
Wenn link
false
ist:
Die Antwort ist ein Dateidownload.
Wenn link
true
ist:
{ „download_link“: „http://example.com/temp_file/temp_Python_Tutorial_for_Beginners.mp4“}
200 OK
: Link oder Datei herunterladen.
400 Bad Request
: Ungültige URL oder ungültige Parameter.
500 Internal Server Error
: Serverseitiger Fehler.
POST /download/<resolution>
Beschreibung: Lädt YouTube-Inhalte mit einer bestimmten Auflösung herunter.
Anfragetext:
{ "url": "https://youtube.com/watch?v=dQw4w9WgXcQ", "bitrate": "128kbps", "subtitle": {"burn": true,"lang": "en" }, "link": false}
Beispielantwort (Dateidownload):
Wenn link
false
ist:
Die Antwort ist ein Dateidownload.
Wenn link
true
ist:
{ „download_link“: „http://example.com/temp_file/temp_Python_Tutorial_360p.mp4“}
200 OK
: Link oder Datei herunterladen.
400 Bad Request
: Ungültige Auflösung, Bitrate oder URL.
500 Internal Server Error
: Serverseitiger Fehler.
POST /download_audio
Beschreibung: Lädt YouTube-Audio in höchster Qualität herunter.
Anfragetext:
{ „url“: „https://youtube.com/watch?v=dQw4w9WgXcQ“, „link“: false}
Beispielantwort (Dateidownload):
Wenn link
false
ist:
Die Antwort ist ein Dateidownload.
Wenn link
true
ist:
{ „download_link“: „http://example.com/temp_file/temp_Python_Tutorial.mp3“}
200 OK
: Link oder Datei herunterladen.
400 Bad Request
: Ungültige URL.
500 Internal Server Error
: Serverseitiger Fehler.
POST /download_audio/<bitrate>
Beschreibung: Lädt YouTube-Audio mit einer bestimmten Bitrate herunter.
Anfragetext:
{ „url“: „https://youtube.com/watch?v=dQw4w9WgXcQ“, „link“: false}
Beispielantwort (Dateidownload):
Wenn link
false
ist:
Die Antwort ist ein Dateidownload.
Wenn link
true
ist:
{ „download_link“: „http://example.com/temp_file/temp_Python_Tutorial_48kbps.mp3“}
200 OK
: Link oder Datei herunterladen.
400 Bad Request
: Ungültige Bitrate oder URL.
500 Internal Server Error
: Serverseitiger Fehler.
GET /captions/<lang>
Beschreibung: Ruft Untertitel für ein YouTube-Video ab.
Abfrageparameter:
url
: Die URL des YouTube-Videos.
Beispielanfrage:
GET /captions/en?url=https://youtube.com/watch?v=dQw4w9WgXcQ
Beispielantwort:
{ „caption“: „Normalerweise sind es meine Kinder, die Sachen kaputt machen, und ich bin derjenige, der sie reparieren darf, aber wenn Korrosion in meiner selbstgebauten Poolwasserkühlung auftritt“, „caption_json“: [ { "duration": 5.679, "start": 0.12, "text": "normalerweise sind es meine Kinder, die Sachen kaputt machen und"}, { „duration“: 5.919, „start“: 2.72, „text“: „Ich bin derjenige, der es reparieren darf, aber wann“}, { „duration“: 6.201, „start“: 5.799, „text“: „Korrosion in meiner DIY-Poolwasserkühlung“} ], „file“: „http://youtube-dl-api.frii.site/temp_file/I%20broke%20my%20son's%20gaming%20PC%20and%20now%20I%E2%80%99m%20making%20him %20fix%20it.srt", "lang": "Englisch (automatisch generiert)", "lang_code": "en"}
200 OK
: Untertiteldaten.
400 Bad Request
: Ungültige URL oder ungültiger Sprachcode.
500 Internal Server Error
: Serverseitiger Fehler.
GET /temp_file/<filename>
Beschreibung: Ruft eine temporäre Datei ab.
Parameter:
filename
: Der Name der Datei.
Beispielanfrage:
GET /temp_file/temp_Python_Tutorial_for_Beginners.mp4
Beispielantwort:
Wenn die Datei vorhanden ist, erfolgt als Antwort der Dateidownload.
Wenn die Datei nicht existiert:
{ „error“: „Datei nicht gefunden“}
200 OK
: Datei-Download.
404 Not Found
: Datei nicht gefunden.
Um die API auszuführen, verwenden Sie:
Python main.py
Temporäre Dateien löschen: Die Anwendung plant eine Aufgabe zum Löschen temporärer Dateien, die älter als 24 Stunden sind.
Überprüfen Sie app.log
auf detaillierte Fehlermeldungen.
Stellen Sie sicher, dass TEMP_DIR
über die entsprechenden Berechtigungen verfügt.
Validieren Sie YouTube-URLs und -Parameter in API-Anfragen.
Dieses Projekt ist unter der AGPL-3-Lizenz lizenziert. Einzelheiten finden Sie in der LICENSE
Datei.