 |
|
난이도 : 중급 Duane O'Brien, PHP 개발자, 프리랜서 Katie Horn, 개발자, 프리랜서 Will Robot, PHP 개발자, 자유기고가
2008 년 5 월 27 일 온디맨드 비디오 사이트를 구축하는 게 복잡할 이유는 없습니다. 파일을 업로드해 사람들이 볼 수 있게끔 해주는 것이면 충분합니다. 하지만 비디오가 좀 많다면 좀 조직화할 방법이 필요하게 됩니다. 3부에 걸쳐 연재될 "PHP를 이용하여 자신만의 온디맨드 비디오 사이트 구축하기" 튜토리얼에서는 웹에 최적화된 비디오를 만들어내기 무엇을 알아야 할지 알아볼 뿐 아니라 비디오를 조직화해 사람들이 접근할 수 있도록 해줄 PHP 애플리케이션을 만드는 방법도 다룰 것입니다. 이번 1부에서는 기초 작업으로 필수 컴포넌트를 수집한 후 설치한 다음 비디오를 모아 변환해 보겠습니다.
시작하기 전에
이 연재는 개발자를 염두에 두고 썼다. 기본적으로 PHP와 웹 애플리케이션을 이용한 작업에 불편함이 없어야 한다. 이 연재물 전반에서 구태여 여러분이 전문가일 필요는 없다. 하지만 PHP 문법과 웹 애플리케이션 개념을 설명하는 데 많은 시간을 할애하진 않을 것이다. PHP든 웹 애플리케이션이든 어느 한 쪽이라도 그다지 익숙하진 않지만 배워볼 마음이 있다면 마음 놓고 지금 당장 뛰어 들자. 디지털 비디오에 대해 어느 정도는 기본적으로 이해하고 있다고 해서 문제될 건 없다. 알아야 할 필요가 있는 건 대부분 여기서 설명할 것이다.
이 연재에 대해
1부에서는 필요한 것들을 한데 모으고, 모은 컴포넌트를 설치하며, 비디오를 변환하고, 애플리케이션을 준비하는 것까지 다룬다. 즉 여기서는 기초 작업에 대해 많이 다룬다. 디지털 비디오에 관해 배울 내용이 많으며, 2부에서 할 코딩을 위해 설정할 내용을 다룰 것이다.
2부에서는 업로드된 파일과 태깅(tagging)을 관리할 기초적인 애플리케이션을 만들어 본다. PHP 프레임워크, 정확히 말하면 CakePHP를 사용하여 이 작업을 할 것이다. 우리가 만든 애플리케이션이 또 하나의 비디오 공유 사이트가 되진 않을 것이다. 우리가 초점을 맞추는 건, 파일을 관리하는 방법 그리고 이 파일을 사람들이 볼 수 있도록 하는 방법이다.
3부에서는 다소 고급스러운 기능들을 추가하여 멋진 사용자 인터페이스를 만들어 볼 것이다. UI를 다듬어 보고, 여러분 비디오를 퍼뜨리기 위해 인기 있는 비디오 공유 사이트에서 제공하는 API를 어떻게 사용할지 살펴본다. 1부가 제대로 이해하도록 하는 부분이라면 2부에서는 제대로 동작하는 것에 대해, 그리고 3부에서는 멋들어지게 하는 방법에 대해 다루는 것이라 할 수 있다.
이 튜토리얼에 대해
PHP를 이용하여 자신만의 온디맨드 비디오 사이트를 만드는 내용을 다룬 이 연재물은 3부로 나뉘어 있으며, 이 연재의 1부에서는 디지털 비디오마다 특유의 각기 다른 내용이 무엇인지 그리고 특별한 뉘앙스가 무엇인지 살펴보는 것으로 시작한다. 웹용 비디오를 만들 때 명심할 건 무엇보다도 작고 다운로드하기 쉬운 비디오 파일을 원하는지 아니면 가능한 한 좋은 품질로 비디오 파일을 제공하고 싶은지 결정해야 한다는 점이다. 또한 플래시 비디오(Flash Video: FLV) 포맷으로 변환하는 방법을 살펴보고 스트리밍용 옵션을 일부 써볼 것이다. 이번 단계에서는 코딩해야 할 게 많진 않지만, 프레임워크를 설치하고 데이터베이스를 설정하는 작업은 해야 한다.
시스템 요구 사항
이 연재물에서 디지털 비디오를 이용해 작업하려면 몇 가지 설정할 게 있다(기본 컴포넌트 설정 방법은 여기서 다루지 않을 것이다).
- 디지털 비디오 콘텐츠 몇 개 — 어디서 발견해 냈든, 직접 찍은 것이든, 그도 아니면 다른 데서 가져온 것이든.
- 마이크로소프트 윈도(Microsoft® Windows®) XP 박스 — 이 연재물의 예제에서는 윈도 XP용으로 작성된 일부 소프트웨어를 사용한다.
- FFmpeg은 명령줄 형태로 된 오픈 소스 비디오 변환 유틸리티다.
- 윈도용 리바 FLV 인코더 V2.0(Riva FLV Encoder V2.0 for Windows)은 처음 30일간은 공짜로 쓸 수 있는 비디오 변환 유틸리티다.
- 윈도를 제외한 그 외 플랫폼에서 이용 가능한 FLV 변환 프로그램에 대해서는 위키백과(Wikipedia)의 내용을 참조하라.
- Red5는 자바(Java™) 기반 오픈 소스 플래시 서버다.
- JW FLV MEDIA PLAYER V3.15는 내장 가능한 소형 플래시 미디어 플레이어다.
웹 애플리케이션을 위해선 다음 것들이 필요하다.
- 세션(그리고 가급적이면 mod_rewrite)을 지원하는 HTTP 서버. 이 연재물은 mod_rewrite를 켠 아파치(Apache) V1.3을 이용해서 썼다.
- CakePHP 1.2 베타 버전 다운로드.
- PHP V5.1.4 이상. 시험해본 모든 프레임워크가 PHP V5.1.4 이상을 필요로 하는 건 아니지만, 모든 프레임워크는 똑같은 버전의 PHP를 이용할 것이다. 이 연재는 PHP V5.2.3을 사용하여 썼다.
- 가급적 최신 버전의 MySQL. 몇 가지 다른 데이터베이스들을 써도 되고 지원도 되지만, 이 연재물과 샘플 애플리케이션은 MySQL V5.0.37을 사용하여 만들었다.
코딩, PHP, 데이터베이스 등에 대해 아는 게 전혀 없다면 이 연재를 보기가 만만치 않음을 알 것이다. 우선 PHP로 웹 애플리케이션을 어떻게 작성하는지 조금이나마 알아둘 필요가 있다(각 프로젝트에 대한 링크는 글 맨 뒤 참고자료 부분을 살펴보기 바란다).
|