PHP에서 YouTube API를 활용하여 동영상 검색엔진 만들기

2010.03.20 20:44

온라인 동영상 공유 사이트로는 유튜브가 단연 독보적인 인기를 끌고 있습니다.
현재 viacom과 저작권과 관련하여 법정 다툼을 벌이고 있지만, 어떻게 결과가 나올지도 정말 기대가 되고 궁금합니다.

유튜브는 현재 동시대에 가장 많은 동영상을 보유한 사이트 입니다.
매일 새로 올라오는 동영상 수가 수십만 개에 이르며, 하루 페이지 조회 수만도 수십억 회에 이릅니다. 유튜브는 홈 동영상뿐만 아니라 음악 동영상, TV 쇼 클립, 개봉할 영화 예고편, 애니메이션 클립 등 온갖 동영상을 제공합니다. 사용자는 동영상에 키워드 태그를 추가할 수 있으며, 특정 시점에서 가장 인기 있는 동영상을 감상할 수도 있습니다.

유튜브가 제공하는 멋진 기능 중 하나가 유튜브 API 입니다.

YouTube API를 사용하여 언제 어느 화면에서든 YouTube 동영상을 볼 수 있습니다. 
YouTube API를 사용하는 방법도 별로 어렵지 않습니다. 또한 데이터 검색 API를 사용할 경우 개발자 키도 필요가 없습니다.

PHP를 사용하고 계신다면, 검색엔진을 만들어 보는 것도 정말 쉽고 재미 있습니다.
또한 조금만 응용을 하면, 자신이 원하는 어느 페이지에도 동영상 검색엔진과 플레이어를 넣을 수 있습니다.

이번 시간에는 PHP에 동영상 검색엔진을 설치하는 방법에 대해 알아보도록 하겠습니다.

기존에 IBM에서 작성한 메뉴얼은 2007년에 작성한 v1.0으로서 현재 적용이 되질 않습니다.

그러므로 제가 직접 설치를 해보고 현재 적용가능한 방법을 살펴 보도록 하겠습니다.


1. PHP Client Library Download (v2.0)
ZEND Framework에서 Google's Data API에 접근할 수 있는 Zend Gdata package를 다운을 받습니다.
위의 링크에서 최신 버젼으로 다운을 받습니다.


2. PHP Client Library 압축해제와 업로드
Zend Gdata package를 압축해제를 하게되면,
폴더 안에서 YouTube API에 사용할 폴더만을 찾아서 업로드를 하여 줍니다. 
library 폴더에서 Zend 폴더
demos 폴더에서 YouTubeVideoBrowser 폴더를 사용합니다.
그외에도 Google's Data API에 접근할 수 있는 다른 데모들이 많이 있습니다.
YouTubeVideoBrowser 폴더 안에 Zend 폴더를 하위로 두고 업로드 하시면 됩니다.
저도 처음에는 사용을 어떻게 할줄 몰랐었는데, YouTubeVideoBrowser 폴더의 index.php를 살펴보니 Zend 폴더만을 필요로 하더군요.
그러면 YouTube API를 활용한 검색엔진이 됩니다.
정말 쉽죠!


3.YouTube data API Video App in PHP
위의 데모는 오직 검색엔진만 됩니다. 또 다른 Demo는 검색엔진 뿐만아니라 동영상을 업로드도 할 수 있습니다.
demos 폴더에서 YouTubeVideoApp 폴더를 사용합니다.
또한 개발자 키가 여기에서는 필요 하더군요.
그런데 저는 업로드에 별다른 관심을 가지지 못해서 정확히 알지는 못합니다.
그리고 제것 뿐만 아니라 유튜브에서 제공한 샘플에서도 오류가 자주나서 검색엔진으로만 활용을 합니다. 더 자세한 정보는 여기를 참조하세요

4. 자신만의 스타일로 변경하기
YouTubeVideoBrowser 폴더의 index.php, interface.html, video_browser.css, video_browser.js 를 자신만의 스타일로 수정하여 활용을 합니다.
YouTube API Terms of Service 내에서 수정을 하도록 합니다.

아래는 제가 시간날 때 위의 데모를 가지고 수정하여 보았습니다.

My YouTube Video Browser in PHP MOVYX | WordPress | XE | TEXTTUBE

아래 YouTube API에 대해 좀 더 디테일하게 학습을 하시게 되면, 자신이 원하는 스타일로 변경 가능하게 될 것입니다. 아래 링크들을 꼭 참조하세요.

5. YouTube API에 대해 더 자세하게 배우기








현재 YouTube API를 응용해서 제작된 사이트들은 대부분 위의 library를 참조해서 만들어진
것으로 보여집니다. 관심이 있으신 분들은 도전해 보시길 권유합니다.

Who knows?

워드프레스 플러그인인 Tubepress의 매력에 반해서 제 블로그의 모든 글을 유튜브로 도배할 정도로 여기까지 오게 되었네요. 아마 계속해서 YouTube API를 학습할 것 같습니다.
그래서 앞으로는 유튜브 관련한 글들은 새롭게 도메인을 구입해서 옮겨 적을 계획입니다.

신고
  1. 유익한 정보 감사합니다.

  2. 안녕하세여 선생님

    예전에 님 블로그에서 000webhost를 배우던 기억이 납니다.

    그때 인사를 드렸어야 하는건데..

    댓글 감사합니다.

    좋은 하루 되시길 바랍니다.

  3. 비밀댓글입니다

  4. 점검사항 :
    1.리눅스 기반
    2.도메인주소와 호스팅받는 주소가 같아야 함
    <파란닷컴에서는 오류가 발생합니다.>
    http://paran.com

    3. 호환이 가장 좋은 호스팅케이알 추천합니다.
    http://hosting.kr

  5. 비밀댓글입니다

  6. 저도 YouTube API는

    http://code.google.com/intl/ko-KR/apis/youtube/overview.html

    혼자서 독학을 했구요

    1. 영상 자동 재생은
    Player Parameter에서 &autoplay=1

    볼륨은 일반적인 플레이어는 마지막으로 영상시청시 조절한 볼륨량에 영향을 받습니다.
    크롬리스 플레이어는 사전에 조정이 가능할 듯 보입니다.
    저도 해본적은 없습니다.

    2.음성만 나오는 방법
    편법으로 할 수 있습니다.
    AS2 player 높이를 25
    AS3 player 높이를 30

    실질적으로 영상도 같이 다운로드 되지만
    보여지는 것은 하단 메뉴바만 나오게 됩니다.

    3.유튜브 API 전문가
    http://cafe.naver.com/mashupapps
    운영자분에게 물어보세요 책도 내셨던데요

  7. 코비

    음...이게 뭐에 쓰는 물건인지 ~~
    예전에 윈도우미디어플레이어를 자바스크립트로 되감기/재생/~~뭐..이런 컨트롤했었던거와 같은 맥락으로 보면 되는건지요??

  8. 위의 소스를 활용해 직접
    유튜브 비디오 웹사이트를 구축하실 수 있습니다.

    http://www.texttube.org

  9. 질문있어요!

    이거 php말고 혹시 eclipse로는 어떻게 하는지 알려주실 수 있나요?

  10. 궁금이

    안녕하세요.
    위에 처럼 해봤지만 저는 invalid response received-status 500 이란 메세지만 나오네요.. 설정부분에서 뭔가 빼고 설명을 하신건가요?

티스토리 툴바