はじめに
前回はffmpeg、php-ffmpeg、FFMPEG-PHP Classを使用しての動画ファイルのプロパティ取得、flvへの動画変換について説明しました。
今回はFFMPEG-PHP Classをカスタマイズしての3gpへの動画変換について説明します。その際に利用する3gpへ変換する動画ファイルは、Zend_Http_ClientというHTTPリクエストを扱うライブラリを利用してYouTubeからダウンロードしたflvを用います。
対象読者
PHPでのWEBアプリケーション開発について基本的なことを理解している方を対象とします。
サンプルアプリケーションの概要
本記事で作成するサンプルは、以下の表の通りです。
ファイル名 | 概要 |
youtube_get.php | YouTubeから動画ファイルをダウンロードして3gp動画に変換するサンプル |
adapters/mobilevideoto.php | 3gp動画変換を行うクラス |
動作確認環境
PHPとRubyが動作する環境に加え、ffmpegで使用する以下のコーデック(表)がインストールされている環境が必要になります。
- CentOS 5.3
- Httpd 2.2.14
- PHP 5.3.2
- Ruby 1.8.5
動作環境の準備については前回の記事を参照してください。
YouTubeから動画ファイルをダウンロードして携帯電話から視聴できる形式に変換
YouTubeから動画をダウンロードして携帯電話より試聴できるサンプルを作成します。
携帯電話で視聴できる動画はキャリア、端末によって制限があるので、現時点でもっとも長い動画を視聴できるNTTドコモのiモーションを対象とします。
本項でのサンプルを作成するにあたってのプロセスとして
- (1)YouTubeから動画ファイルをダウンロードする機能
- (2)ダウンロードした動画をNTTドコモiモーションの3gp形式に変換する機能
の2つの機能が考えられます。
(1)についてはHTTPリクエストを扱うライブラリZend_Http_Clientを使って、(2)については前項で利用したVideoToクラスを参考にPHPVideoToolkitクラスを利用してflv動画を3gp動画に変換するクラスを作成することで実装していきます。