| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 |
- 애니메이트
- MySQL
- 정부 서비스 가이드라인
- JavaScript
- virsualhost
- 우분투
- .htaccess
- 페이지전환효과
- 날짜비교
- 디지털 정부서비스ui/ux
- 구글뷰어
- 날짜변환
- 보안인증서
- SSL
- 배열
- post_type
- ip직접접근차단
- 자바스크립트
- Vanilla JS
- 비동기호출
- 우분투 npm 설치
- 리사이즈
- iframe
- 글자수제한
- 정규식
- 글자 수 제한
- JS
- Ajax
- 301 리다이렉트
- selinux
- Today
- Total
더 나은 프로그래머가 되자
유투브 동영상 썸네일 추출 YouTube Data API 본문
유투브는 YouTube Data API를 통해 유투브 동영상에 대한 각종 정보와 쎔네일을 제공하고 있습니다. 문서에 삽입된 동영상의 썸네일이 필요한 경우가 있어 이 내용을 정리합니다.
동영상 ID값으로 썸네일 추출
유투브 동영상을 공유할때 제공되는 코드들은 대표적으로 아래와 같은 두가지 방식이 자주 애용된다.
공유 : https://youtu.be/nVCubhQ454c
소스코드 : <iframe width="640" height="360" src="https://www.youtube.com/embed/nVCubhQ454c" frameborder="0" allowfullscreen></iframe>
공유의 URL에서 nVCubhQ454c 부분과 소스코드의 <iframe>의 src 속성값으로 주어진 nVCubhQ454c 가 바로 해당 동영상의 고유 ID값이다.
유투브는 해당 ID값을 기준으로 API를 통해 썸네일을 제공하게 되는데, API를 정식으로 사용하기위해서는 복잡한 절차를 따라야한다. 다만, 앞서 말했듯이 해당 ID값을 기준으로 이미 썸네일은 제공되는 상태라서 그것을 그대로 호출해 사용할 수 있다.
유투브의 썸네일 경로는 아래와 같으며 두 경로 모두 https 를 지원한다.
http://i.ytimg.com/vi/[동영상 ID값]/[이미지형식].jpg
i.ytimg.com 는 img.youtube.com 의 짧은 호스트명인데, ( i | i1 | i2 | i3 | i4 | s ).ytimg.com 으로 대체가능하며, 서버나 기타 용도를 지정하는 것 같은데 관련 정보는 찾지 못했다.
유튜브 ID값은 11자리의 문자로 고정인가?
유튜브의 ID값은 11자리의 64가지 문자를 조합하여 제공된다.
2*26 문자(대소영문자) + 10 (숫자 0~9) + 2 (특수문자 "_", "-") = 64
11자리에 각각의 문자들이 포진되면 약 64^11 = 73786976294838210000 개의 유튜브 동영상을 생성할 수 있게 되는 것이다. 물론 알고리즘에 따라 모든 조합이 사용되진 않지만 당분간은 이 11자리가 유지될 것이다.
유튜브는 공식적으로 동영상 IDs에 대한 11자리를 문서 어디에도 언급하지 않습니다. 이것은 현재 구현중인 것중에 하나일뿐이고, 이런 식으로 무기한 유지될 수도 있습니다. 그러나 우리는 그 어떤 공식적인 약속을 제공하여 초래할 위험을 감수할 수 없습니다...(중략)
유튜브 동영상과 관련된 API를 이용할때, 해당 ID값들을 추출하곤 하는데 문자열 자르기나 정규표현식을 이용해 11자리 수가 기준이 되는 방향으로 제작하면 이때문에 불안불안하다. 마땅히 다른 대안책이 있는 것도 아니고...
유투브 이미지형식
유투브 동영상은 숫자형으로 제공되는 4종류와 퀄리티를 기준으로 제공되는 5종류의 썸네일을 제공한다. 그러나 모든 동영상이 9종류의 썸네일을 제공하진 않으며, 7종류의 썸네일만은 모두 제공한다.
썸네일의 크기는 동영상의 크기에 따라 다르며, 예제에 사용된 동영상은 아래와 같다.
동영상 배경 썸네일(480x360) : 0.jpg
https://img.youtube.com/vi/nVCubhQ454c/0.jpg
동영상 시작지점 썸네일(120x90) : 1.jpg
https://img.youtube.com/vi/nVCubhQ454c/1.jpg
동영상 중간지점 썸네일(120x90) : 2.jpg
https://img.youtube.com/vi/nVCubhQ454c/2.jpg
동영상 끝지점 썸네일(120x90) : 3.jpg
https://img.youtube.com/vi/nVCubhQ454c/3.jpg
고품질 썸네일(480x360) : hqdefault.jpg
https://img.youtube.com/vi/nVCubhQ454c/hqdefault.jpg
중간품질 썸네일(320x180) : mqdefault.jpg
https://img.youtube.com/vi/nVCubhQ454c/mqdefault.jpg
보통품질 썸네일(120x90) : default.jpg
https://img.youtube.com/vi/nVCubhQ454c/default.jpg

이상의 7종류의 썸네일이 유투브 동영상에서 제공하는 기본 썸네일이고, 아래의 썸네일은 HQ 동영상에 존재하는 썸네일이다.
표준형 썸네일(640x480) : sddefault.jpg
https://img.youtube.com/vi/nVCubhQ454c/sddefault.jpg
최대 해상도 썸네일(1920x1080) : maxresdefault.jpg
https://img.youtube.com/vi/nVCubhQ454c/maxresdefault.jpg
YouTube Data API
유투브는 유투브 동영상을 이용한 애플리케이션 제작에 필요한 여러가지 정보를 제공하는 API를 제공한다. YouTube Data API (v3) 를 사용하려면 구글계정과 해당 애플리케이션을 구글에 등록해야 하고 Key 발급을 받아야 한다. 하루 몇만건 이상의 요청은 무료로 이용가능하다고 하나 경우에 따라서는 요금 지불을 묻는 메세지가 나타날 수 있다.
출처 : http://webdir.tistory.com/472
'API > 기타' 카테고리의 다른 글
| 클라우드기반 대량메일 발송 API 프링고 (0) | 2022.10.26 |
|---|---|
| 기상청 동네예보 날씨 API (0) | 2019.10.31 |
| Quandl API - 금융,주식(나스닥 등등) 데이터 파싱하기 (0) | 2017.07.03 |
| 공공데이터포털 API - 지하철 노선도 (0) | 2017.02.08 |
| 도로명주소 관련 (0) | 2014.10.15 |