ubuntu11.10 : ffmpeg + libfaac + libx264 でTSファイルのエンコード

ffmpegでlibx264を使ってのエンコードは公式パッケージのffmpegではライセンスの問題で使えないので,ソースからインストールかどこかのPPAからもらってくるとかする必要があります.
今回はソースからインストールしてみました.ただのメモです.
インストールに関してはほぼ参考サイトのとおりです.
(参考:最新FFmpegとx264をUbuntu Lucid Lynx 10.04 にインストール

libx264をインストール

$ git clone git://git.videolan.org/x264
$ cd x264
$ ./configure –enable-static
$ make
$ make install

これはいらないかもしれないです.ffmpeg自体に含まれている?
libfaacのインストール.

$ sudo apt-get install libfaac-dev

そしてffmpegをインストール.

$ git clone git://git.videolan.org/ffmpeg
$ cd ffmpeg
$ ./configure –enable-gpl –enable-version3 –enable-nonfree –enable-postproc –enable-libfaac –enable-libx264
$ make
$ make install

これでOK.
あとはプリセットをどうするかですが,これも参考サイトのものを使う.
参考サイト:ffmpeg で TS をできるだけ高画質な mp4 へ変換してみた
参考サイトのスクリプトを少し変えて使わせてもらってます.

  • -vpre -> -fpre プリセットの指定オプションが変更されててサンプルのままだとエラーとなるので変更
  • -s 1960×1080 に変更
  • -vsync 1で音ズレ対策ができるようなので追加
  • -deinterlace を追加.あまりよろしくないようですが手軽にデインターレースできるので

だいたい30分で2.4GByteのTSファイルが400MByte前後になる.
Xeon 3040@1.86GHz(2cores),メモリ1GByteで約3時間.
Core i7 860@2.8GHz (4cores, 8threads),メモリ4GByteで約1時間.

 

カテゴリー: 未分類 | タグ: , , | コメントをどうぞ

PHP:ZIPモジュールのインストール(CentOS5.5)

PHPでZIPファイルの解凍をしたくて,その際に調べたことなどをメモとして残しておく.

環境
serversman@VPSのEntryのサーバです.
OS : CentOS 5.5
PHP : 5.1.6

調べていると,どうやらモジュールの追加が必要らしい.
そのモジュールはPECLとやらでインストールできて,PECLはpearをインストールすれば使える.
ということでpearのインストール.

# yum -y instal php-pear

それでzipモジュールのインストール.最新バージョンをインストールしようとするとエラーが出るので,古いのを入れます.
(参考:http://prograrts-job.blogspot.com/2010/11/php-zipso.html)

# pecl install zip-1.8.10.tgz

あとは/etc/php.iniの適当なことろに設定を追加

# echo “extension=zip.so” >> /etc/php.ini
# service httpd restart

これでzipモジュールが使えるはず.

カテゴリー: 未分類 | タグ: | コメントをどうぞ

mdadm vs ZFS : ソフトウェアRAIDの性能比較

mdadmとZFSの性能を測ってみたのでグラフのせます。
構成は、前の記事(http://kimson.name/wordpress/archives/67)と同じ。disk3台つかてます。
ベンチマークも同じ。bonnie++で4GBのファイルを読み書き。

まずは、mdadm-raid0 vs zfs-stripe.
基本的にmdadm-raid0の勝ち。

zfs stripe vs mdadm raid0

次に、mdadm-raid1 vs zfs-mirror.
書き込みはmdadm-raid1のほうが性能がいい。
読み込みはzfs-mirrorのほうが高い。

zfs mirror vs mdadm raid1

最後に、mdadm-raid5 vs zfs-raidz.
put_blockがだいぶzfs-raidzのほうが速い。

zfs raidz vs mdadm raid5

こんな感じでした。
ファイルサーバをどういう構成にするか検討中で、使うとしたらmdadm-raid5 or zfs-raidz。
置くファイルは、動画とか音楽とか写真とか比較的大きいサイズのデータを置く予定。
ということで、zfs-raidz がいいかなという感じ。
書き込み速いし、読み込みに関しては1GbEでつなぐとしてだいたいバンド幅使い切れるのでmdadm-raid5よりは遅いけどいいかな。

カテゴリー: 未分類 | タグ: , , | コメントをどうぞ

mdadmでソフトウェアRAIDの構築メモ

ディスク3枚を使って,ソフトウェアraid5を構築する.
まず,ディスク全体のパーティションを作成.以下をそれぞれsdc, sddでも行う.

# fdisk /dev/sdb

helpの表示
Command (m for help): m
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition’s system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)

既存パーティションの削除
Command (m for help): d
Selected partition 1

新しいパーティションの作成
Command (m for help): n
primary partitionを選択
Command action
e extended
p primary partition (1-4)
p
1を選択
Partition number (1-4): 1
あとはデフォルトのままenter, enter
First cylinder (1-60563, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-60563, default 60563):
Using default value 60563

作成したパーティションの確認
Command (m for help): p

Disk /dev/sdb: 500.1 GB, 500106780160 bytes
256 heads, 63 sectors/track, 60563 cylinders
Units = cylinders of 16128 * 512 = 8257536 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0×00000000

Device Boot Start End Blocks Id System
/dev/sdb1 1 60563 488380000+ 83 Linux

変更を反映して終了
Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

raid5の構築

# mdadm -C /dev/md0 -l5 -n3 /dev/sd[bcd]1
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.

状態の確認

# mdadm -D /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Fri Jul 15 00:34:46 2011
Rd Dev Size : 488378368 (465.75 GiB 500.10 GB)

Raid Devices : 3
Total Devices : 3
Persistence : Superblock is persistent
Update Time : Fri Jul 15 00:34:46 2011
State : clean, degraded, recovering
Active Devices : 2
Working Devices : 3
Failed Devices : 0
Spare Devices : 1
Layout : left-symmetric

Chunk Size : 512Kaid Level : raid5
Array Size : 976756736 (931.51 GiB 1000.20 GB)
Use

Rebuild Status : 0% complete

Name : kimson.name:0 (local to host kimson.name)
UUID : a2a033fe:98d2f0c3:148a607a:90f0b39c
Events : 1

Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
1 8 33 1 active sync /dev/sdc1
3 8 49 2 spare rebuilding /dev/sdd1

フォーマットする.今回はext4で.

# mkfs.ext4 /dev/md0
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=128 blocks, Stripe width=256 blocks
61054976 inodes, 244189184 blocks
12209459 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
7453 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000, 214990848

Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 23 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.

あとはマウントするだけ.

# mount /dev/md0 tmp

次は性能を測って,ZFSと比較する.

カテゴリー: 未分類 | タグ: , | コメントをどうぞ

CentOS 6.0でNative ZFS(インストールから簡単な評価まで)

やっとこさCentOS6がでたので,ZFS on linuxを試してみる.

Native ZFS for linux : http://zfsonlinux.org/
ここからspl-0.6.0-rc4とzfs-0.6.0-rc4をインストールします.
必要なパッケージをインストールしつつ

# ./configure
# make
# make install

で特にハマることもなく,インストールできた.
zfsはsplが必要なのでsplを先にインストールする必要があります.
そして,モジュールのインストール

# modprobe zfs

これでインストールは完了.
ということで,簡単に性能評価してみる.

CPU Celeron G1101 2.26GHz
Memory DDR3, 2GB
OS CentOS 6.0,  2.6.32-71.29.1.el6.x86_64
HDD HDP725050GLA360, SATA 3Gb/s, 7200RPM, 500GB *2 (sdb,sdd)
HDT725050VLA360, SATA3Gb/s, 7200RPM, 500GB *1 (sdc)

ML110G6を使ってます.
まずそれぞれext4でのディスク性能をbonnie++1.03eで測定.単位はMByte/sです.
4GBの書き込み読み込みを行ってます.5回の平均値となってます.

putc put_block rewrite getc get_block
sdb 77.4 92.2 39.2 67.7 112.0
sdc 75.0 71.2 31.8 68.9 95.9
sdd 77.8 92.6 39.5 67.5 113.7

次はZFSの性能です.
stripe, mirror, raidzを試しました.それぞれ以下の構成になっています.

stripe
#zpool create tank sdb sdc sdd
mirror
#zpool create tank mirror sdb sdc sdd
raidz
#zpool create tank raidz sdb sdc sdd

結果です.ext4と同様に測定してます.

putc put_block rewrite getc get_block
stripe 61.3 140.9 76.1 68.8 184.6
mirror 49.8 51.1 32.6 69.0 130.9
raidz 66.3 95.4 43.3 67.4 114.1

とりあえず,こんな感じになりましたというところで今回は終了.
手軽にraid0, 1, 5相当のストレージが作れていい感じだなという印象.

カテゴリー: 未分類 | タグ: , | 2件のコメント

wordpress : デフォルトテーマにはてぶボタンとTweetボタンを追加

まずTweetボタンの追加はプラグインを使った。
WP Tweet Button : http://wordpress.org/extend/plugins/wp-tweet-button/
高機能でいろいろな設定ができるのはすごくいいです.
記事冒頭のTweetボタンとはてぶボタンを見てわかる通り,改行が入ってしまうのがちょっと個人的に気に入らないです.ホントは横にならべたいんだけどな...調べ中です.

はてぶボタンはいいプラグインが見つからなかったので、テーマを編集して追加した。(なんかいいプラグインを知ってたら教えてください.)
はてぶボタンはここから取得できます。 : http://b.hatena.ne.jp/guide/bbutton

続きを読む

カテゴリー: 未分類 | コメントをどうぞ

ffmpeg : libx264の設定オプションメモ

ソース:http://help.encoding.com/idx.php/16/126/article/libx264.html(ソースの更新日時は2010/01/20)

2011/05/08:とりあえずは,ただの日本語訳を目指します.まったく詳しくないのでおかしなところがあったら教えてください.

ffmpeg用の設定例がいくつかすでに用意されていて,それの解説はここを参照とのこと.
http://rob.opendot.cl/index.php/useful-stuff/ffmpeg-x264-encoding-guide/
/usr/share/ffmpeg以下に有るlibx264-*.ffpresetの事だと思う.(場所は設定や環境によって違う可能性あり.)

ということで,オプションの内容に.

続きを読む

カテゴリー: 未分類 | タグ: , , | コメントをどうぞ