最終更新: vanillalab 2011年11月07日(月) 02:28:29履歴
phpmotion V3.5 - Rev 115
インストール時にセットアップページへアクセスすると、HTTP500エラーが表示され画面が真っ白になる。
phpログを確認するとcurl_init()という関数が定義されていないために、エラーが発生したと推定される。
phpログを確認するとcurl_init()という関数が定義されていないために、エラーが発生したと推定される。
[04-Nov-2011 20:02:01] PHP Fatal error: Call to undefined function curl_init() in /var/www/phpmotion/setup/index.php on line 267ビルド時にconfigureオプションを指定するらしい。helpからcurlを確認した。
./configure --help | grep curl --with-curl[=DIR] Include cURL support
configureオプションは以下のとおり。使用したソースは、"php-5.3.5.tar.gz"
phpmotionのユーザ登録で、セキュリティコードの画像が表示される。
./configure --prefix=/usr/local/php \ --with-apxs2=/usr/bin/apxs2 --with-curl \ --with-pgsql --with-mysql --with-gd --enable-mbstring \ --with-freetype-dir=/usr/local/include/freetype2シンボリックリンクで、パスを通す。
sudo ln -s /usr/local/php/bin/php /usr/local/bin/php
phpmotionのユーザ登録で、セキュリティコードの画像が表示される。
setupのPHPshield確認で自分が調べた組み合わせは、以下のとおり。(2日ほどハマッた…orz)
php5.2.5とixed.5.2.lin | ng |
php5.3.5とixed.5.3.lin | ok |
phpmotion V3.5のRewriteは、.htaccessを用いている。その際に、".htaccess"ファイルの"RewriteBase"値が"/"(ルート)になっているため、適切に設定する。具体的には、phpmotion設置場所"/var/wwww/phpmotion"の場合、38行目の"RewriteBase"値を"/phpmotion"にする。また、documentrootに設置する場合は不要。
35 # EXAMPLE => RewriteBase /your sub-directory name 36 # EXAMPLE => RewriteBase /videos 37 38 RewriteBase / ←デフォルトで"/"になっている
動画をアップロードするとpmファイルのダウンロードが開始される。おそらく、AddHandlerの設定し忘れで "/etc/apache2/mods-enabled/mime.conf"ファイルに、下記を記述してapache再起動する。
AddHandler cgi-script .cgi .pl .pm
- エンコード処理で、アップロードしたwmv,avi,mpgファイルは、ffmpegでデフォルト設定(ロスレスに近い)でエンコードし、flvとその他(mp4など)は、mencoderを使いビデオコーデックFlash Video (FLV)へエンコードしている。個人的には、mp4(h264/AAC)の場合は、ffmpegでflv(h264/aac)エンコードするように、書き換えたほうがいいかも。
//flv videos case 'flv': $flv = true; break; //add 2011-11-05 //mp4 case 'mp4': $cmd = "$config[path_to_ffmpeg] -i $raw_video_path -vcodec libx264 -b 680k -s 1024x576 -g 240 -aspect 1.7777 -acodec libfaac -ac 2 -ar 48000 -ab 64k -f flv -vpre fast -threads 2 $new_flv"; break; //all other videosmp4からflvで再エンコードが不要な場合は、$cmd = "$config[path_to_ffmpeg] -i $raw_video_path -vcodec copy -acodec copy -f flv $new_flv"; で十分かも。
- アップロード時に、動画のタイトルを記述するのが面倒。ClipBucket のように自動でファイル名がタイトルになる方が良いと思う。
- サムネイル画像取得は、flvtool2で動画の長さを出力し割る2をした(中間の画像)、"xxxxsec"を、"hh:mm:ss"形式に変換して、サムネイル取得する時間の位置をffmpegに渡している。ここで、特定の動画に対して、flvtool2のエラーにより取得が失敗して、サムネイル取得する時間の位置が"00:00:00"になる。原因は調査中。たぶんバージョンの入れ替えで改善すると思う。
$ sudo apt-get install scons libboost*-dev $ scons $ sudo cp ./flvtool++ /usr/local/bin/"/phpmotion/convertor.php"ファイルのサムネイル取得部分を修正する。
//______________________________________________________________________________________________ //_____________________________FLVTOOL2 - (Meta Data Injection)_________________________________ $cmd = "$config[path_to_flvtool2] -UP $new_flv | grep duration"; ↓修正 $cmd = "/usr/local/bin/flvtool++ $new_flv | grep duration";
最新コメント