PEARの設定を調べる為のコマンド
pear config-show このコマンドでインストールされているフォルダ等が表示される。
pear config-show このコマンドでインストールされているフォルダ等が表示される。
phpizeはphpをyum経由でインストールするとphp-develがインストールしてないと使えないので
yum –enablerepo=rpmforge install ffmpeg-devel
とやって
無事インストールされたら再度ffmpeg-phpをインストールする
コンパイル環境がなければインストールしておく。
yum install gcc gcc-c++
yum install automake libtool
cd ffmpeg-php-0.X.X
phpize
./configure
make
make install
/ffmpeg-php-0.6.0/ffmpeg_frame.c:421: error: ‘PIX_FMT_RGBA32′ undeclared (first use in this function)
make: *** [ffmpeg_frame.lo] エラー 1
これを解決するには
viでffmpeg_frame.cを開いて「RGBA32」を全部「RGBA」に置換してもう一度
./configure
make
make install
とインストールしてください。
全部無事に終わったら
php.iniに
extension=ffmpeg.so
を追加したらapache再起動で完了。
RPMforgeが追加されていれば
yum –enablerepo=rpmforge install ffmpeg
でインストール出来る。
コーデックは
yum install SDL-devel freetype-devel zlib-devel libogg-devel libvorbis-devel libtheora-devel
yum install –enablerepo=rpmforge imlib2-devel lame-devel faad2-devel faac-devel gsm-devel xvidcore-devel x264-devel a52dec-devel
でインストール。
CentOS5.i386の場合。最新バージョンはここを参照して確認。
rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
この時
ヘッダ V3 DSA signature: NOKEY, key ID 6b8d79e6
の様なエラーが出たら
wget http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt
rpm –import RPM-GPG-KEY.dag.txt
として
最後に
yum update
して完了
vi /etc/yum.repos.d/rpmforge.repo
enabled = 1
↓
enabled = 0 ← 「0」にすることで無効となる
とすることでyumの度に見に行くことがないので、yumをしょっちゅう使う場合は設定しておいた方が良いかも。
トラックバックより抜粋
cat /proc/cpuinfo
lmがあれば64ビット
uname -a
X86_64とかamd64とかが表示されたら、64ビット版のカーネルです。
64ビットCPU上で、64ビット版カーネルが稼働している時が64ビットマシンです。
シンプルに
$ uname -m
i686
$ uname -i
i386
$ uname -m
x86_64
$ uname -i
x86_64
対処方をそのままコピペ
(1) Debian系 Debian/GNU Linux
# cat /etc/debian_version
3.1(2) RedHat系
CentOS
# cat /etc/redhat-release
CentOS release 4.3 (Final)Fedora Core
# cat /etc/redhat-release
Fedora Core release 5 (Bordeaux)Vine Linux
# cat /etc/vine-release
Vine Linux 3.2 (Ducru Beaucaillou)Turbo Linux
# cat /etc/turbolinux-release
Turbolinux Server 8.0 (Viper)
Webページをサムネイル化してリアルタイムに表示しているサイトがありますが
どの様にやったら出来るか考えると。
1.HTMLをレンダリングして、そこから画像生成
2.画面キャプチャして画像生成
の2点くらいしか思い浮かばない。
そこで
実際にどの様に実現しているのか気になったので調べてみた。
基本的にWebサーバーとして使用するLinuxはCUIなので
画面にWebページを表示することが出来ません。
そこで、仮想GUIを作ってその中で画像キャプチャをする様です。
1.Xvfb(仮想フレームバッファ)起動
2.firefox(ブラウザ)起動
3.firefox(ブラウザ)でURLにアクセス
4.ImageMagickでスクリーンショットを取る
5.画像保存
6.firefox(ブラウザ)終了
7.Xvfb(仮想フレームバッファ)サーバー終了
インストールコマンド
yum grouplist
yum groupinfo “X Window System”
yum upgrade xorg-x11-xfs
yum upgrade xorg-x11
yum upgrade xorg-x11-devel
yum upgrade xorg-x11-libs
yum groupupdate “X Window System”
yum upgrade xorg-x11-libs
yum install xorg-x11-Xvfb
yum groupinstall “X Window System”
yum groupinstall “Japanese Support”
yum groupinstall “GNOME Desktop Environment”
yum install firefox
yum install ImageMagick
FireFoxの設定
~/.mozilla/firefox/xxxxxxxx.default/
user.js
user_pref("browser.sessionstore.enabled", false);
user_pref("browser.sessionstore.resume_from_crash", false);
user_pref("browser.startup.page", 0);
user_pref("plugin.default_plugin_disabled", false);
user_pref("privacy.popups.disable_from_plugins", 3);
user_pref("alerts.totalOpenTime", 1);
user_pref("security.enable_ssl2", false);
user_pref("security.enable_ssl3", false);
userChrome.css
/* Pop-up bookmarks toolbar */
#PersonalToolbar {display: none;}
#navigator-toolbox:hover > #PersonalToolbar {display: -moz-box;}
サンプルコード
//エイリアス設定
# DISPLAY=:1.0
# export DISPLAY
//Xvfb(仮想Xサーバー)起動
$command = '/usr/X11R6/bin/Xvfb :1 -screen 0 1024x768x24 > /dev/null &';
// 1024*768のフルカラー(1677万色)のディスプレイをID1で用意するという意味
$last_line = system($command , $rtn);
//firefox起動(プロファイル”user”で起動)
$command = '/usr/bin/firefox -display :1 -width 1024 -height 800 -P "user" > /dev/null &';
$last_line = system($command , $rtn);
//60秒待つ
sleep(60);
$url = 'http://www.res-system.com/weblog/';
//サムネイル画像パス指定
$thumbimg = '/thumb/t.gif'; //サムネイル画像
$img = '/img/i.gif'; //サムネイル元画像
//firefox上でサイト表示
$command = '/usr/bin/firefox -display :1 -remote "openurl(' . $url . ')" &';
$last_line = system($command , $rtn);
//10秒待つ
sleep(10);
//ImageMagickでスクリーンショットを画像に保存
$command = '/usr/bin/import -display :1 -window root ' . $img;
$last_line = system($command , $rtn);
//保存した画像のサイズを求める
list($width, $height, $type, $attr) = getimagesize($img);
//画像の作成
$im = imagecreatefromgif($img);
//サムネイル画像加工(サムネイル元画像からサイズ縮小)
$thumb_im = imagecreatetruecolor(120, 90);
imagecopyresampled($thumb_im, $im, 0, 0, 0, 90, 120, 90, $width, $height);
//サムネイル画像を保存
imagegif($thumb_im, $thumbimg);
//firefox終了
$command = 'killall firefox-bin > /dev/null &';
$last_line = system($command , $rtn);
//Xvfb(仮想Xサーバー)終了
$command = 'killall Xvfb > /dev/null &';
$last_line = system($command , $rtn);
抜粋しただけなのでやってみます。
Linuxでディレクトリの名前変更を行おうとすると少しコツがいる。
いや、それほどでもないですがw
ファイルやディレクトリの移動・名前の変更をする
mv [options] source dest
mv [options] source… directoryオプション
-b, –backup 上書きされる,削除されるファイルのバックアップを作成する
-f, –force 移動先に同名ファイルがあるときも警告なく上書きをする
-i, –interactive 上書きされるファイルがあるときは問い合わせする
-u, –update 同名のファイルが存在した場合,タイム・スタンプを比較し同じまたは新しいときには移動を行わない
-v, –verbose 移動の前にそのファイル名を表示する
–help lsコマンドの使用法を表示する
source コピー元のファイルやディレクトリを指定する。ワイルド・カードを使用することもできる
dest コピー先のファイル名やディレクトリ名を指定する。ファイル名を指定した場合は新しい名前でコピーされる
directory コピー先のディレクトリを指定する
名前変更=同じディレクトリ内での移動
となっています。