« 2007年05月 | メイン | 2007年07月 »

2007年06月27日

lame

lame エンコーダー&デコーダー

lame wavfile output.mp3
lame mp3.file --decode output.wav

んー 結構早い

wavの秒数

http://www.kk.iij4u.or.jp/~kondo/wave/
参照

上記方法でデコードした場合
約ですが、
ファイルサイズ(byte)/176400 で秒数でる。

投稿者 muuming : 13:26 | コメント (0)

SWFTOOLS!

SWFTOOLSのソースファイルについての記録

.flash bbox=640x480 fps=50 name="flash.swf"

から始まり

.end 

で終わる

その中でオブジェクトを作り移動などする。

オブジェクトを作る1 画像の場合
.png picture picture.png
.jpeg picture2 picture.jpg
.jpeg image image5.jpg quality=60%

オブジェクトを作る2 外部フラッシュを読み込む
.swf image1 image.swf

オブジェクトを作る3 円四角など
.box box1 width=100 height=100 color=red
.box box2 width=30 height=105 color=blue fill
.box box3 width=40 htight=50 color=blue fill=white
.box box4 width=100 height=98 color=#ff0000 fill=#00ff00
.box box5 width=70 height=65 color=black fill=#0000ff
.circle circle1 r=30 color=black
.circle circle2 r=20 color=#00ff00
.circle circle3 r=35 color=black fill
.circle circle4 r=50 color white fill=#445566

オブジェクトを作る4 テキスト文字
まず フォントの指定
.font mincho "mincho.ttf"
次にオブジェクト作成
.text text1 font=mincho text="こんにちは" color=blue size=12pt
.text text2 font=mincho text="さようなら" color=red size=100%

オブジェクトの配置 移動
.frame 100
.put object x=0 y=0
100フレーム目で 指定の座標に配置

.frame 200
.change object x=100 y=100 #又は.jumpを使用してもよい。
200フレーム目で指定の座標に移動するように動く
jumpの場合は 突然移動で途中なし。

一連の動作を一つのオブジェクトとして登録
.sprite movie
.put object x=0 y=0
.frame 100
.change object x=100 y=100
.frame 200
.change object x=0 y=0
.end

これを
.put movie
とすることで短く記載可能


その他
.flash bbox=640x480 version=6 fps=50 compress
.box tohome width=100 height=100 color=white fill
.button home
.show tohome as=shape
.show tohome as=idle
.show tohome as=area
.show tohome as=pressed
.show tohome as=hover
.on_press:
this.geturl('index.html');
.end
.end
.put home
.end


--------------------------------------------------
さんぷーる
.flash filename="cxform.swf" version=5 fps=25

.jpeg s1 "photo.jpg" quality=80%
.jpeg s2 "photo2.jpg" quality=99%
.put s2
.put s1 x=50 y=50 scalex=110 scaley=110
.frame 50
.change s1 x=0 y=0 scalex=210 scaley=210 red=-1+255 green=-1+255 blue=-1+255 #invert
.frame 100
.change s1 x=100 y=50 scalex=110 scaley=110 red=0 green=+0 blue=+0 #remove red
.frame 150
.change s1 x=0 y=0 scalex=210 scaley=210 red=+0 green=2 blue=-1+255 #amplify green, invert blue
.frame 200
.change s1 x=50 y=100 scalex=110 scaley=110 red=2-128 green=-2+255 blue=+0.7+40 #alien glow
.frame 250
.change s1 x=0 y=0 scalex=210 scaley=210 red=8-1024 green=8-1024 blue=8-1024 #palette reduce
.frame 300
.change s1 x=0 y=0 scalex=210 scaley=210 red=+0 green=+0 blue=+0 #back to normal
.frame 350
.change s1 x=105 y=105 scalex=0 scaley=0 luminance=0 #fadeout
.end
--------------------------------------------------


付属のソフト?コマンドwav2swf は lameってのを使うらしい


http://lame.sourceforge.net/index.php からダウン
何も考えずにいつものようにインストール

swftoolを再インすコしたら、wav2swf も使用可能になった。

avi2swfのコンパイルは何が足りないのだろう・・出来ない

投稿者 muuming : 11:21 | コメント (0)

2007年06月15日

ming-0.4.0-dev-2006_04_20.tar.gz

PHPでフラッシュ作成

ming をインすとしてみたくなったのでやってみるが
configure ファイルがねえええ ということで
探したら、ドイチュ語のページで発見

tar xzf ming-0.4.0-dev-2006_04_20.tar.gz
cd ming-0.4.0
sh autogen.sh
./configure
make
make install

PHP用のモジュール作成
cd php_ext
make
[ponta@cent php_ext]# make install
/usr/bin/install -c -d `php-config --extension-dir`
/usr/bin/install -c php_ming.so `php-config --extension-dir`
echo "Don't forget to add 'extension=php_ming.so' to php.ini!"
Don't forget to add 'extension=php_ming.so' to php.ini!

php_ming.so が入った場所は /usr/local/lib/php/extensions/debug-non-zts-20050922 ですた。
php.ini に追加
extension=php_ming.so

インストールは行ったが segumentation fault
開発がとまってるっぽくこのツールをCentos上で動作させることを断念。


変わりに・・・SWFTOOLS !
http://www.swftools.org/

ソースゲット後 ./configure make make install の流れでOK

使い方は フラッシュの設計図ファイルを作成し

swfc 設計図ファイル
とコマンドラインにて実行

設計図ファイル中に出力ファイル名は記載されている。

設計図ファイルについては研究中。

投稿者 muuming : 12:20 | コメント (0)

2007年06月13日

proftpdのアカウントをpostgresで管理する

ProFTPDとPostgresqlを連携することにより、FTPに接続するユーザーとパスワードをデータベースで管理することができます。・・・らしいです^^

今回、以下の前提条件がありますので、注意!!!
[PostgreSQLのインストール先]
 /usr/loca/pgsqlにインストールしている
[ユーザメンテナンスを行うDB・テーブル名]
 DB名:ftp_user、テーブル名:ftp_user
[テーブルレイアウト]
 user_id text not null
 passwd text not null
 homedir text not null

##### まずは、ProFTPDをインストール #######
1.事前にPostgreSQLがインストールされていることを確認します。

2.ProFTPDのソースをダウンロードします。
 どこからから取ってきて下さい^^

3../configureを行う
 ただ、追加するモジュールを記述するのではなく、PostgreSQLのincludeディレクトリ・librariesディレクトリを指定します。(コンパイル時にPostgreSQLのヘッダーファイルが必要なので、明示的に!) 
 $ ./configure --with-modules=mod_sql:mod_sql_postgres --with-includes=/usr/local/pgsql/include --with-libraries=/usr/local/pgsql/lib

4.makeを行う
 $ make

5.インストールしましょー、もちろんroot権限で^^
 $ su
 # make install

##### 次に、ProFTPDの設定 #######
6.今回の仕組みでは、仮想ユーザにはシステムUIDが存在しませんので、仮想ユーザたちがファイルアップロードしたときのユーザIDを設定・取得します。
 # useradd -s /sbin/nologin www_ftp 
 # id www_ftp

7./usr/local/etc/proftpd.confを設定します。
 # vi usr/local/etc/proftpd.conf
 ここでは、SQLに関する設定を行います。以下の記述

>>>
#ユーザーテーブルでの認証を行う
SQLAuthenticate users

#パスワードにCRYPT方式の暗号化を使用する
SQLAuthTypes Crypt

#PostgreSQLへの接続情報
SQLConnectInfo ftp_user@localhost:5432 nobody

#mod_sqlのログ出力先
SQLLogFile /var/log/proftpd

#ユーザーテーブルのテーブル名とカラム名
SQLUserInfo ftp_user user_id passwd Null Null homedir Null

#デフォルトのUID
SQLDefaultUID [www_ftpユーザのUID]

#デフォルトのGID
SQLDefaultGID [www_ftpユーザのGID]

#デフォルトのホームディレクトリ
SQLDefaultHomedir "/home/www_ftp/"

#有効なシェルを設定しなくてよくなります
RequireValidShell off
<<<

8.そのほか、FTPの設定を行い、FTPサーバを再起動します。

以上で設定は終了です^^

##### 次に、ユーザメンテナンスのDB設定 #######
9.追加するユーザ名[hogehoge]のパスワードを発行します。
 $ perl -e 'print crypt("hogehoge", "AA")."\n";'

10.PostgreSQLにDBを作成します。
 $ createdb ftp_user

11.テーブルを作成します。
 $ psql ftp_user
 psql> create table ftp_user(
user_id text not null,
passwd text not null,
homedir text not null
);

12.動作確認で、hogehogeユーザを作成します。
 psql> insert into ftp_user values('hogehoge','[Cryptした文字列]','/home/www_ftp/hogehoge/');
 psql> quit

##### 確認しましょー^^ #######
13.ftpソフトで確認します

詳しくは、参考サイトまで・・・^^
http://www.gside.org/Gentoo/proftpd/proftpd_postgresql.html
http://www.mysql.gr.jp/mysqlml/msg.cgi?ml=mysql&id=4564


rpm のpostgres の場合 以下で通ったっぽい
./configure --with-modules=mod_sql:mod_sql_postgres --with-includes=/usr/include --with-libraries=/usr/lib/pgsql/

投稿者 muuming : 17:23 | コメント (0)

bashでランダム 簡易版

$RANDOM と言う変数が用意されているらしい。

RANDOM このパラメータが参照される度に、 0 から 32767 までのランダムな整数が生成されます。

と言うわけで、例えば 0~99のランダムな数字を得たいなら
HOGE=`expr $RANDOM % 100`

投稿者 muuming : 10:51 | コメント (0)

2007年06月11日

しぇる便利

[$$] スクリプトで作業用のファイルを作る場合,ファイル名の一部にこの $$ を含めよう.$$ はスクリプトを実行している sh のプロセス番号に置き換えられるので,スクリプトが同時に実行されても作業ファイルがぶつかることがない.たとえ自分だけのためのスクリプトでもプログラムから実行したり,メールの処理に使えば同時に走る可能性がある.

[クオート] スクリプトに現われる * や ? は対話的シェルと同様にそのパターンにマッチしたファイル名に展開される.cat $1 > /tmp/t.$$ とあって,第 1引数を表わす $1 が * に置き換えられたら,これがさらにファイル名に展開される.これを "$1" のようにダブルクオート "" で囲めば,ファイル名への展開はされない.また,set -f を実行しておけばやはりファイル名への展開はされない.さらに $1 を $1 のままにするにはシングルクオートでこれを囲む.

[ヒアドキュメント] 出力のファイルへの追加は >> で指示するが,これの逆向き << がヒアドキュメントである.例えば mail foo <

[後始末] スクリプトにバグがあったり,割り込みキー (Control-C など) で実行を打ち切ったとき,作業ファイルを消去するといった後始末をしなければいけない.これには trap コマンドで

trap "/bin/rm -f $tmp; exit 0" 0 1 2 15

のようにする.指定した番号のシグナル 1 2 15 を受けたときの動作を定める.シグナル番号 0 は正常終了時にも実行することを示す.

投稿者 muuming : 09:41 | コメント (0)