●Try it ! ⇒「Photo編」

酒好き甘党アングラー ”ヤン・G”が写真に目覚めた!?

●参考になるサイト集・・

2012年01月22日 | Linux&Web style

参考になるサイト集
後から探すのになかなかたどり着けないので、リンク集を作っておけばGOOD!
ブックマークの整理にもなる。

・UNIXコマンド一覧         http://x68000.q-e-d.net/~68user/unix/genre.html

・コマンドプロンプト作業   http://cmd-pro.com/

・PHP基礎そふぃ       http://nyx.pu1.net/

・phpスキル          http://www.phppro.jp/

・PHPマニュアル          http://www.php.net/manual/ja/index.php

・PHP関数リファレンス              http://www.php.net/manual/ja/funcref.php

・CakePHP           http://cakephp.jp/

・HTMLリファレンス       http://www.htmq.com/index.htm     

・DreamweaverCS4ユーザーズガイド http://help.adobe.com/ja_JP/Dreamweaver/10.0_Using/index.html

・PHP+MySQLコマンド            http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/php_s01.htm

・MySQL5.1リファレンス   http://dev.mysql.com/doc/refman/5.1/ja/preface.html

・MySQLリファレンス        http://www.bitscope.co.jp/tep/MySQL/quickMySQL.html

・FLVPlayback                    http://www.adobe.com/jp/devnet/flash/articles/custom_flvcomp.html

・セキュリティー対策        http://www.ipa.go.jp/security/vuln/websecurity.html

・Youtube APIとツール     http://code.google.com/intl/ja/apis/youtube/2.0/developers_guide_protocol_direct_uploading.html

・JavaScriptリンク集    http://www.openspc2.org/JavaScript/

・javaScript⇒Flashplayer   http://phpspot.org/blog/archives/2006/10/flashhtmljavasc.html

・MIME         http://ja.wikipedia.org/wiki/MIME


●画像をデータベースに保存、ブラウザで表示する-サンプルスクリプト-

2012年01月22日 | Linux&Web style

これは嬉しい見つけもの。 感謝!

・Sample Script を見つけたのでメモっとく。

 アップロードした画像をデータベース(MySQL)に直接保存するやり方とその表示方法の簡単なメモ
 まずは、データベースの準備

・最小限のテーブル構成例
 //image_table
 id
int(11) unsigned not null auto_increment primary key,
 mime varchar
(50) not null,
 data MEDIUMBLOB
not null
 のような感じで・・

 dataが実際の画像のバイナリデータを入れる所。 BLOB型だと最大64KB、MEDIUMBLOB型だと最大16MBまでの画像が格納できる。

 mimeは画像のMIMEタイプを格納するためのフィールドで、 「フォームから受け取ったMIMEタイプを素直に信用して格納する」 という方針で準備。(実際にはisset関数などを使ってチェック→error表示か?)

・次画像アップロード用のフォームではenctype を multipart/form-data にして、受信スクリプトへのパスを action で指定しておく。
<form method='post' enctype='multipart/form-data' action='パス'>
<input type='hidden' name='MAX_FILE_SIZE' value='最大バイト数'>
<input type='file' name='imagefile'>
<input type='submit' name='upload' value='アップロード'>
form>
・受信スクリプト。フォームから受け取ったデータを簡単なチェックの後データベースに格納。
if($_FILES['imagefile']['error'])       exit;

$mime
= $_FILES['imagefile']['type'];//mime type
$path
= $_FILES['imagefile']['tmp_name'];//uploaded file

if($mime=='image/pjpeg')        $mime='image/jpeg';
if($mime=='image/x-png')        $mime='image/png';

if(is_uploaded_file($path))
{
$mime
= addslashes($mime);
$data
= addslashes(file_get_contents($path));//一時ファイルの読み込み

$sql
= "insert into image_table (mime,data) values ('$mime','$data')";
$db
->query($sql);//略記
}
 アップロードされた一時ファイルを直接 file_get_contents で読み込んでるが、サーバーによっては、move_upload_file でファイルを移動してから file_get_contents で読み込む必要あり。

・保存したファイルをidを指定して表示してみる。
//image.php
$id
= intval($_GET['id']);
$sql
= "select * from image_table where id=$id";

if($image = $db->findone($sql))//1レコード取得(略記)
{
header
("Content-type: ".$image['mime']);
echo stripslashes
($image['data']);
}
・実際は、この表示スクリプトへのパスをimgタグに埋め込んで使う。
<img src='./image.php?id=1'>

●「ffmpeg-php」 install&build

2012年01月15日 | Linux&Web style

これは忘れちゃいかん事。

「autoconf」がインストールしていないと「phpize」でエラーになる?。
  ( Ubuntu 11.04だけなのかは要検証)

 sudo apt-get install autoconf

☆ 
ffmpeg-phpのソースコードをDL

  http://ffmpeg-php.sourceforge.net/

☆解凍 DLしたディレクトリまで行き

  tar xvf ffmpeg-php-0.6.0

☆インストール

 phpize
 ./configure
 make
 make install

設定他は後日編集予定・・

●Synapticパッケージマネージャなどを使ってのインストール&ビルド方法

1・検索「php5-ffmpeg」 → チェック! → 「Mark for Installation」 → 「Mark」 → 「Apply」

2・端末で 
    # cp /usr/lib/php5/20060613+lfs/ffmpeg.so
                 /opt/lampp/lib/php/extensions/no-debug-non-zts-200613/

              #  chmod 777 /opt/lampp/etc/php.ini

3・エディタで
    /opt/lampp/etc/php.ini を開く

    extension行に extension="ffmpeg.so"  を追記。 保存。

4・端末で
    # /opt/lampp/lampp restart

5・ブラウザで
    http://localhost/xampp を開き phjp.info にffmpeg項があることを確認。
    あればインストール成功なり。

 


●HOWTO: Install and use the latest 「FFmpeg and x264」

2012年01月10日 | Linux&Web style

この際だから、このブログをMEMO帳として使わして頂く。。
-2012/01/12再編集-

/* The instructions on the page are for Ubuntu Oneiric Ocelot 11.10,
    Ubuntu Natty Narwhal 11.04
and Ubuntu Maverick Meerkat 10.10.
    Separate instructions are also available for older, supported  */

Install the Dependencies
1. Uninstall x264, libx264-dev, and ffmpeg if they are already installed. Open a terminal and run the following (you can usually paste into a terminal with shift+ctrl+v). Copy and paste the whole code box for each step.

Code:/* x264とlibx264-devとffmpegを、もしも既にインストールしていたらアンインストール */
sudo apt-get remove ffmpeg x264 libx264-dev

2. Get all of the packages you will need to install FFmpeg and x264 (you may need to enable the Universe and Multiverse repositories):

Code: /* FFmpegとx264をインストールするのに必要なパッケージをすべて取得 */
sudo apt-get update
sudo apt-get install build-essential checkinstall git libfaac-dev libjack-jackd2-dev \
  libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libsdl1.2-dev libtheora-dev \
  libva-dev libvdpau-dev libvorbis-dev libx11-dev libxfixes-dev texi2html yasm zlib1g-dev

Install x264
3. Get the current source files, compile, and install x264. (See using snapshots if you are having connection issues with the Git server.)

Code:
cd
git clone git://git.videolan.org/x264
cd x264
./configure --enable-static  make
sudo checkinstall --pkgname=x264 --default --pkgversion="3:$(./version.sh | \ awk -F'[" ]' '/POINT/{print $4"+git"$5}')" --backup=no --deldoc=yes

Install libvpx (optional)
4. This is used to encode VP8 video. If you follow this step, add --enable-libvpx to the FFmpeg ./configure line in step 5.

Code: /*  libvpx=VP8 コーデックライブラリー */
sudo apt-get remove libvpx-dev
cd
git clone http://git.chromium.org/webm/libvpx.git
cd libvpx
./configure
make
sudo checkinstall --pkgname=libvpx --pkgversion="1:$(date +%Y%m%d%H%M)-git" --backup=no \
    --deldoc=yes --fstrans=no --default

☆ 追加編集-Install LAME (optional) 

sudo apt-get remove libmp3lame-dev
 sudo apt-get install nasm
cd
wget http://downloads.sourceforge.net/project/lame/lame/3.98.4/lame-3.98.4.tar.gz
tar xzvf lame-3.98.4.tar.gz
cd lame-3.98.4
./configure --enable-nasm --disable-shared
make
sudo checkinstall --pkgname=lame-ffmpeg --pkgversion="3.98.4" --backup=no --default \
    --deldoc=yes

Install FFmpeg
5. Get the most current source files, compile, and install FFmpeg.

Code: /* 後にffmpeg-phpをインストールする為には --enable-shared を追記しておく事! */
cd
git clone git://git.videolan.org/ffmpeg
cd ffmpeg
./configure --enable-gpl --enable-version3 --enable-nonfree --enable-postproc \
    --enable-libfaac --enable-libopencore-amrnb --enable-libopencore-amrwb \
    --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid \
    --enable-x11grab --enable-shared
make
sudo checkinstall --pkgname=ffmpeg --pkgversion="5:$(./version.sh)" --backup=no \
    --deldoc=yes --default
hash x264 ffmpeg ffplay ffprobe

ffmpegが入っているディレクトリまで行き
sudo apt-get install ffmpeg

☆ libmp3lameとlibvpxをインストールすると、上記./configure行は下記の通りとなる。  

  ./configure --enable-gpl --enable-version3 --enable-nonfree --enable-postproc \
    --enable-libfaac --enable-libopencore-amrnb --enable-libopencore-amrwb \
    --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid \
    --enable-x11grab --enable-libmp3lame --enable-libvpx --enable-shared

Install qt-faststart (optional)
6. This is a useful tool if you're showing your H.264 MP4 videos on the web. It relocates some data in the video to allow playback to begin before the file is completely downloaded. Usage: qt-faststart input.mp4 output.mp4.

Code:
cd ~/ffmpeg
make tools/qt-faststart
sudo checkinstall --pkgname=qt-faststart --pkgversion="$(date +%Y%m%d%H%M)-git" --backup=no \
    --deldoc=yes --fstrans=no --default install -Dm755 tools/qt-faststart \
    /usr/local/bin/qt-faststart

Adding lavf support to x264 (optional)
7. This allows x264 to accept just about any input that FFmpeg can handle and is useful if you want to use x264 directly. See a more detailed explanation by forum member qyot27.

Code:
cd ~/x264
make distclean
./configure --enable-static
make
sudo checkinstall --pkgname=x264 --pkgversion="3:$(./version.sh | \
    awk -F'[" ]' '/POINT/{print $4"+git"$5}')" --backup=no --deldoc=yes \
    --fstrans=no --default

That's it for installation. You can keep the x264, libvpx, and ffmpeg directories in your home directory if you plan on updating later. See Updating FFmpeg and x264 below for more details.

Using FFmpeg and x264
The easiest method for high quality video encoding is by using the libx264 presets. See x264 --fullhelp for more info on these options.

One-pass CRF (Constant Rate Factor) using the slow preset. One-pass CRF is good for general encoding and is what I use most often. Adjust -crf to change the quality. Lower numbers mean higher quality and a larger output file size. A sane range is 18 to 28.

Code:
ffmpeg -i input -acodec libfaac -aq 100 -vcodec libx264 -preset slow -crf 22 output.mp4

One-pass CRF (Constant Rate Factor) using the medium preset, animation tuning, baseline profile, and level 3.0:

Code:
ffmpeg -i input -acodec libfaac -aq 100 -vcodec libx264 -preset medium -tune animation \
    -profile baseline -level 3.0 -crf 20 output.mp4

Two-Pass encode using the fast preset. Two-pass encoding is usually used when you want a specific output file size.

Code:
ffmpeg -i input -pass 1 -vcodec libx264 -preset fast -b 512k -f mp4 -an -y /dev/null \
    && ffmpeg -i input -pass 2 -vcodec libx264 -preset fast -b 512k -acodec libfaac \
    -ab 128k -ac 2 output.mp4

Lossless H.264 can be used like most other lossless formats such as archiving, fast encoding (a screencast for example), or as an intermediate file. Use ultrafast if you need to encode quickly and don't care about file size, or veryslow if you need the smallest file you can get and don't care about encoding speed. Creates huge files.

Code:
ffmpeg -i input -vcodec libx264 -preset ultrafast -crf 0 -acodec copy output.mkv

Updating FFmpeg and x264
Development of FFmpeg and x264 is active and an occasional update can give you new features and bug fixes. First, remove some packages and then update the dependencies:

Code: /* FFmpegとx264を更新するには、パッケージを削除して再コンパイル・インストールする必要がある。 */
sudo apt-get remove ffmpeg x264 libx264-dev libvpx-dev
sudo apt-get update
sudo apt-get install build-essential git checkinstall yasm texi2html \
  libfaac-dev libjack-jackd2-dev libmp3lame-dev libopencore-amrnb-dev \
  libopencore-amrwb-dev libsdl1.2-dev libtheora-dev libva-dev libvdpau-dev \
  libvorbis-dev libx11-dev libxfixes-dev zlib1g-dev

Update x264:

Code: /*  x264の更新 */
cd ~/x264
make distclean
git pull

Now compile x264 as shown earlier in the guide starting with the x264 ./configure line. Update libvpx:

Code:
cd ~/libvpx
make clean
git pull

Now compile libvpx as shown earlier in the guide starting with the libvpx ./configure line. Update FFmpeg:

Code: /* ffmpegの更新 */
cd ~/ffmpeg
make distclean
git pull

Finish the installation starting with the FFmpeg ./configure line.

// 注・ Ubuntu Japanese Wikiも参照のこと!
     https://wiki.ubuntulinux.jp/UbuntuTips/Application/HowToInstallAndUseLatestFFmpegAndX264
// こうして残しておくと便利だね。

 


●Linux 「ubuntu 11.04」xampp再インストールメモ・・

2012年01月09日 | Linux&Web style

phpMyadminパスワードを端末コマンドで設定後、ログインできなくなった。
(ここは注意必要&要チェック/root権限もチェックの事)
調べてみると結構あるようだ。
XAMPP1.7.7.再インストールまで手こずったのでMEMO。

//XAMPP1.7.4. アンインストール (端末より)

$ sudo rm -rt /opt/lampp

//XAMPP dl

http://www.apachefriends.org/jp/xampp-linux.html

//端末でrootユーザーでログイン

$ sudo su

[sudo] password for mat-k: ・・・・・・

//dlしたディレクトリまで移動

# cd /home
#cd mat-k
#cd ダウンロード

//ダウンロードしたディレクトリまで移動したらDLしたファイルを展開

#tar xvfz xampp-linux-1.7.7.tar.gz -c /opt

(・・・展開にはかなり時間がかかるので注意)

//一度 SU より exit

//lampp start

$ sudo /opt/lampp/lampp start

//lampp stop

$ sudo /opt/lampp/lampp stop

//lampp restart

$ sudo /opt/lampp/lampp restart

//
Tips (ここからは再チェックの事)

ドキュメントルート「/opt/lampp/htdocs」。
しかし、ファイルの変更のたびに、root権限が必要になって、面倒。

そこで,ホームフォルダ内に、「public_html」というようなフォルダを作り、

$ mkdir ~/public_html

これをhtdocsにシンボリックリンク。

$ sudo ln -s ~/public_html /opt/lampp/htdocs

//XAMPPセキュリティー

$ sudo /opt/lampp/lampp security

 で、それぞれにパスワードを設定。設定したパスワードは、メモっておきましょう♪
 (ここ重要! ここで叱られる事多々あり)

htdocsフォルダ内に、以下のような内容の「.htaccess」ファイルを置く。

  Order deny,allow
  Deny from All
  Allow from localhost 127.0.0.1

(注・ぐれぐれもお酒を呑みながら作業をしないこと!時間がかかって仕方ない。