ブログトップ

Tom's Lab

tomslabo.exblog.jp

Tomの研究所

<   2012年 01月 ( 3 )   > この月の画像一覧

2012月1月29日(日)晴れ 寒い
Xtreamer(DC-MCNP1)でチョット困るのは、ビデオリストのソート指定が出来ないこと。
私の場合、REGZAでの再生を意識して、ファイル名は
yyyymmddhhmm_ビデオタイトル.ts
となっています。

このファイル名の場合、REGAでは最新のビデオファイルから表示されのですが、DC-MCNP1は一番古いファイルから表示される。なのでチョット不便。

てな訳で、これを意識したファイル名をハードリンクで作成するPHPを作ってみた。

汎用性を考えてシンボリックリンクで作成したかったのですが、NFSではシンボリックリンクファイルの作成はできませんでした。sambaではOKです。結局ハードリンクにしました。


#!/usr/bin/php -q

/*=======================================================================*/
//
// 先頭がYYMMDD(HHMM)から始まるTSファイル名のYYYYMMDDを取得し、
// "20201231"からの差分日付を先頭に付加したリンクファイルを作る
// exp
// 2012301800_XXXXXX.ts → 0001_301800_XXXXXX.ts
//
/*=======================================================================*/
$videoDir = '/video';
$XtreamerDir = '/video/.Xtreamer';

// rmdir -f /video/.Xtreamer
removeDir($XtreamerDir);

// mkdir /video/.Xtreamer
mkdir($XtreamerDir);

// サブディレクトリー表示
if ($dirHandle = opendir($videoDir)) {
/* ディレクトリをループする際の正しい方法です */
while (false !== ($subDir = readdir($dirHandle))) {
if (($subDir == '.') OR ($subDir == '..')) {
continue;
}
if (substr($subDir,0,1) == '.') {
continue;
}
if (!is_dir($videoDir.'/'.$subDir)) {
continue;
}

$makeDir = $XtreamerDir.'/'.$subDir;
// echo $makeDir."\n";

// mkdir
mkdir($makeDir);

// シンボリックリンクを作成する
if ($tsHandle = opendir($videoDir.'/'.$subDir)) {
//ディレクトリをループする際の正しい方法です
while (false !== ($file = readdir($tsHandle))) {
if (($file == '.') OR ($file == '..')) {
continue;
}
if (!(stripos($file,'.ts'))){
continue;
}
if (stripos($file,'.ts.meta')){
continue;
}

// 日付の差を計算
$diff = (strtotime("20201231") - strtotime("20".substr($file,0,6))) / (24 * 3600);
$diff = substr("0000".$diff,-4);

// ハードリンク
$src = "$videoDir/$subDir/$file";
//print $src."\n";
$dst = "$XtreamerDir/$subDir/$diff"."_".substr($file, 4);
//print $dst."\n";
//symlink($src, $dst);
link($src, $dst);
}
}
}
}

function removeDir($dir) {
if ($handle = opendir($dir)) {
while (false !== ($item = readdir($handle))) {
if ($item != "." && $item != "..") {
if (is_dir("$dir/$item")) {
removeDir("$dir/$item");
}
else {
unlink("$dir/$item");
}
}
}
closedir($handle);
//
rmdir($dir);
}
}
?>
[PR]
by tomslabo | 2012-01-29 14:46 | メディアプレイヤー
2012年1月22日(日)晴れ でも寒い

以前、風呂でビデオを見るために以下の構成で運用していた
・PC + Matrox G450 (DVDMax利用)
・PCに赤外線リモコン受信機を接続
・風呂に防水リモコンを設置

d0182233_12301651.jpg


その後、PCを変えたため、AGPのMatrox G450は使えなくなり、
対策としてダウンスキャンコンバータを利用して運用しようと
考えたが、コンバータの出力する画像が満足できず使わなくなった。

しかし冬の休日のお気に入りは、昼間風呂に入るのと、DVD鑑賞。
またシステムを構築するにした。
構成は以下
d0182233_12355818.jpg


DC MCNP-1は以前から寝室で使っており、今回新たにXtreamer SideWinder2
を購入(7,500円 送料込み)。そしてDC CMNP-1を風呂用に使うことにした。
d0182233_12441268.jpg


iPod touchでのリモコン操作は0.5秒ぐらいのタイムラグがあるが十分な許容範囲。
しいていえば防水パッケージが鬱陶しい。
d0182233_12443735.jpg



さほど使わないのに、防水スマートフォンの中古を買ってしないそうなのが怖い。。。
[PR]
by tomslabo | 2012-01-22 12:36 | メディアプレイヤー
2012年1月1日(日)

明けましておめでとうございます。
最近仕事が忙しくでPCを弄ってなかったのでブログの更新も出来てませんでした。

年末年始は休暇が取れたので、チョット弄ってたら早速問題発生。

Androidにて、自家製のサーバにアクセスしファイルをダウンロードしようとしたら、ダウンロードができない。ダウンロード中の状態になっているが、実際はダウンロードは進まず止まっている様子。

調べてみると以下が原因見たい。

【現象】
ブラウザーにて自家製証明書にて運用しているSSLサイトにアクセスした場合、確認できない証明書を受け入れるかどうか聞かれ、受け入れるとした場合、その証明書を利用してWEBサイトのアクセスができる。
しかしファイルをダウンロードする際はダウンロードマネージャが起動しても、ブラウザで許可した証明書であることの情報が引き継がれず、サーバとの暗号化処理が正常にできずリトライ状態が続きダウンロードが終わらない。

【回答】
Android の仕様です。
ブラウザとDownload を行うモジュールは異なっておりSSL認証情報を引き継ぎません。

と言うことらしい。


早速、サーバの設定をhttpsからhttpに変更したら無事にダウンロードが成功。
勉強になりました。でも個人的にサーバ運用セキュリティーの観点からチョット困ってしまいますが。。。
[PR]
by tomslabo | 2012-01-01 22:23 | Android