! 참고 읽어보기는 아직 업데이트되지 않았습니다.
YouTube 비디오 및 오디오 다운로드, 비디오 메타데이터 검색 및 캡션 처리를 위한 Quart 기반 API입니다. 이 API를 사용하면 프로그래밍 방식으로 YouTube 콘텐츠와 상호작용할 수 있으며, 백그라운드 작업을 활용하여 임시 파일을 관리하고 효율적인 다운로드를 제공할 수 있습니다.
비디오 및 오디오 다운로드: 지정된 해상도와 비트 전송률로 콘텐츠를 검색합니다.
비디오 메타데이터 검색: 제목, 조회수, 채널 정보 등의 세부정보를 가져옵니다.
캡션 처리: SRT 형식으로 캡션을 가져오고 저장합니다.
저장 공간 확인: 다운로드하기 전에 충분한 저장 공간을 확보하세요.
파이썬 3.7+
FFmpeg
requirements.txt 종속성
저장소 복제
자식 클론 https://github.com/DannyAkintunde/YouTube-dl-apicd Youtube-dl-api
설치 스크립트 실행
install.sh 스크립트를 실행하여 Python 종속 항목 및 시스템 패키지를 설치합니다.
chmod +x install.sh ./install.sh
이 스크립트는 다음을 수행합니다.
requirements.txt 에 나열된 Python 종속성을 설치합니다.
패키지 목록 업데이트
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 : 구매 주문을 위한 토큰( 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' ).
GET /ping
설명: API 상태를 확인합니다.
응답:
{ "메시지": "퐁"} 200 OK : {"message": "pong"}
GET /search
설명: 쿼리를 기반으로 YouTube 동영상을 검색합니다.
쿼리 매개변수:
q 또는 query : 검색어입니다.
예시 요청:
GET /search?q=파이썬+튜토리얼
예시 응답:
{
{ "길이": 20, "결과": [
{ "accessibility": {"duration": "6시간 14분 7초","title": "Python 튜토리얼 - Mosh 프로그래밍을 통한 초보자를 위한 Python 전체 과정 조회수 41,059,791회 5년 전 6시간 14분" } , "채널": {"id": "UCWv7vMbMWH4-V0ZXdmDpPBA","link": "https://www.youtube.com/channel/UCWv7vMbMWH4-V0ZXdmDpPBA","name": "Mosh를 사용한 프로그래밍","thumbnails": [
{"높이": 68,"url": "https://yt3.ggpht.com/lCeCb47hCbXWFa0I4gi8uWDHzWSs7sjK4FDmk7lFEUMRNp6QRzIQOkwaKhwv7eNKZacRI2uR=s68-ck-c0x00ffffff-no-rj","너비": 68 }
]
}, "descriptionSnippet": [
{ "text": ""가 되세요},
{ "굵게": 참, "텍스트": "파이썬"},
{ "text": " 프로! 이 포괄적인 "},
{ "굵게": 참, "텍스트": "튜토리얼"},
{ "text": " 기초, 기계 학습 등을 다루면서 초보자부터 영웅까지 안내합니다."}
], "기간": "6:14:07", "id": "_uQrJ0TkZlc", "link": "https://www.youtube.com/watch?v=_uQrJ0TkZlc", "publishedTime": "5 년 전", "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": [
{ "높이": 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", "너비": 720}
], "title": "Python 튜토리얼 - 초보자를 위한 Python 전체 과정", "type": "video", "viewCount": {"short": "41M views","text": "41,059,791 views" }
}//...여기에 더 많은 결과가 있습니다
], "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 : YouTube 동영상의 URL입니다.
예시 요청:
GET /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": "Rick Astley의 "Never Gonna Give You Up" 공식 비디오. nn새 앨범 'Are We There Yet?' 지금 출시되었습니다: 여기에서 다운로드하세요: https://RickAstley.lnk.to/AreWeThereYetFA/itunesnn "Never Gonna Give You Up"은 1987년 7월 출시되어 전 세계적으로 큰 성공을 거두었으며 Rick의 모국인 영국과 미국을 포함한 25개국 차트 1위를 차지했습니다. US Billboard Hot 100. 또한 1988년 Brit Award for Best 싱글을 수상했습니다. Stock Aitken과 Waterman은 리드오프 싱글이자 리드였던 트랙을 작곡하고 프로듀싱했습니다. Rick의 데뷔 LP "Whenever You Need Somebody"의 트랙입니다. 앨범 자체는 영국 1위였으며 전 세계적으로 1,500만 장 이상 판매되었습니다.nn 전설적인 비디오는 나중에 할리우드 블록버스터를 만든 Simon West가 감독했습니다. Con Air, Lara Croft – Tomb Raider 및 The Expendables 2 등. 이 동영상은 2021년 7월 28일에 YouTube 조회수 10억 회를 돌파했습니다.nn공식 Rick Astley YouTube 채널 구독: https://RickAstley.lnk.to/YTSubIDnnRick 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/TikTokIDnnRick Astley 듣기:nSpotify: https://RickAstley.lnk.to/SpotifyID nApple 뮤직: https://RickAstley.lnk.to/AppleMusicID nAmazon 뮤직: https:/ /RickAstley.lnk.to/AmazonMusicID nDeezer: https://RickAstley.lnk.to/DeezerID nn가사:nWe're no strangers to loven당신은 규칙을 알고 있고 나도 그렇습니다.내가 생각하는 건 완전한 헌신이라고 생각합니다.다른 어떤 남자한테도 이런 걸 얻을 수는 없을 거에요nn난 그냥 내가 어떻게 하는지 말해주고 싶어요. 내 기분은너를 이해시켜야 해너를 포기하지 않을 거야너를 결코 실망시키지 않을 거야네를 돌아다니거나 버리지 않을 거야너를 울게 만들지 않을 거야네 말을 하지 않을 거야 작별 인사 절대 거짓말 안 해서 널 다치게 하지 않을 거야nn우린 너무 오랫동안 알고 지냈어n네 마음은 아프지만 넌 너무 부끄러워서 말할 수 없어n속으로는 우리 둘 다 무슨 일이 일어나고 있는지 알고 있어n우리는 게임을 알고 있고 우리는 그것을 할 거야nn그리고 어떻게 나에게 묻는다면 내 기분엔네가 너무 눈이 멀어 눈에 띄지 않는다고 말하지 마세요n절대 포기하지 않을 거야n절대 실망시키지 않을 거야n절대로 뛰어다니거나 널 버리지 않을 거야결코 널 만들지 않을 거야 울지 않을 거야안녕 거짓말을 하거나 상처를 주지 않을 거야#RickAstley #NeverGonnaGiveYouUp #WheneverYouNeedSomebody #OfficialMusicVideo", "id": "dQw4w9WgXcQ", "keywords": ["rick astley","Never Gonna Give You Up","ngyu" ,"Never got give you 가사","릭 롤드","릭 Roll","rick astley 공식","rickrolled","Fortnite 노래","Fortnite 이벤트","Fortnite 댄스","fortnite는 결코 당신을 포기하지 않을 것입니다","rick Roll","rickrolling","rick Rolling" ,"결코 포기하지 않을 것입니다","80년대 음악","rick astley new","애니메이션 비디오","rickroll","밈 노래","결코 포기하지 않을 것입니다 가사","Rick Astley 2022","Never Gon Let You Down","애니메이션","Rick Rolls 2022","Never Gon Give You Up Karaoke"
], "길이": 212, "publish_date": null, "해상도": ["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 ( 공식 뮤직 비디오)", "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=ALXGFTLtpYeBi-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=만료%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=ALXGFTLtpYeBi-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=만료%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 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=ALXGFTLtpYeBi-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",
"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=ALXLXGFTLtpYeBi-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=만료%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=ALXXGFRb9LWg32JPSnGMKJTLm8K3ulHeoFqy6jW98J3ow17XhWM6hHiFPFeuDi2q4X9h4Fb 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"
}
}, "조회수": 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"
}, "링크": 거짓}응답 예(파일 다운로드):
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", "bitrate": "128kbps", "subtitle": {"burn": true,"lang": "en"
}, "링크": 거짓}응답 예(파일 다운로드):
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 : 서버측 오류입니다.
POST /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 : 서버측 오류입니다.
GET /captions/<lang>
설명: YouTube 동영상의 캡션을 검색합니다.
쿼리 매개변수:
url : YouTube 동영상의 URL입니다.
요청 예시:
GET /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": "ko"} 200 OK : 캡션 데이터입니다.
400 Bad Request : 잘못된 URL 또는 언어 코드입니다.
500 Internal Server Error : 서버측 오류입니다.
GET /temp_file/<filename>
설명: 임시 파일을 검색합니다.
매개변수:
filename : 파일의 이름입니다.
요청 예시:
GET /temp_file/temp_Python_Tutorial_for_Beginners.mp4
예시 응답:
파일이 존재하는 경우 응답은 파일 다운로드입니다.
파일이 존재하지 않는 경우:
{ "오류": "파일을 찾을 수 없습니다"} 200 OK : 파일 다운로드.
404 Not Found : 파일을 찾을 수 없습니다.
API를 실행하려면 다음을 사용하세요.
파이썬 메인.py
임시 파일 지우기: 애플리케이션은 24시간이 지난 임시 파일을 지우는 작업을 예약합니다.
자세한 오류 메시지는 app.log 확인하세요.
TEMP_DIR 에 적절한 권한이 있는지 확인하세요.
API 요청에서 YouTube URL 및 매개변수의 유효성을 검사합니다.
이 프로젝트는 AGPL-3 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.