 | 난이도 : 중급 Duane O'Brien (d@duaneobrien.com), PHP 개발자, 프리랜서 Katie Horn (K4@engineering.phenomenauts.com), 개발자, 프리랜서 Will Robot (willrobot@gmail.com), PHP 개발자, 자유기고가
2008 년 7 월 08 일 온-디맨드 비디오 사이트를 구축하는 게 복잡할 이유는 없습니다. 파일을 업로드해 사람들이 볼 수 있게끔 해주는 것입니다. 그거면 충분합니다. 하지만 비디오가 좀 많다면 좀 조직화할 방법이 필요합니다. 3부에 걸쳐 연재될 "PHP를 이용하여 자신만의 온-디맨드 비디오 사이트 구축하기" 튜토리얼에서는 웹에 최적화된 비디오를 만들어 내려면 무엇을 알아야 할지 알아볼 뿐 아니라 비디오를 조직화해서 사람들이 접근할 수 있도록 해줄 PHP 애플리케이션을 만드는 방법도 다룰 것입니다. Part 1에서는 기초 작업으로서 필수 컴포넌트를 수집한 후 설치한 다음 비디오를 모아 변환해 보았습니다. 이번 Part 2에서는 CakePHP를 사용하여 기본 애플리케이션을 빌드해 보겠습니다.
이 튜토리얼 내에서
이 연재물은 개발자를 염두에 두고 썼다. 기본적으로 독자는 PHP와 웹 애플리케이션을 이용한 작업에 불편함이 없어야 한다. 이 연재물 전반에서 구태여 독자들이 전문가일 필요는 없다. 하지만 필자는 PHP 문법과 웹 애플리케이션 개념을 설명하는 데 많은 시간을 할애하진 않을 것이다. PHP든 웹 애플리케이션이든 어느 한 쪽이라도 그다지 익숙하진 않지만 배워볼 마음이 있다면 마음 놓고 지금 당장 뛰어 들도록 하자. 디지털 비디오에 대해 어느 정도 기본적으로 이해하고 있어서 나쁠 건 없다. 다만 알아야 할 필요가 있는 건 대부분 여기서 설명할 것이다. 이 튜토리얼에서는 꽤 많은 코딩 작업을 하게 된다. 애플리케이션을 시작하기 위해 CakePHP를 사용할 것이며 애플리케이션의 토대를 만들어내는 것으로 시작하게 된다. 기본적인 사용자 관리 그리고 비디오 관리 부분에 대해 철저히 알아본 후, 그리고 나서 해결해야 할 두 가지 큰 문제, 즉 파일 업로드와 비디오 재생을 위한 OpenFLV 라이브러리 사용을 다룰 것이다. Part 1을 아직 끝내지 않았다면 이번 Part2를 시작하기 전에 다시 돌아가 확실히 끝내고 올 필요가 있다.
선수조건
코딩, PHP, 데이터베이스 등에 대해 아는 게 전혀 없다면 이 연재물을 보기가 만만치 않음을 알 것이다. 우선 PHP로 웹 애플리케이션을 어떻게 작성하는지 조금이나마 알아둘 필요가 있다.
시스템 필요조건
이 연재물에서 디지털 비디오를 이용해 작업하려면 몇 가지 설정할 게 있다(기본 컴포넌트 설정 방법은 여기서 다루지 않을 것이다).
- 디지털 비디오 콘텐츠 몇 개 — 어디서 발견해 냈든, 직접 찍은 것이든, 그도 아니면 다른 데서 가져온 것이든.
- 마이크로소프트 윈도(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을 사용하여 작성했다.
포맷 html
 |
| 이 문서 북마킹 하기
|
developerWorks 콘텐트를 다른 사이트에 전재하기: developerWorks 콘텐트에 대한 저작권은 IBM에 있습니다. IBM의 서면 허가나 원본 저자의 허락이 없이는 전재를 금합니다. 저희 콘텐트를 전재하시려면 IBM developerWorks 담당자 에게 문의하십시오. |  | |  |