Server: 2008年10月アーカイブ

MRTG構築

user-pic
0

玄箱でサーバ運用していたころ、RRDToolやMRTGを使用して、サーバの情報をグラフ表示していました。
いつのころか、正常に動作しなくなり放置していましたが、たまにMacminiのFANが回りだすので、HDDの温度を定点観測しようと思います。

下記のパッケージをyumで、インストールし、snmp.confおよび、mrtg.cfgを編集します。
net-snmp
net-snmp-utils
mrtg

ちなみに、SNMPとお話するには、net-snmp-utilsパッケージに入っているsnmpwalkを使用します。
ちなみに、管理情報を取得するには、snmp.confでグループ設定が必要。

出来上がったページは下記の通り。
MRTG

RRDToolはMRTGより負荷が少ないらしいですが、設定が面倒なのと、Macminiはそれほどひ弱ではないため、今回はMRTGのみで構築しました。
現在、CPUとMemoryの空き状態、HDDの温度が観測できます。そのほかにもトラフィック量や、Disk IO、Disk領域の使用具合などをグラフ化できますが、今回はそれほど必要ではないため割愛しています。

ffmpegのエンコーディング速度

user-pic
0

現在本サーバは、Macminiで運用されています。
環境は、Fedora 9/PPC Motorola MPC7447A(PowerPC G4) 1.42GHz / Mem1G。
この環境で、地デジのtsファイルを、PSPの720x480 最高解像度で再圧縮すると30分の動画ファイルが、約2時間30分。夜間バッチ化すればまあいいかもしれませんが、単純計算で、寝ているうちに2時間分のtsファイルをエンコーディングできません。

PSP slimでテレビ出力を考えなければ480x272で十分なので、解像度を落したほうがいいかもしれませんが・・・。

また、Core2 Duoの2.66GHzのWindowsマシンで、http://arrozcru.no-ip.org/ffmpeg_builds/で配布されているffmpegバイナリを使用し、同じオプションでエンコーディングを行ったところ、30分のtsファイルが30分。要するに再生時間と同じ時間でエンコーディング可能でした。
やはり動画エンコーディングは、高スペックのマシンで行うに限りますね。
ただし、上記のwindows用バイナリだと、aacの音声部分でエラーが起きているようで、音声が再生できませんでした。

次のネタとしては、DviXへエンコーディングして、mediatomb + PS3で再生を行いたかったのですが、エンコーディングに時間がかかりすぎると思われるので、ボツです。
ちなみに、ffmpegでXviD(libxvid)でエンコーディングし、-vtagオプションでFourCCをDX50に指定するとDivXとして動画再生できる可能性があるということです。
1280x720の高解像度だと32インチのディスプレイでもストレスなく見れる画質となるので、それを実現したかったのですが。。

ffmpegを使って地デジtsファイルからPSPで再生可能な高画質ファイルを作成する

user-pic
0

長い題名ですが、覚書。
いろいろなサイトを参考にさせていただきましたが、一発でこれといったものがなかったので、いろいろ組み合わせました。
-flags以降を省略したところ再生できなかったため、とりあえずネタを頂いたサイトで付けていたオプションをすべて付けていますが、相当時間が掛かります。
省略可能なオプションはどれだろう。

いろんなオプションが付くと体感画質が落ちたので、(ファイルの容量も半分になった)却下。

ffmpeg -i $INPUT_TS -vcodec libx264 -s 720x480 -aspect 16:9 -r 29.97 -acodec libfaac -ar 48000 -b 768k -ab 128k -flags +loop -cmp +chroma -partitions +parti4x4+partp8x8+partb8x8 -flags2 +mixed_refs+brdo -me umh -subq 7 -trellis 2 -bidir_refine 1 -refs 2 -bf 1 -b_strategy 1 -coder 1 -me_range 16 -g 300 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -bt 768k -maxrate 4k -bufsize 4k -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -level 21 $OUTPUT_MP4 -map 0.0 -map 0.1

追記:このあたりなら、エンコーディング速度も速く、再生も可能っぽい。

ffmpeg -y -i $INPUT_TS -vcodec libx264 -s 720x480 -aspect 16:9 -r 29.97 -acodec libfaac -ar 48000 -b 384k -ac 2 -ab 128k -coder 1 -qmin 10 -level 21 -g 250 -f psp $OUTPUT_MP4 -map 0.0 -map 0.1

さらに追記:上記のコマンドだと途中で再生が途切れてしまうファイルができてしまったので、問題ない動画が作成できたコマンドを記述。

720x480バージョン

ffmpeg -y -i $INPUT_TS -vcodec libx264 -s 720x480 -aspect 16:9 -r 29.97 -acodec libfaac -ar 44100 -b 384k -ac 2 -ab 64k -coder 1 -qmin 10 -bufsize 128k -level 21 -g 250 -f psp $OUTPUT_MP4 -map 0.0 -map 0.1

480x272バージョン ビットレートを調整しただけ。

ffmpeg -y -i $INPUT_TS -vcodec libx264 -s 480x272 -aspect 16:9 -r 29.97 -acodec libfaac -ar 44100 -b 192k -ac 2 -ab 64k -coder 1 -qmin 10 -bufsize 128k -level 21 -g 250 -f psp $OUTPUT_MP4 -map 0.0 -map 0.1

こんな感じだと、再生できるファイルができました。動画再生が途中で止まってしまう原因は、音声のビットレートとサンプリングレート指定だったのか、なぞ。

Linuxでテレビ録画

user-pic
0

大学時代から早・・・年経っていますが、その頃からLinuxでテレビ録画サーバを立てることが目標としてありました。
いろいろな紆余曲折の歴史。。。

1.PC Linux + GV-BVTV5(IO-DATA)
RealProducerでテレビをネットを介して配信
→ ソフトウェアエンコーディングやらなんやらでサーバのパワーが足りず却下

2.玄箱 + Baffalo PC-MV7DX/U2
ハックで録!で録画
→ハックで録!を当時使用していたVineパッケージにマージしようとしたが動作が不安定であったため却下

3.玄箱 + PLEXTOR PX-TV402U
録画できる動画ファイルがdivxであったが、音声部分が無圧縮であるため再エンコーディングが必要だった。
しかし、当時使用していたFedora 6, 7/PPCあたりだと玄箱では、mencoderが落ちてしまい、動作不良。

4.PS3 + PLEXTOR PX-TV402U
玄箱と同様、再エンコーディングが必要。
こちらもFedora 7, 8/PPCあたりだとmencoderがまともに動かなかった?
そのまえに、PS3を常時運用する予定がなかったため却下。

そして、今回は、macmini上のFedora9/PPC + HDUS。
PC Linuxのテレビ録画が集大成となりそうな予感です。

地デジでごにょごにょなわけですが、画質もいいですし、このご時世、容量を気にしなくていいので、tsでとりあえず録画という荒業もOK。
それにしてもすごいですね。HDUSのプロトコルを解析してLinuxで動かしてしまう方々がいるということに感動です。

とりあえず今のところの構成としては下記が実現。

サーバ Macmini
OS Fedora 9/PPC
キャプチャ HDUS + SCR3310-NTTCom(B-CASのカードリーダ)
録画ソフト recfriio r4 + HDUS対応パッチ
予約ソフト vrs (MythTVはいろいろインストールする必要があるため却下)

視聴 mediatomb + PS3 と32インチのBRAVIA

とりあえず、問題点は下記の通り。
1.macminiのHDDの容量が少ない。

2.延長録画が出来ない?よね?

3.Windows PCでめぼしいDLNAクライアントがない。
(他の方は動いているらしいのですが、私の環境だとRDLNA + VLCはなぜかmediatombを認識してくれない。)

4.予約ソフトが心もとない
4-1.vrsは地デジからの番組表ではなくテレビ王国の番組表をキャッシングして文字列置換して番組表を作成しているので、テレビ王国の仕様が変わるとそれを追いかけなくてはならない。
→地デジの番組表情報を取り出して、HTML化できたらうれしい。
4-2.vrsは、地デジというかrecfriioを想定していないので、インタフェースを修正する必要がある。
逆を介せば、phpとシェルで作られているので、簡単に修正が可能というのがいい。

ちなみに今回は、環境構築のために、元にしたvrsがEUCであったので、せこせこUTF-8に修正。
番組情報もiEPGがshift-jisで記述されていてEUCにコンバートする処理が入っていたので、その部分をUTF-8にコンバートするよう文字コード指定を変えてみたり。
ごにょごにょ.sysの読み込み場所がrecfriioと同一ディレクトリではなく、呼び出し時のカレントディレクトリだった(fopenでパス指定なしのファイル名だった)ためとりあえず決め打ちとして、recfriioのソースをちょっとだけ改編したりしました。

5.録画後に、ts→divx/H.264などの再エンコードができればうれしい。

6.欲を言えば、衛星デジタルは録画したい~ (黒friioがあればいいのか~)。

まあ、間借なりにも、きれいな画像が、常時起動しているPCサーバで録画できたため非常にうれしいです。
PT1も出てくるし、今後の動向に期待です。というかLinux周りがもっと強くなって欲しいですね。
(PT1はMacminiじゃ使えない。。。というかLinuxで使える日がくるのかどうか?)

このアーカイブについて

このページには、2008年10月以降に書かれたブログ記事のうちServerカテゴリに属しているものが含まれています。

前のアーカイブはServer: 2008年5月です。

次のアーカイブはServer: 2008年12月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。