IBM®
메인 컨텐츠로 가기
    Korea [국가변경]    이용약관
 
 
   
        제품    서비스 & 솔루션    고객지원 & 다운로드    회원 서비스    
메인 컨텐츠로 가기

한국 developerWorks  >  오픈 소스  >

PHP를 이용하여 자신만의 온-디맨드 비디오 사이트 구축하기, Part 2: 기본 구조

오픈 소스 도구를 이용하여 엔터프라이즈급으로도 쓸 수 있는 온-디맨드 비디오 라이브러리를 만들자

developerWorks
9 페이지 중 1 페이지Go to the next page

문서 옵션

샘플 코드


제안 및 의견
피드백

튜토리얼 평가

이 컨텐츠를 개선하기 위한 도움을 주십시오.


난이도 : 중급

Duane O'Brien, PHP 개발자, 프리랜서
Katie Horn, 개발자, 프리랜서
Will Robot, PHP 개발자, 자유기고가

2008 년 7 월 08 일

온-디맨드 비디오 사이트를 구축하는 게 복잡할 이유는 없습니다. 파일을 업로드해 사람들이 볼 수 있게끔 해주는 것입니다. 그거면 충분합니다. 하지만 비디오가 좀 많다면 좀 조직화할 방법이 필요합니다. 3부에 걸쳐 연재될 "PHP를 이용하여 자신만의 온-디맨드 비디오 사이트 구축하기" 튜토리얼에서는 웹에 최적화된 비디오를 만들어 내려면 무엇을 알아야 할지 알아볼 뿐 아니라 비디오를 조직화해서 사람들이 접근할 수 있도록 해줄 PHP 애플리케이션을 만드는 방법도 다룰 것입니다. Part 1에서는 기초 작업으로서 필수 컴포넌트를 수집한 후 설치한 다음 비디오를 모아 변환해 보았습니다. 이번 Part 2에서는 CakePHP를 사용하여 기본 애플리케이션을 빌드해 보겠습니다.

시작하기 전에

이 연재물은 개발자를 염두에 두고 썼다. 기본적으로 독자는 PHP와 웹 애플리케이션을 이용한 작업에 불편함이 없어야 한다. 이 연재물 전반에서 구태여 독자들이 전문가일 필요는 없다. 하지만 필자는 PHP 문법과 웹 애플리케이션 개념을 설명하는 데 많은 시간을 할애하진 않을 것이다. PHP든 웹 애플리케이션이든 어느 한 쪽이라도 그다지 익숙하진 않지만 배워볼 마음이 있다면 마음 놓고 지금 당장 뛰어 들도록 하자. 디지털 비디오에 대해 어느 정도 기본적으로 이해하고 있어서 나쁠 건 없다. 다만 알아야 할 필요가 있는 건 대부분 여기서 설명할 것이다.

이 연재물에 대해

Part 1에서는 필요한 것들을 한데 모아서 모은 컴포넌트를 설치한 후, 비디오를 변환한 다음 애플리케이션을 준비하는 것까지 다뤘다. 즉 Part 1에서는 기초 작업에 대해 많이 다뤘다. 디지털 비디오에 관해서도 많은 내용을 알아봤다. 이번 Part 2에서는 코딩을 위해 설정할 내용을 다룰 것이다.

Part 2에서는 업로드된 파일과 태깅(tagging)을 관리할 기초적인 애플리케이션을 만들어 본다. PHP 프레임워크, 정확히 말하면 CakePHP를 사용하여 이 작업을 하게 될 것이다. 여기서 만들어낼 애플리케이션이 또 하나의 비디오 공유 사이트가 되진 않을 것이다. 우리가 중점을 두는 것은 파일을 관리하는 방법 그리고 이 파일을 사람들이 볼 수 있도록 하는 방법이다.

Part 3에서는 다소 고급스러운 기능들을 추가하여 멋진 사용자 인터페이스를 만들어 볼 것이다. UI를 다듬어 보고, 비디오를 퍼뜨리기 위해 인기있는 비디오 공유 사이트에서 제공하는 API를 어떻게 사용할지 살펴본다. 만약 Part 1이 제대로 이해하도록 하는 데 목적을 두고 있다면 Part 2에서는 제대로 동작하는 것에 대해, 그리고 Part 3에서는 멋들어지게 하는 방법에 대해 다루는 것이라 할 수 있다.




위로


이 튜토리얼에 대해

이 튜토리얼에서는 꽤 많은 코딩 작업을 하게 된다. 애플리케이션을 시작하기 위해 CakePHP를 사용할 것이며 애플리케이션의 토대를 만들어내는 것으로 시작하게 된다. 기본적인 사용자 관리 그리고 비디오 관리 부분에 대해 철저히 알아본 후, 그리고 나서 해결해야 할 두 가지 큰 문제, 즉 파일 업로드와 비디오 플레이를 위한 OpenFLV 라이브러리 사용을 다룰 것이다. Part 1을 아직 끝내지 않았다면 이번 Part2를 시작하기 전에 다시 돌아가서 확실히 끝내고 올 필요가 있다.




위로


시스템 요구 사항

이 연재물에서 디지털 비디오를 이용해 작업하려면 몇 가지 설정할 게 있다(기본 컴포넌트 설정 방법은 여기서 다루지 않을 것이다).

  • 디지털 비디오 콘텐츠 몇 개 — 어디서 발견해 냈든, 직접 찍은 것이든, 그도 아니면 다른 데서 가져온 것이든.
  • 마이크로소프트 윈도(Microsoft® Windows®) XP 박스 — 이 연재물의 예제에서는 윈도 XP용으로 작성된 일부 소프트웨어를 사용하고 있다. 하지만 다른 운영체제가 동작중인 컴퓨터에서 비디오 편집과 변환에 익숙하다면 그렇게 해도 된다.
  • FFmpeg은 명령줄 형태로 된 오픈 소스 비디오 변환 유틸리티다.
  • 윈도용 리바 FLV 인코더 V2.0(Riva FLV Encoder V2.0 for Windows)은 처음 30일간은 무료로 쓸 수 있는 비디오 변환 유틸리티다.
  • 윈도를 제외한 그 외 플랫폼에서 이용 가능한 FLV 변환 프로그램에 대해서는 위키백과(Wikipedia)의 내용을 참조하라.
  • Red5는 자바(Java™) 기반 오픈 소스 플래시 서버다.
  • JW FLV 미디어 플레이어 V3.15는 내장 가능한 소형 플래시 미디어 플레이어다.

웹 애플리케이션을 위해선 다음 것들이 필요하다.

  • 세션(그리고 가급적이면 mod_rewrite)을 지원하는 HTTP 서버. 이 연재물은 mod_rewrite를 켠 아파치(Apache) V1.3을 이용해 작성했다.
  • CakePHP 1.2 베타 버전
  • PHP V5.1.4 이상. 시험해본 모든 프레임워크가 이 릴리스의 PHP를 필요로 하는 건 아니지만, 모든 프레임워크는 똑같은 버전의 PHP를 이용할 것이다. 이 연재물은 PHP V5.2.3을 사용하여 썼다.
  • 가급적 최신 버전의 MySQL. 몇 가지 다른 데이터베이스들을 써도 되고 지원도 되지만, 이 연재물과 샘플 애플리케이션은 MySQL V5.0.37을 사용하여 작성했다.

코딩, PHP, 데이터베이스 등에 대해 아는 게 전혀 없다면 이 연재물을 보기가 만만치 않음을 알 것이다. 우선 PHP로 웹 애플리케이션을 어떻게 작성하는지 조금이나마 알아둘 필요가 있다(각 프로젝트에 대한 링크는 글 맨 뒤 참고자료 부분을 살펴보기 바란다).




위로



9 페이지 중 1 페이지Go to the next page
    IBM 소개 개인정보 보호정책 문의