- note readme ยังไม่ได้รับการอัปเดต
API แบบควอร์ตสำหรับการดาวน์โหลดวิดีโอและเสียง YouTube การดึงข้อมูลเมตาของวิดีโอ และการจัดการคำบรรยาย API นี้ช่วยให้คุณโต้ตอบกับเนื้อหา YouTube โดยทางโปรแกรม โดยใช้ประโยชน์จากงานเบื้องหลังเพื่อจัดการไฟล์ชั่วคราวและให้การดาวน์โหลดที่มีประสิทธิภาพ
ดาวน์โหลดวิดีโอและเสียง: ดึงเนื้อหาที่มีความละเอียดและบิตเรตที่ระบุ
ดึงข้อมูลเมตาของวิดีโอ: รับรายละเอียด เช่น ชื่อ การดู และข้อมูลช่อง
จัดการคำบรรยาย: ดึงข้อมูลและบันทึกคำบรรยายในรูปแบบ SRT
ตรวจสอบพื้นที่เก็บข้อมูล: ตรวจ สอบให้แน่ใจว่ามีพื้นที่เก็บข้อมูลเพียงพอก่อนที่จะดาวน์โหลด
ไพธอน 3.7+
FFmpeg
การพึ่งพา requirements.txt
โคลนพื้นที่เก็บข้อมูล
โคลนคอมไพล์ https://github.com/DannyAkintunde/YouTube-dl-apicd Youtube-dl-api
เรียกใช้สคริปต์การติดตั้ง
รันสคริปต์ install.sh
เพื่อติดตั้งการพึ่งพา Python และแพ็กเกจระบบ:
chmod +x ติดตั้ง.sh ./install.sh
สคริปต์นี้จะ:
ติดตั้งการพึ่งพา Python ที่แสดงอยู่ใน requirements.txt
อัพเดตรายการแพ็คเกจ
ติดตั้ง FFmpeg
ตรวจสอบการติดตั้ง FFmpeg
ปรับการตั้งค่าในไฟล์ settings.py
:
DEBUG
: เปิดหรือปิดใช้งานโหมดดีบัก (ค่าเริ่มต้น: True
)
PROXY
: กำหนดค่าพรอกซีในรูปแบบ http_proxy,https_proxy
AUTH
: กำหนดค่าการตรวจสอบสิทธิ์ (ค่าเริ่มต้น: False
)
ACCESS_TOKEN
: โทเค็นสำหรับการเข้าถึงทรัพยากรที่ได้รับการป้องกัน (จำเป็นหาก AUTH
เป็น True
)
REFRESH_TOKEN
: โทเค็นสำหรับการรีเฟรชการเข้าถึง (จำเป็นหาก AUTH
เป็น True
)
EXPIRES
: เวลาหมดอายุสำหรับโทเค็นการเข้าถึง (จำเป็นหาก AUTH
เป็น True
)
VISITOR_DATA
: ข้อมูลสำหรับการติดตามผู้เยี่ยมชม (จำเป็นหาก AUTH
เป็น True
)
PO_TOKEN
: Token สำหรับใบสั่งซื้อ (จำเป็นหาก AUTH
เป็น True
)
MAX_DOWNLOAD_SIZE
: ขนาดไฟล์สูงสุดสำหรับการดาวน์โหลด (ค่าเริ่มต้น: 2 GiB
)
MAX_SEARCH_AMOUNT
: จำนวนผลการค้นหาวิดีโอสูงสุด (ค่าเริ่มต้น: 25
)
MIN_SEARCH_AMOUNT
: จำนวนผลการค้นหาวิดีโอขั้นต่ำ (ค่าเริ่มต้น: 2
)
DEFAULT_SEARCH_AMOUNT
: จำนวนผลการค้นหาวิดีโอเริ่มต้น (ค่าเริ่มต้น: 20
)
EXPIRATION_DELAY
: ความล่าช้าในการหมดอายุไฟล์ชั่วคราว (ค่าเริ่มต้น: 1800 seconds
)
TEMP_DIR
: ไดเร็กทอรีสำหรับจัดเก็บไฟล์ชั่วคราว (ค่าเริ่มต้น: 'temp_files'
)
AUTH_DIR
: เส้นทางในการบันทึกไฟล์การรับรองความถูกต้อง (ค่าเริ่มต้น: 'auth'
)
AUTH_FILE_NAME
: ชื่อของไฟล์การตรวจสอบสิทธิ์ (ค่าเริ่มต้น: 'temp.json'
)
CODECS
: รายการตัวแปลงสัญญาณวิดีโอและเสียงที่จะใช้ (ค่าเริ่มต้น: 'avc1,aac'
)
รับ /ping
คำอธิบาย: ตรวจสอบสถานะ API
การตอบสนอง:
{ "ข้อความ": "ปอง"}
200 OK
: {"message": "pong"}
รับ /search
คำอธิบาย: ค้นหาวิดีโอ YouTube ตามคำค้นหา
พารามิเตอร์การค้นหา:
q
หรือ query
: คำค้นหา
คำขอตัวอย่าง:
GET /search?q=python+tutorial
ตัวอย่างคำตอบ:
- { "ความยาว": 20, "ผลลัพธ์": [ { "การเข้าถึง": {"ระยะเวลา": "6 ชั่วโมง 14 นาที 7 วินาที", "หัวข้อ": "บทช่วยสอน Python - หลักสูตรเต็ม Python สำหรับผู้เริ่มต้นโดยการเขียนโปรแกรมด้วย Mosh การดู 41,059,791 ครั้ง 5 ปีที่แล้ว 6 ชั่วโมง 14 นาที" } , "ช่อง": {"id": "UCWv7vMbMWH4-V0ZXdmDpPBA","ลิงก์": "https://www.youtube.com/channel/UCWv7vMbMWH4-V0ZXdmDpPBA", "ชื่อ": "การเขียนโปรแกรมด้วย Mosh", "ภาพขนาดย่อ": [ {"ความสูง": 68,"url": "https://yt3.ggpht.com/lCeCb47hCbXWFa0I4gi8uWDHzWSs7sjK4FDmk7lFEUMRNp6QRzIQOkwaKhwv7eNKZacRI2uR=s68-ck-c0x00ffffff-no-rj","width": 68 } - }, "คำอธิบายตัวอย่าง": [ { "text": "มาเป็น "}, { "ตัวหนา": จริง "ข้อความ": "หลาม"}, { "text": " pro! ครอบคลุมนี้ "}, { "ตัวหนา": จริง "ข้อความ": "บทช่วยสอน"}, { "text": " พาคุณตั้งแต่เริ่มต้นไปจนถึงฮีโร่ ครอบคลุมพื้นฐาน การเรียนรู้ของเครื่อง และ ..."} ], "ระยะเวลา": "6:14:07", "id": "_uQrJ0TkZlc", "link": "https://www.youtube.com/watch?v=_uQrJ0TkZlc", "publishedTime": "5 ปีที่แล้ว", "richThumbnail": {"ความสูง": 180,"url": "https://i.ytimg.com/an_webp/_uQrJ0TkZlc/mqdefault_6s.webp?du=3000&sqp=CLf547cG&rs=AOn4CLCAcnB5okiLttIEMkLM9bb-3w28AQ","width": 320 }, "shelfTitle": null, "ภาพขนาดย่อ": [ { "ความสูง": 202, "url": "https://i.ytimg.com/vi/_uQrJ0TkZlc/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCQfkbApoaN-_QBOuiyHzWJOiziEA", "ความกว้าง": 360}, { "ความสูง": 404, "URL": "https://i.ytimg.com/vi/_uQrJ0TkZlc/hq720.jpg?sqp=-oaymwEcCNAFEJQDSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCpUFKfUMVNbg8mqTcZ8UdSUjpilw", "width": 720} ], "title": "บทช่วยสอน Python - หลักสูตรเต็ม Python สำหรับผู้เริ่มต้น", "type": "video", "viewCount": {"short": "41 ล้านวิว", "text": "การดู 41,059,791 ครั้ง" } }//...ผลลัพธ์เพิ่มเติมที่นี่ ], "search": "บทช่วยสอน Python", "search_id": "00b5a31c-30d7-4d96-92e5-42b871062bca", "search_suggestions": ["บทช่วยสอน Python", "บทช่วยสอน Python สำหรับผู้เริ่มต้น", "บทช่วยสอน Python 2024" - -
200 OK
: ผลการค้นหา
400 Bad Request
: พารามิเตอร์การสืบค้นหายไปหรือไม่ถูกต้อง
500 Internal Server Error
: ข้อผิดพลาดฝั่งเซิร์ฟเวอร์
รับ /info
คำอธิบาย: ดึงข้อมูลเมตาสำหรับวิดีโอ YouTube
พารามิเตอร์การค้นหา:
url
: URL ของวิดีโอ YouTube
คำขอตัวอย่าง:
รับ /info?url=https://youtube.com/watch?v=dQw4w9WgXcQ
ตัวอย่างคำตอบ:
{ "ผู้เขียน": "Rick Astley", "บิตเรต": ["160kbps", "128kbps", "70kbps", "50kbps" ], "channel_id": "UCuAXFkgsw1L7xaCfnd5JJOw", "channel_url": "https://www.youtube.com/channel/UCuAXFkgsw1L7xaCfnd5JJOw", "description": "วิดีโออย่างเป็นทางการสำหรับ “Never Gonna Give You Up” โดย Rick Astley nnอัลบั้มใหม่ 'Are We There Yet?' วางจำหน่ายแล้ว: ดาวน์โหลดที่นี่: https://RickAstley.lnk.to/AreWeThereYetFA/itunesnn “Never Gonna Give You Up” เป็นเพลงที่ได้รับความนิยมไปทั่วโลกโดยออกฉายในเดือนกรกฎาคม พ.ศ. 2530 โดยติดอันดับชาร์ตใน 25 ประเทศ รวมถึงสหราชอาณาจักรบ้านเกิดของ Rick และ Billboard Hot 100 ของสหรัฐอเมริกา นอกจากนี้ยังได้รับรางวัล Brit Award สาขาซิงเกิลยอดเยี่ยมในปี 1988 Stock Aitken และ Waterman เขียนและอำนวยการสร้างเพลงซึ่งขึ้นนำ ซิงเกิลและเพลงนำจากแผ่นเสียงเปิดตัวของ Rick "Whenever You Need Somebody" อัลบั้มนี้เป็นอัลบั้มอันดับหนึ่งของสหราชอาณาจักรและมียอดขายมากกว่า 15 ล้านชุดทั่วโลก วิดีโอระดับตำนานนี้กำกับโดย Simon West ซึ่งต่อมาเป็นผู้จัดทำ ภาพยนตร์ฮอลลีวูดชื่อดังอย่าง Con Air, Lara Croft – Tomb Raider และ The Expendables 2 วิดีโอดังกล่าวมียอดวิว YouTube ทะลุ 1 พันล้านครั้งในวันที่ 28 กรกฎาคม 2021 ติดตาม Rick Astley YouTube อย่างเป็นทางการ ช่องทาง: https://RickAstley.lnk.to/YTSubIDnnFollow Rick Astley:nFacebook: https://RickAstley.lnk.to/FBFollowID nTwitter: https://RickAstley.lnk.to/TwitterID nInstagram: https://RickAstley. lnk.to/InstagramID nเว็บไซต์: https://RickAstley.lnk.to/storeID nTikTok: https://RickAstley.lnk.to/TikTokIDnnฟัง Rick Astley: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:nเราไม่ใช่คนแปลกหน้าสำหรับความรัก คุณรู้กฎเกณฑ์ และ InA ก็ทำตามคำมั่นสัญญาอย่างเต็มที่เช่นกัน นั่นคือสิ่งที่ฉันคิดไว้ คุณจะไม่ได้รับสิ่งนี้จากผู้ชายคนอื่น ฉันแค่อยากจะบอกคุณว่าฉันจะทำยังไง 'ฉันรู้สึก ต้องทำให้คุณเข้าใจ จะไม่ยอมแพ้ จะไม่ทำให้คุณผิดหวัง จะไม่วิ่งไปรอบๆ และทิ้งคุณไว้ จะไม่ทำให้คุณร้องไห้ ไม่เคยจะพูด ลาก่อน จะไม่โกหกและทำร้ายเธอ เรารู้จักกันมานาน หัวใจเธอเจ็บปวดแต่เธออายเกินกว่าจะพูด ข้างในเราทั้งคู่รู้ดีว่าเกิดอะไรขึ้น เรารู้จักเกมนี้ และเราจะเล่นมัน และถ้าคุณถามฉันว่าเป็นยังไง ฉันรู้สึก อย่าบอกนะว่าคุณตาบอดเกินกว่าจะมองเห็นได้ ไม่เคยยอมแพ้ ไม่เคยทำให้คุณผิดหวัง ไม่เคยวิ่งไปรอบๆ และทิ้งคุณไป ไม่เคยจะทำให้คุณผิดหวัง ร้องไห้อย่าบอกลาไม่เคยโกหกและทำร้ายคุณ #RickAstley #NeverGonnaGiveYouUp #WheneverYouNeedSomebody #OfficialMusicVideo", "id": "dQw4w9WgXcQ", "keywords": ["rick astley", "Never Gonna Give You Up", "nggyu" ,"จะไม่ยอมแพ้เนื้อเพลง", "rick rolled", "Rick Roll", "rick astley" อย่างเป็นทางการ", "rickrolled", "เพลงของ Fortnite", "กิจกรรมของ Fortnite", "การเต้นรำของ Fortnite", "fortnite จะไม่มีวันยอมแพ้", "rick roll", "rickrolling", "rickrolling", "จะไม่มีวันยอมแพ้" up", "เพลงยุค 80", "rick astley new", "วิดีโอแอนิเมชั่น", "rickroll", "เพลงมีม", "จะไม่ยอมแพ้เนื้อเพลง", "Rick Astley 2022", "จะไม่ทำให้คุณผิดหวัง" ,"แอนิเมชัน", "ริค โรลส์ 2022", "จะไม่มีวันให้คุณ" อัพคาราโอเกะ" ], "ความยาว": 212, "publish_date": null, "ความละเอียด": ["1080p", "720p", "480p", "360p", "240p", "144p" ], "คำบรรยาย": ["en"], "thumbnail_url": "https://i.ytimg.com/vi/dQw4w9WgXcQ/maxresdefault.jpg", "title": "Rick Astley - Never Gonna Give You Up ( มิวสิกวิดีโออย่างเป็นทางการ)", "url": {"audio": { "128kbps": "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=ใช่&clen=3433 605&dur=212.091&lmt=1717047821006373&mt=1727598776&fvip=4&keepalive=ใช่&fexp=51299 152%2C51300760&c=เว็บ&sefc=1&txp=4532434&n=PBkHSDz29n0qdg&sparams=หมดอายุ%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", "160kbps": "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=ใช่&fexp=5 1299152%2C51300760&c=เว็บ&sefc=1&txp=4532434&n=PBkHSDz29n0qdg&sparams=หมดอายุ%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&หม้อ=MnRLRTG8kBazMEt9RGwvFceBv40K ENnpHtlDrguGDKni7A-azrTC0L_GYy7Pz-fH6mqHFsS7CmHJ3c3g9Y6z-RqqRsbYhMeXWbiXmyTXLpKRX ตกลงQFbgSjNeRohf9afkINW7suFEVcBe0OedclwPPNYTqkcXvKA%3D%3D&sig=AJfQdSswRAIgRgmVXNz6G XZTa8wFsnP1g7VTKkAinxQ2MeL4L7_PpUUCIHgo1DpARUjGV3QpFS06_Q9xdzrUmYnQWyWm0VhX-HFS", "50kbps": "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=ใช่&fexp=5129 9152%2C51300760&c=เว็บ&sefc=1&txp=4532434&n=PBkHSDz29n0qdg&sparams=หมดอายุ%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", "70kbps": "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=ใช่&fexp= 51299152%2C51300760&c=WEB&sefc=1&txp=4532434&n=PBkHSDz29n0qdg&sparams=หมดอายุ%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" }, "วิดีโอ": { "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&หนู 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%2Crateบายพาส%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 ตกลงQFbgSjNeRohf9afkINW7suFEVcBe0OedclwPPNYTqkcXvKA%3D%3D&sig=AJfQdSswRAIgfjB7dIm2 WxtJENp3UQMt-R6AOxAG42tSR_R8AY1VOjQCIHZTT43adN0Wy7XAicHL3yPavg78sous0M4orEjRw98v" - }, "จำนวนการดู": 1576357050, "watch_url": "https://youtube.com/watch?v=dQw4w9WgXcQ"}
200 OK
: ข้อมูลเมตาของวิดีโอ
400 Bad Request
: URL ไม่ถูกต้องหรือพารามิเตอร์หายไป
500 Internal Server Error
: ข้อผิดพลาดฝั่งเซิร์ฟเวอร์
โพสต์ /download
คำอธิบาย: ดาวน์โหลดเนื้อหา YouTube ด้วยความละเอียดสูงสุดที่มีอยู่
เนื้อหาคำขอ:
{ "url": "https://youtube.com/watch?v=dQw4w9WgXcQ", "คำบรรยาย": {"burn": true,"lang": "en" }, "ลิงก์": false}
ตัวอย่างการตอบกลับ (ดาวน์โหลดไฟล์):
หาก link
เป็น false
:
คำตอบจะเป็นการดาวน์โหลดไฟล์
หาก link
เป็น true
:
{ "download_link": "http://example.com/temp_file/temp_Python_Tutorial_for_Beginners.mp4"}
200 OK
: ดาวน์โหลดลิงค์หรือไฟล์
400 Bad Request
: URL หรือพารามิเตอร์ไม่ถูกต้อง
500 Internal Server Error
: ข้อผิดพลาดฝั่งเซิร์ฟเวอร์
POST /download/<resolution>
คำอธิบาย: ดาวน์โหลดเนื้อหา YouTube ด้วยความละเอียดที่กำหนด
เนื้อหาคำขอ:
{ "url": "https://youtube.com/watch?v=dQw4w9WgXcQ", "บิตเรต": "128kbps", "คำบรรยาย": {"เบิร์น": จริง,"lang": "en" }, "ลิงก์": false}
ตัวอย่างการตอบกลับ (ดาวน์โหลดไฟล์):
หาก link
เป็น false
:
คำตอบจะเป็นการดาวน์โหลดไฟล์
หาก link
เป็น true
:
{ "download_link": "http://example.com/temp_file/temp_Python_Tutorial_360p.mp4"}
200 OK
: ดาวน์โหลดลิงค์หรือไฟล์
400 Bad Request
: ความละเอียด บิตเรต หรือ URL ไม่ถูกต้อง
500 Internal Server Error
: ข้อผิดพลาดฝั่งเซิร์ฟเวอร์
โพสต์ /download_audio
คำอธิบาย: ดาวน์โหลดเสียง YouTube ด้วยคุณภาพสูงสุด
เนื้อหาคำขอ:
{ "url": "https://youtube.com/watch?v=dQw4w9WgXcQ", "ลิงก์": false}
ตัวอย่างการตอบกลับ (ดาวน์โหลดไฟล์):
หาก link
เป็น false
:
คำตอบจะเป็นการดาวน์โหลดไฟล์
หาก link
เป็น true
:
{ "download_link": "http://example.com/temp_file/temp_Python_Tutorial.mp3"}
200 OK
: ดาวน์โหลดลิงค์หรือไฟล์
400 Bad Request
: URL ไม่ถูกต้อง
500 Internal Server Error
: ข้อผิดพลาดฝั่งเซิร์ฟเวอร์
POST /download_audio/<bitrate>
คำอธิบาย: ดาวน์โหลดเสียง YouTube ด้วยบิตเรตที่ระบุ
เนื้อหาคำขอ:
{ "url": "https://youtube.com/watch?v=dQw4w9WgXcQ", "ลิงก์": false}
ตัวอย่างการตอบกลับ (ดาวน์โหลดไฟล์):
หาก link
เป็น false
:
คำตอบจะเป็นการดาวน์โหลดไฟล์
หาก link
เป็น true
:
{ "download_link": "http://example.com/temp_file/temp_Python_Tutorial_48kbps.mp3"}
200 OK
: ดาวน์โหลดลิงค์หรือไฟล์
400 Bad Request
: บิตเรตหรือ URL ไม่ถูกต้อง
500 Internal Server Error
: ข้อผิดพลาดฝั่งเซิร์ฟเวอร์
รับ /captions/<lang>
คำอธิบาย: ดึงคำอธิบายสำหรับวิดีโอ YouTube
พารามิเตอร์การค้นหา:
url
: URL ของวิดีโอ YouTube
คำขอตัวอย่าง:
รับ /captions/en?url=https://youtube.com/watch?v=dQw4w9WgXcQ
ตัวอย่างคำตอบ:
{ "caption": "โดยปกติแล้วเด็กๆ ของฉันต่างหากที่ทำข้าวของพัง และฉันเป็นคนซ่อมมันแต่เมื่อมีการกัดกร่อนในน้ำหล่อเย็นในสระน้ำ DIY ของฉัน", "caption_json": [ { "duration": 5.679, "start": 0.12, "text": "โดยปกติแล้วเป็นลูกๆ ของฉันที่ทำของพังและ"}, { "duration": 5.919, "start": 2.72, "text": "ฉันเป็นคนแก้ไข แต่เมื่อไร"}, { "duration": 6.201, "start": 5.799, "text": "การกัดกร่อนในการระบายความร้อนด้วยน้ำในสระน้ำ DIY ของฉัน"} ], "ไฟล์": "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": "ภาษาอังกฤษ (สร้างอัตโนมัติ)", "lang_code": "en"}
200 OK
: ข้อมูลคำบรรยาย
400 Bad Request
: URL หรือรหัสภาษาไม่ถูกต้อง
500 Internal Server Error
: ข้อผิดพลาดฝั่งเซิร์ฟเวอร์
รับ /temp_file/<filename>
คำอธิบาย: ดึงไฟล์ชั่วคราว
พารามิเตอร์:
filename
: ชื่อของไฟล์
คำขอตัวอย่าง:
รับ /temp_file/temp_Python_Tutorial_for_Beginners.mp4
ตัวอย่างคำตอบ:
หากมีไฟล์อยู่ การตอบกลับจะเป็นการดาวน์โหลดไฟล์
หากไม่มีไฟล์:
{ "ข้อผิดพลาด": "ไม่พบไฟล์"}
200 OK
: ดาวน์โหลดไฟล์
404 Not Found
: ไม่พบไฟล์
หากต้องการเรียกใช้ API ให้ใช้:
หลาม main.py
การล้างไฟล์ชั่วคราว: แอปพลิเคชันกำหนดเวลางานเพื่อล้างไฟล์ชั่วคราวที่เก่ากว่า 24 ชั่วโมง
ตรวจสอบ app.log
เพื่อดูข้อความแสดงข้อผิดพลาดโดยละเอียด
ตรวจสอบให้แน่ใจว่า TEMP_DIR
มีสิทธิ์ที่เหมาะสม
ตรวจสอบ URL และพารามิเตอร์ของ YouTube ในคำขอ API
โครงการนี้ได้รับอนุญาตภายใต้ใบอนุญาต AGPL-3 ดูไฟล์ LICENSE
สำหรับรายละเอียด