先日UPしたPV4の件ですが、J-COM録画の必須条件であるセットトップボックスの近くに
録画機を置かなきゃならないということで、
録画サーバへの実装は断念しました。もっともLinux機での稼動は難しそうだしね。
ということで、新たに録画PCの製作ですが
マザボーをP5K-PROという古い物、しかもATXボードを買ってしまったので小ささに限界が・・・
さらに資金難の折余り物ケース活用を優先した結果
Micro-ATXケースにATXボードを無理やり押し込むという作業になりました。

画像

画像

これが作業風景
完成品は取り忘れたので後日UPです。

PV4導入

こんどはJ-COM録画用にPV4を導入してみました。
PV4自体はいろんなサイトで紹介されていますし導入はカンタンに出来るものと
思うのですが、
今回は、
途方もなく大容量で録画されてしまうDVファイルを
勝手にエンコードしてくれるバッチファイルを作ってみました。
これをウインドウズにバッチ登録して深夜にエンコードしてもらってます。
録画中とのバッティングが問題ですが現在調整中
実行にはもちろん
aviutlとpowerctlの導入が必要です。
-----------------------------------------------------------
@echo off
:cd /d c:\aviutl99m
cd c:\myvideo\capture⇒自分の環境に合わせましょう
rem %は環境変数の値を使用するときに使う
rem 指定されたフォルダにある全てのdvをaviに変換する
rem echo 指定されたフォルダにある全てのdvをaviに変換します
set INPUT=c:\myvideo\capture⇒自分の環境に合わせましょう
set OUTPUT=c:\myvideo\encoded⇒自分の環境に合わせましょう
set CAPTURE_END=c:\myvideo\capture_end⇒自分の環境に合わせましょう
set AVIUTL=c:\aviutl99m\aviutl.exe⇒自分の環境に合わせましょう
FOR %%J IN (%INPUT%\*.dv) DO (
ren “%%~nJ.dvi” capture1.dvi
ren “%%~nJ.dv” capture1.dv
   if exist “capture1.dv” %AVIUTL% “%INPUT%\capture1.dv” -o “%OUTPUT%\%%~nJ.avi” -p 0 -q
cd c:\myvideo\capture
ren capture1.dvi “%%~nJ.dvi”
ren capture1.dv “%%~nJ.dv”
move /y “%%~nJ.dvi” “%CAPTURE_END%”
move /y “%%~nJ.dv” “%CAPTURE_END%”
)
if not exist “\\***.***.***.**\***\video\” goto NEXT1
FOR %%K IN (%OUTPUT%\*.avi) DO (
move /y “%%K” “\\***.***.***.**\***\video\”
)
cd /d c:\aviutl99m
powerctl 1
:NEXT1
cd /d c:\aviutl99m
powerctl 1
----------------------------------------------------

ubuntu10.04LTSで録画サーバ構築 「do-record.sh設定編」

前回に引き続き、今度はdo-record.shの設定ですが、
我が家は神奈川県なのでテレビ朝日とテレビ東京のHD分割に難点があり
うまくrecpt1だけでは分割ができないようです。
そこでテレ朝、テレ東以外は、recpt1でHD画質だけ抜き取り
テレ朝、テレ東はTSsplitterで分割する処理にしてみました。
1ファイルのスクリプトでもよいのですが
テストの都合上、do-record.shで処理をして、テレ朝、テレ東の場合だけ
split.shというスクリプトにジャンプするようにしています。
現時点での仕様は次の通り
do-record.sh
-------------------------------------------------------------------------
#!/bin/sh
echo “CHANNEL : $CHANNEL”
echo “DURATION: $DURATION”
echo “OUTPUT : $OUTPUT”
echo “TUNER : $TUNER”
echo “TYPE : $TYPE”
echo “MODE : $MODE”
echo “SID : $SID”
#echo “ST : $ST”
#echo “ET : $ET”
RECORDER=/usr/local/bin/recpt1
SPLITTER=/usr/local/bin/TsSplitter.exe
TMPPATH=/var/www/html/epgrec/video/tmp
DATE=`date +%Y%m%d%H%M`
# fail safe
case $CHANNEL in
101|102|191|192|193)
if [ $SID = ‘hd’ ]; then
SID=$CHANNEL
fi ;;
esac
if [ -z $SID ]; then
SID=’hd’
fi
if [ ${MODE} = 0 ]; then
# MODE=0では必ず無加工のTSを吐き出すこと
$RECORDER --b25 --strip $CHANNEL $DURATION ${OUTPUT} >/dev/null
elif [ ${MODE} = 1 ]; then
if [ ${CHANNEL} = “24” ] || [ ${CHANNEL} = “23” ]; then
$RECORDER --b25 --strip $CHANNEL $DURATION ${TMPPATH}/GR${CHANNEL}_${DATE}_${DATE}_tss.ts >/dev/null
  bash split.sh
else
$RECORDER --b25 --strip --sid $SID $CHANNEL $DURATION ${OUTPUT} >/dev/null
fi
fi
----------------------------------------------------------------------------------
split.sh
----------------------------------------------------------------------------------
#!/bin/sh
RECORDER=/usr/local/bin/recpt1
SPLITTER=/usr/local/bin/TsSplitter.exe
PATH=/home/public/sdb/1temp/tmp
OUTPUT=/home/public/sdb/1temp
MV=/bin/mv
RM=/bin/rm
if [ -e ${PATH}/GR23_*_*_tss.ts ] || [ -e ${PATH}GR24_*_*_tss.ts ] ; then
${wine} $SPLITTER -SD -1SEG -WAIT2.5 ${PATH}/GR23_*_*_tss.ts >/dev/null
${wine} $SPLITTER -SD -1SEG -WAIT2.5 ${PATH}/GR24_*_*_tss.ts >/dev/null
fi
if [ -s ${PATH}/GR23_*_*_tss_HD.ts ] || [ -s ${PATH}GR24_*_*_tss_HD.ts ] ; then
$MV ${PATH}/GR23_*_*_tss_HD.ts ${OUTPUT} ##>/dev/null
$MV ${PATH}/GR24_*_*_tss_HD.ts ${OUTPUT} ##>/dev/null
$RM -f ${PATH}/GR23_*_*_tss.ts
$RM -f ${PATH}/GR24_*_*_tss.ts
else
$MV ${PATH}/GR23_*_*_tss.ts ${OUTPUT} ##>/dev/null
$MV ${PATH}/GR24_*_*_tss.ts ${OUTPUT} ##>/dev/null
fi
----------------------------------------------------------------------------------

ubuntu10.04LTSで録画サーバ構築 「epgrecインストール編」

epgrecインストール
1.epgdumpr2のインストール
cd /usr/local/src/
wget ‘http://www.mda.or.jp/epgrec/index.php?plugin=attach&refer=%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E5%89%8D%E3%81%AE%E6%BA%96%E5%82%99&openfile=epgdumpr2.tar.gz’ -O epgdumpr2.tar.gz
tar xvzf .tar.gz
cd epgdumpr2/
make
#sudo cp epgdump /usr/local/bin
------------------------------------------
2.確認
atのインストール
$ sudo apt-get -y install at [Enter]
3./etc/at.denyの設定
epgrecはWebサーバーのユーザーアカウント(Ubuntuはwww-data)
でatコマンドを実行しますが、セキュリティ上の配慮からatの使用禁止ユーザーリスト
/etc/at.denyに、Webサーバーのアカウントが設定されている場合があるので解除します。
/etc/at.denyを開き、www-dataのWebサーバーのアカウント
が含まれていないか調べ、含まれていたら、その行を必ず削除します。
4./etc/passwdの確認
一部のディストリビューションでは、セキュリティ上の配慮からWebサーバーのアカウント
にnologin(ログイン不可)が設定されているのでこれも解除しますが
すでにwww-dataで設定済みでした。
5.epgrecのインストール
他のサイトを参考にして・・・・
cd /usr/local/src/後に
epgrec-20100322版を導入しましたが、うまく動きませんでした。
getepgでphpエラーが出てしまって”構文エラー”とのことなので
修正できません。
epgrecの最新版epgrec20111001版をダウンロード&インストールしたらうまく動きました。
6.設定編
1)データベース(MySQL)の設定
流れはデータベース管理用のユーザ作成、データベース作成、番組表の設定
端末から
mysql -u root -p
パスワードを求められるのでソフトウェアインストール時に設定したパスワードを入力
データベース作成
  epgrec というデータベース作成
mysql> CREATE DATABASE epgrec;
Query OK, 1 row affected (0.04 sec)
mysql> show databases;
+---------------------+
| Database |
+---------------------+
| information_schema |
| epgrec |
| mysql |
+---------------------+
5 rows in set (0.00 sec)
ユーザー作成
  epgrec というデータベースで epgrec@localhost というユーザ パスワード ×××に対しすべての権限を与える
mysql> GRANT ALL PRIVILEGES ON epgrec.* TO epgrec@localhost IDENTIFIED BY ‘×××’;
Query OK, 0 rows affected (0.00 sec)
mysql> quit
2)番組表設定
sudo gedit /var/www/html/epgrec/config.php
チャンネル番号わからないよーという方はマスプロのページを参考に
http://www.maspro.co.jp/contact/bro/bro_ch.html
地上デジタルチャンネルマップ$GR_CHANNEL_MAPの設定
を書こうと思いましたが、よく分からないし他のサイトの方が詳しいので
そちらを参考にしてください。
3)do-record.shの設定 これは次回

ubuntu10.04LTSで録画サーバ構築 「PT1 ドライバインストール編」

画像

我が家のテレビを重厚長大なブラウン管テレビから60インチ液晶AQUOSにしたので
長らく眠っていたPT1を再セットアップすることにしました。
以下手順です。
ハードウエアの装着やカードリーダの準備は他サイトにも多数の記録があるので参考にしてください。
ここではubuntuサーバに対するソフトウエアインストールを書いておきます。
基本的には、他サイトの記述をカット&ペーストしてサーバにインストールしたのですが
我が家環境ではうまくいかないこともあり、苦労したポイントなんかを書いてます。
1.まずはカードリーダのセットアップ
1)ソースリストの追加
なんでも新しいバージョンのアプリではICカードリーダーが動かないらしいので、古いバージョンのアプリを
インストールできるようにします。
テキストエディターで「sources.list」ファイルを開きます。
sudo gedit /etc/apt/sources.list
最終行に以下を追記します。
deb http://ftp.jaist.ac.jp/pub/Linux/ubuntu maverick main universe
deb-src http://ftp.jaist.ac.jp/pub/Linux/ubuntu maverick main universe
deb http://security.ubuntu.com/ubuntu maverick-security main universe
deb-src http://security.ubuntu.com/ubuntu maverick-security main universe
アップデートします。
$ sudo apt-get update
2)必要なツールをインストールします。
$ sudo apt-get install pcscd=1.5.5-3ubuntu2.1
             libpcsclite1=1.5.5-3ubuntu2.1
             libccid=1.3.11-1 pcsc-tools=1.4.16-1
とやってみましたが途中でエラーを吐いてしまってうまくインストールできません。
webで該当ツールを探してみました。
libpcsclite-dev⇒http://launchpadlibrarian.net/70522559/libpcsclite-dev_1.5.5-3ubuntu2.1_i386.deb
        は依存関係でNGなんか上手く入らなかったっぽいです。
      ※sudo apt-get aptitude libpcsclite-dev にてむりやりインストールしました。
       但し
       libpcsclite1_1.5.3ubuntu4.2にダウングレードして依存関係を解決しました。
libpcsclite⇒http://launchpadlibrarian.net/70522563/libpcsclite1_1.5.5-3ubuntu2.1_i386.deb
       をダウンロードインストール
libccid⇒インストールok
linux-headers⇒sudo apt-get install linux-headers-`uname -r` 最新バージョンでインストール済
build-essential⇒インストールok
autoconf⇒インストールok
pcsc-tools⇒インストールok
pcscd⇒http://launchpadlibrarian.net/70522564/pcscd_1.5.5-3ubuntu2.1_i386.deb
   をダウンロードインストール
もしも間違ってインストールした場合は下記を実行して削除してから再トライすると上手くいくかも・・
$ sudo aptitude remove pcscd libpcsclite-dev libpcsclite1 libccid libpcsc-perl pcsc-tools
SCR3310-NTTComのランプが点滅します。点滅すれば設定は成功です。点滅しなかったら
手順を間違えた可能性があります。初めからやり直してみて下さい。
3)確認
sudo pcsc_scan
を実行してください.ズラズラと文字が出て,最後に
Japanese Chijou Digital B-CAS Card (pay TV)
が出たら上手くいってます.確認できたらCtrl+C で終了します.
いろいろ環境を変えたら
  sudo /etc/init.d/pcscd restart
しましょう。
2.PT1ドライバインストール
b25というソフトがデジタル放送のスクランブルを復号化してくれるそうです
(ということは、b25がないと映像が見れない?)。
最新のドライバはb25を含んでいないそうなのでいろいろ探したら
http://hg.honeyplanet.jp/pt1のchangeset c44e16dbb0e2にありました。
(「hg no longer accepts ‘#’ in a template」をクリックして、左のzipとかbz2を
クリックしてダウンロード)。
cd /usr/local/src/に保管
pt1-c44e16dbb0e2.tar.bz2
このファイルを展開する。
tar zxvf pt1-c44e16dbb0e2.tar.bz2
cd /usr/local/src
cd /pt1-c44e16dbb0e2/PT2/driver/
1)ドライバをビルド
# make -C /lib/modules/`uname -r`/build M=`pwd` V=1
ここで
error: implicit declaration of function ‘schedule_timeout_interruptible’
というエラーメッセージが表示される。pt1_i2c.cに#include
追記すればちゃんとmakeされる。
2)インストール
# make -C /lib/modules/`uname -r`/build M=`pwd` V=1 modules_install
モジュールを有効にします。
# sudo depmod -a
ルールファイルをコピーします。
# cp -ip etc/99-pt1.rules /etc/udev/rules.d/
Ubuntu再起動します。
# reboot
3)確認
dmesg | grep “\] [pP][tT]1”
[ 10.033988] pt1-pci.c:v1.00 11/28/2008
[ 10.432032] PT1:ISDB-S Sleep
[ 10.488060] PT1:ISDB-S Sleep
[ 10.544117] PT1:ISDB-T Sleep
[ 10.600036] PT1:ISDB-T Sleep
[ 10.656092] PT1: device[0]=(null)
[ 10.656400] PT1: card_number = 0
[ 10.656756] PT1: card_number = 0
[ 10.656909] PT1: card_number = 0
[ 10.657047] PT1: card_number = 0
[ 10.788346] pt1_thread run
以上でPT2ドライバのインストールは完了です。
3.録画ツールのインストール
1)arib25
cd /usr/local/src/pt1-c44e16dbb0e2/arib25/src
make
make install
2)recpt1をコンパイル・インストールします
cd /usr/local/src/pt1-c44e16dbb0e2/recpt1
make
make install
これで、録画系ドライバのインストールは完了です。
ところが・・・・
試しにコマンドラインから録画指示してみても上手くいかなかったりして・・・
4.トラブルその1
現象
1)25チャンネルが一度だけ低画質で録画された。他は録画してもVLCでも再生不可
2)コマンドにてrecpt1 --strip --b25 27 10 test.tsと打ってみても
 b25_decode failed
 b25->put failed
になってしまう。エラーコードが出ないのも痛い
うまく行かないので次に方針変更して再インストすることに・・・
対策1
 1.ソフトインストールはこのまま
 sudo apt-get install mercurial gcc pcsc-tools pcscd
   libpcsclite-dev boost-build g++ libboost-filesystem-dev
   libboost-thread-dev libglib2.0-dev libboost-regex-dev
   build-essential autoconf php5-cli
 2.ドライバインストール
 1)arib25はこのまま
 cd /usr/local/src/pt1-c44e16dbb0e2/arib25/src
 make
 make install
 ※ここは、/arib25でも/arib25/srcでも同じみたいですね。
 2)ドライバ&recpt1を実績あり新しめからダウンロード
 たとえばコレ pt1-38a793ac3d9d を展開して
 $cd ~/pt1-38a793ac3d9d/driver
 $ make -C /lib/modules/`uname -r`/build M=`pwd` V=1
 ⇒エラーがでるのでsudo make のみで行うとすんなり通った
 $ sudo make -C /lib/modules/`uname -r`/build M=`pwd` V=1 modules_install
 ⇒同じくエラーがでるのでsudo make install のみで実施
 $ sudo depmod -a
 $ sudo cp etc/99-pt1.rules /etc/udev/rules.d/
 $ sudo shutdown -h now
 そして「recpt1」
 $ cd ./pt1-38a793ac3d9d/recpt1
 $./autogen.sh       ⇒無しでもヘーキかも意味不明だし
 $./configure -enable-b25 ⇒無しでもヘーキかも意味不明だし
 $make
 $sudo make install
 $sudo cp ./recpt1 /usr/local/bin
 ⇒録画は出来るようになったが再生不可能
Recording…
b25->put failed
b25_decode failed (code=-4). fall back to encrypted recording.
5.トラブルその2
ここまでやって気づいたのは、ひょっとしてアンテナ???
そこでチェックシグナルしてみると
checksignal --device /dev/pt1video2 --lnb 15 25
checksignal --device /dev/pt1video2 --lnb 11 25
checksignal --device /dev/pt1video2 --lnb 11 25
上記のようにchecksignalしてみるがいずれも20~25db程度しか出ていない。
そこで配線やアンテナを見直してみることにしました。
そしたら
⇒アンテナケーブル交換によって24~28dbに向上
 録画&再生は全チャネル出来た。
 しかし画質はワンセグ画質
 最初-enable-b25のところを間違えて--enable-b25としてしまっているのが原因?
 とおもったけど全然違うみたい。
6.トラブルその3
さらにここまでやって、ひょっとしてrecpt1でHD画質指定出来ることに気が付いたので
試してみると。
 /home/public/sda$ recpt1 --b25 --strip --sid hd 24 15 test24h.ts
      using B25…
      enable B25 strip
      pid = 4599
      C/N = 27.567718dB
      Recording…
      Available sid = 1064 1065 1066 1448
      Chosen sid = 1064
      Recorded 16sec
 無事HD画質で録画されていました。
どーもすんません。

カメラ

画像

雨が降ると、カメラが作動してしまうので
防犯用カメラに傘を付けてみました。
上面には、屋根用の防水シートを貼って完璧にして・・・・

キャビネット

画像

キャビネット完成しました~~~!!
ということで、9月くらいからダラダラと作っていたベッドサイド用キャビネット!
完成して引き渡されていきましたー。
ということで写真は上のサイドパネルしか残ってないです。
あまりにスローペースで仕事をするあまり記録に関心が無くなったかも・・・
完成写真の撮り忘れに気付いたときは既に引渡し翌日でした。
とはいえナカナカ今回のは出来も良く(記憶)
楽しかったので、年末に掛けて家の残作業を片付けてしまって
次期モデルの作成に掛かろうかな・・ と思ってます。

タブレット

画像

ブログの更新を怠っているあいだに、タブレットがこんなに増えてしまいました。
一番小さいのが、E-MOBILE S31HWで1年半前に購入したのですが
やはり小さすぎて見ずらいので、使わなくなってしまいました。
7インチの中華PADも便利に使っていたのですが、ネットワーク機能が壊れてしまったので
ドコモのキャンペーンでE-MOBILEから乗り換えついでに導入したのが、
10インチのACER A700です。(コストコのドコモ「Xi」(クロッシィ)割キャンペーンでタダでした)
大きくてとても使い易いのですが、混んでる電車のなかではちょっぴり使いずらいなあと
思っていたら、
思わず、中華PADの後継機「原道N50」を購入してしまいました。
現在は、A700とN50を使い分けながら活用中です。
以前はS31HWをモバイルルータ替わりにして中華PADを使っていたのですが
ドコモのモバイルルータに変えました。

とても満足なモバイル生活になりつつあるのですが
モバイルルータと原道N50の電池消費が早いのでもう少し持ってくれると良いのですが・・・

イーサネット コンバータ

我が家の有線ネットワーク工事の件は以前に書いたのですが、
ネットワークをはりめぐらせてあると言っても、届かないところはあるわけで・・・・
そんなときに

PLANEX MZK-SC300N2
amazonでこんなものを発見!
有線LANしか持っていない機器の無線アンテナ替わりとして
APと接続してくれるという優れものです。
しかも2260円?(位だった)と破格の良心値段です。
PLANEX社製というのと破格値段ということで多少いやな予感はしたのですが・・・・
  
  ・
  ・
  ・
  ・
購入してしまいました。 しかも我が家のAPは全てCOREGA製だし不安はありますが・・・・・
注文してすぐ届いたのは良いのですが、やはりダメダメでした。
設定は、DHCP、固定IP、セキュリティもWEP、WPAなどあらゆるパターンを
トライして、PLANEXさんのサポートデスクも熱心に(一般論的な・・・)アドバイスを
いただいたのですが・・・
現象としては、電源ONすると接続するのですがLOSTすると再接続してくれないという現象・・・!
したがって接続しているメディアプレーヤーも起動するたびにイーサネットコンバータも再起動を
掛けるという運用で耐え凌いでおりました。
サポートデスクさんとのメールも5回くらいになったところ、
新宿のじゃんぱらさんでPLANEX製APが新品ジャンク500円で売られているのを発見!
ダメモトで購入して、PLANEX製AP&コンバータでテスト運用してみると
やはり・・・・・・・・、一発成功しました。
相性というのか、ファームウエアの作りの問題というか
なんとなく、このコンバータって同じPLANEX社製のコンビでないと動かないのでは????
という感じです。
ちなみに我が家のAPはコレガ製が2台ありますがいずれもPLANEX製コンバータとの相性は
ダメダメでした。

ブログンエラー

ひさしぶりの更新になりましたが、
実は長らくブログの更新画面に入れないトラブルがあって、サーバ調査をすれば良いものを
めんどくさくて放っておいただけなんですが・・・・・
ということで本日エラーログを解析してみると、
サーバのブログ用アプリケーションエラーなので
apache2のエラーログ(var/log/apache2の中ですね)
を見ると、
[Sat Nov 03 11:33:08 2012] [error] [client ***.***.***.**] PHP Warning: Unknown: POST Content-Length of ** bytes exceeds the limit of ****** bytes in Unknown on line 0, referer: http://jose.mydns.jp/****/****
というエラーメッセージを吐き出していて、
つまりは、post_max_sizeの指定を超えたサイズのデータをサーバが受け取っているということ
らしいです。
これは、php.iniファイルのmemory_limitとpost_max_sizeを修正して
memory_limit → 扱えるメモリの上限。これを超えるとKillされる。
post_max_size → Post時に扱えるデータサイズの上限。
         これを超えると空配列がわたされる。
もちろんmemory_limitをpost_max_sizeよりも大きくして
修正するとあっさり直りました。