2013年01月06日(日) - 00:10 | カテゴリ:
Linux,
Network
以前、PT2を使用して録画鯖を構築したので、今まで録画用途で使用していたのだが
色々調べている時に“PT2(Linux)鯖からUDPストリーミングが可能”という事を知った。
で、自室にテレビが無い自分はメインPC宛にUDPストリーミングを使用してテレビを視聴していたのだが、
ストリーミングの開始やチャンネル変更には録画鯖にSSH接続をし、コマンドを叩く必要があった。
PT2鯖がWindows機なら簡単にストリーミングのチャンネル操作やらが可能なのだが、
PT2鯖がLinux機になるとチャンネル変更などの情報が殆ど出てこなかった(´・ω・`)
そして、根気強く色々とググり続けると、クライアント側からチャンネル変更の方法がなんとなく解った。
その方法は、
『recpt1のソースにパッチを当てる事でTCPストリーミングを出来る様にし、
予めVLC上に割り当てたチャンネルプレイリストからストリーミングするチャンネルの変更を可能にし、
Webブラウザからも視聴出来る様にする』
という物であり『これだ!』と思い、自分も実際にパッチを当て導入してみた。
しかし、自分にとってはなんとなく使いにくかったのと、
『なんちゃってテレビなんだから、リモコンみたいにチャンネル変更したいなぁ~』と思い出した。
という事で、リモコン型PT2(Linux)録画サーバ制御プログラム『recchal』を作ってみた。
『recchal』のダウンロードや解説はこちら
で、詳細は上記リンク先として、簡易的にでも一応解説を…
recchalはクライアント+サーバの総行数700程度(ver1.0.0)という超軽量プログラムです(´・ω・`)
自分は公開する予定は無かったのだが、某人が『折角だから公開すれば?』と言ってくれたので公開します。
recchalはクライアント側とサーバ側とでプログラムが分割されていて、
クライアント(recchal-client)から送信した制御メッセージをサーバ(recchal-server)受信し、
そのメッセージ通りの操作をシェルスクリプト越しに実行していくという手抜きプログラムになっています。
recchal-serverの方はマルチクライアントの接続に“一応は”対応しているので、
『LAN内の帯域に余裕がある』+『PT2鯖のチューナーが空いて』いれば下画像の様なLAN内での多重UDPストリーミングも可能です。
※3UDPストリーミング+バックグラウンドで録画の図
『なんで、シェルスクリプトを噛ませているの?』という疑問を持つ人もいるでしょうが、
recpt1のプログラムをそのまま使いたかったのと、
recchalはC#で書いてあるのでrecpt1を移植するのが面倒だったからです(´・ω:;.:…
C#は初めて使ったので、結構良い勉強になりました。
まぁ、暇+やる気があったら改良していきたいと思います(`・ω・´)
録画機能とか付けたいからね…
2012年12月14日(金) - 18:32 | カテゴリ:
Linux
今まで可動させていたns-lab鯖を退役させ、新鯖(kvm)への切替え作業完了
そもそも、何故にやったのかという事なのだが
今まで動作させていたwww鯖とは別の録画鯖の方がガタが来てしまい再構築する必要が出てきた為、
『なら、部屋に転がっているサーバを統一するか』という事を思い立ったので実行。
また、旧鯖のHDDはRAID1を組んでいない+碌にバックアップを取っていないという鬼畜仕様になってしまっていたので、
今回は、CentOS+kvmでの仮想鯖を新規に組み上げ、その上で各サービスを動作させる様にしてみた。
旧鯖のCPUはIntel Q8400だったのだが、
新鯖のCPUはAMD A8-3850に変更(基本的には、過去の記事に書いた通り)
また、HDDもRAID1化+自宅NASへのバックアップも行う仕様にした。
今の所はホストのCPU使用率やHDD読み書き頻度なども許容範囲内なので万々歳
あとは、実可動しだした今後でどんなエラーが出てくるかが心配事かのう…(´・ω・`)
2012年07月12日(木) - 14:30 | カテゴリ:
Linux
d3downloadsはxoops用モジュールの中でもかなり重い処理(てか、重い。もの凄く…)になる部類なのだが、
機能としてはすごく優秀かつ使いやすいので、なんとか軽量化できぬ物かと試行錯誤してみた。
d3downloadsの動作が重くなる原因としては色々あるみたいなのだが、
代表的な方法は下記サイト様で紹介されているので、今回は割愛。
自分がココにメモする方法はそれとは違うけど、環境によっては有効だと思う。
ちょい長くなるので、『やり方見たい!』という物好きな方は続き(Read more…)からどうぞ。
方法1 : php.iniを編集 + lightbox_plus.jsを差し替える方法(下記サイト様参照)
GUiLZ.ORG
方法2 : d3downloadモジュールに搭載されているMD5チェックサム計算部分を無視する方法
自分の行ったのはこの方法。
容量の小さい細かいファイルの場合はそれほど気にならないのだが、下写真の様な特大ファイルを設置する場合には有効。

…『そんな巨大なの置くなよ』という突っ込みは抜きで。Linuxのイメージとか設置する際には使わないと面倒なんですよ(´・ω・`)
この方法を使用すると、MD5チェックサムの計算が行われなくなるのと、ファイル名が表示されなくなる点は妥協するしかない。
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
# cd
# cp [XOOPS_TRUST_PATH]/modules/d3downloads/class/mydownloads.php ./mydownloads.php-
# vi [XOOPS_TRUST_PATH]/modules/d3downloads/class/mydownloads.php
内容としては、関数『file_link( $id, $cid, $title=”, …)』の中にある一部ソースコードをコメントアウトする事になる。
具体的には、1094行目付近にある
$md5 = $this->get_md5_hash( $url, $filename, $block ) ;
の先頭部に“//”をつける事でコメントアウトし、
//$md5 = $this->get_md5_hash( $url, $filename, $block ) ;
へと変更する。そして、変更したら上書きをする。最後に、保存されているキャッシュとかを消す後処理を行う。
# rm -rf [XOOPS_TRUST_PATH]/cache/
# rm -rf [XOOPS_TRUST_PATH]/templates_c/
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
全部終わったら、一応apacheをrestart(reload)して実際にページを確認してみる。
するとMD5チェックサムが表示されないかわりに、動作がキビキビしている。 …ハズ(´・ω・`)
なぜ、こうなるかと言うとd3downlaodsモジュールが呼び出される度に、
http鯖内でd3downloadsで表示するファイルのチェックサムを毎回計算しているから。
うまくやれば、計算した結果をどっかに保存しておいて、後でそれを呼び出すという方法も出来ると思うが、
自分には技量が無いので断念。
その内phpを勉強する機会もあるだろうからその時にやろうかな
« 続きを隠す