機械バカ一代

機械モノおたくのたわごと。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

スポンサー広告 |

Debian wheezy ノートにFriio+epgrec+mediatombで、Vierraから快適に録画。

dlnaサーバー構築


日本に帰国したので、録画サーバーの再構築。

まぁ・・・すんごく長いので、追記を「その気がある人だけ」読んでね。


7~8年前のロースペックノートPC (Celeron 1.4GHz, RAM 512MB......)に、Debian wheezy をインストール。
録画+DLNAサーバーとして安定運用させるまでの記録。

1)Debian Wheezy インストール:

まぁ、この辺は普通に、ここから、http://cdimage.debian.or.jp/current/i386/iso-dvd/debian-7.7.0-i386-DVD-1.isoを落として、DVDに焼きやき。。

BIOSを設定して、BOOTさせればいつもの手順ですんなり入ります。

DVDブート→最小構成+アパッチでインストール。
-------------
2)環境設定:

2-0)bashの設定:

ほとんどの場合、居間から無線で繋いだノート(Win7)から、TeraTermでCUI操作するので、
lsコマンドの実行時にカラー表示+ファイル属性を表示させる。

エイリアスの追加:
# vi /etc/profile

# 最終行にエイリアス追記
alias ls='ls -F --color=auto'

# source /etc/profile# ←変更を反映

2-1)SSH設定:
これが無いと始まりません。

インストール:
# aptitude install ssh

設定:

#/etc/ssh/sshd_configを編集します。

#PasswordAuthentication yes

の、#を外して、パスワード認証を許可。

PermitRootLogin yes

という行を追加して、root権限のままログインできるようにします。

#/etc/init.d/sshd restart

2-2)Vim 設定:

エイリアスの追加:
# vi /etc/profile

# 最終行にエイリアス追記
alias vi='vim'

# source /etc/profile# ←変更を反映

設定ファイル(グローバル)

*めんどうくさいので、大抵はグローバルに変更を反映:
 (どーせ設定すんのは、俺だけやし・・・)

/etc/vimrc

設定ファイル(ローカル)
/home/~/.vimrc

設定いろいろ。
set nocompatible (vi互換モードを廃止、INSERTモードでは、方向キーとbackspaceが効く。)
set backspace=indent,eol,start (改正のバックスペース)
set nowrap (長い行は自動的に折り返されない)
set ruler (ルーラーを開く)
syntax on (色設定ON)
set number (行番号の表示)

2-3)xinetd インストール:

# aptitude install xinetd

xinetd 起動
# /etc/init.d/xinetd start
-------------
開発環境の組み立て:

1)コンパイル関係:
# aptitude install g++ wget unzip make build-essential git cmake libboost-regex-dev yasm libglib2.0-dev
# aptitude install libboost-filesystem-dev libboost-thread-dev
# aptitude install libdb5.1-stl libdb5.1-stl-dev libboost-all-dev

2)ICカード関係:

#aptitude install pcscd libpcsclite1 libpcsclite-dev libccid pcsc-tools

-------------
-------------
まずは、録画できる環境を作ります・・・・が、

実家に転がっていたのは、黒Friio・・・・(地デジが録画できない)・・・・・orz
以前使っていた白Friioは夏の暑さで数年前に☆ミ・・・・・羊羹を剥がしても復活せず・・・・・

まぁ、こいつに、これまた実家に転がっていた適当なB-CASを挿して使うとするか。。。

-------------
2-4) usb_dvb_friioのアンロード:(先にやっておく・・・)

最近のDebianは、ある意味優秀。
自動でusb_dvb_friioなんてモジュールをロードしてくれる。
しかし、このモジュールはデバイスを専有しちゃって、recfriioからアクセスできなくなってしまう。
そこで、前もってアンロードしておきます。

/etc/modprobe.d/に、friio-blacklist.confというファイルを作って、reboot.

----ファイルの内容-------
# This file blacklists for friio.

blacklist dvb_usb_friio
-------------------
さて、Linux用Friioの録画コマンドrecfriioを持ってきます。
・・が、その前に作業用のディレクトリを作りましょう。

本家のepgrecやrecfriioは、更新が「ほぼ止まってる」ので、STZ版を使います。

# cd /usr/src/
# ls
# mkdir STZ
# cd STZ


recfriio とb25のビルド:(STZ版)

# git clone https://github.com/stz2012/recfriio.git

#cd recfriior5/
そのままではMakeが通らないので・・AbstractFriio.cppを編集します。

#vi AbstractFriio.cpp

#include
#include  
#include
#include <--追加
#include

#include
#include
#include <--追加
#include "usbops.hpp"
#include "AutoCloser.hpp"
#include "AbstractFriio.hpp"

1.4GHz, 512MBという非力なノートなので、
TSのSplitは後で考えるとして、最小構成でコンパイルしないと・・・オーバーフローします。
そのため、Makefileを編集。

#vi Makefile

# options
B25 = -DB25
HDUS = -DHDUS <--コメントアウト (HDUS専用バージョンにするオプション)
UDP = -DUDP <--コメントアウト (非力だしね・・ストリーミングは無理)
#HTTP = -DHTTP
TSSL = -DTSSL <--コメントアウト(segmentation fault 対策)

39行目:-lboost_systemを追加

LIBS = -lpthread -lboost_thread-mt -lboost_filesystem `pkg-config --libs glib-2.0`

LIBS = -lpthread -lboost_thread-mt -lboost_system -lboost_filesystem `pkg-config --libs glib-2.0`

あとは、普通に・・・・

#make

で、recfriio とb25が出来てます。

#cp ./recfriio /usr/local/bin
#cp ./b25 /usr/local/bin

で、放り込んでおきます。

: 動作設定:

/etc/udev/rules.dに91-friio.rulesを作成してパーミッションを設定する。

----ファイル内容-----
1 ACTION!="add|change", GOTO="permissions_end"
2
3 # friio
4 SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", \
5 ATTRS{idVendor}=="7a69", ATTRS{idProduct}=="0001", \
6 MODE="0664", GROUP="video"
7
8 LABEL="permissions_end"
----ファイル内容ここまで-----

# reboot ← 再起動

録画できるかテスト。

#recfriio

↓チャンネルリストの表示:

usage: recfriio [--b25 [--round N] [--strip] [--EMM] [--sync]] [--lockfile lock] [--lnb] channel recsec destfile
Channels:
13 - 62 : UHF13 - UHF62
B1 ,BS01_0: BS朝日 C1 ,CS2 : ND2 110CS
B2 ,BS01_1: BS-TBS C2 ,CS4 : ND4 110CS
B3 ,BS03_0: WOWOWプライム C3 ,CS6 : ND6 110CS
B4 ,BS03_1: BSジャパン C4 ,CS8 : ND8 110CS
B5 ,BS05_0: WOWOWライブ C5 ,CS10: ND10 110CS
B6 ,BS05_1: WOWOWシネマ C6 ,CS12: ND12 110CS
B7 ,BS07_0: スターチャンネル2/3 C7 ,CS14: ND14 110CS
B8 ,BS07_1: BSアニマックス C8 ,CS16: ND16 110CS
B9 ,BS07_2: ディズニーチャンネル C9 ,CS18: ND18 110CS
B10,BS09_0: BS11 C10,CS20: ND20 110CS
B11,BS09_1: スターチャンネル1 C11,CS22: ND22 110CS
B12,BS09_2: TwellV C12,CS24: ND24 110CS
B13,BS11_0: FOX bs238
B14,BS11_1: BSスカパー!
B15,BS11_2: 放送大学
B16,BS13_0: BS日テレ
B17,BS13_1: BSフジ
B18,BS15_0: NHK BS1
B19,BS15_1: NHK BSプレミアム
B20,BS17_0: 地デジ難視聴1(NHK/NHK-E/CX)
B21,BS17_1: 地デジ難視聴2(NTV/TBS/EX/TX)
B22,BS19_0: グリーンチャンネル
B23,BS19_1: J SPORTS 1
B24,BS19_2: J SPORTS 2
B25,BS21_0: IMAGICA BS
B26,BS21_1: J SPORTS 3
B27,BS21_2: J SPORTS 4
B28,BS23_0: BS釣りビジョン
B29,BS23_1: 日本映画専門チャンネル
B30,BS23_2: D-Life


↓B-CASの確認

#pcsc_scan

----------------

PC/SC device scanner
V 1.4.20 (c) 2001-2011, Ludovic Rousseau
Compiled with PC/SC lite version: 1.8.3
Using reader plug'n play mechanism
Scanning present readers...
0: Alcor Micro SCR001 00 00

Fri Dec 19 19:13:02 2014
Reader 0: Alcor Micro SCR001 00 00
Card state: Card inserted,
ATR: 3B F0 12 00 FF 91 81 B1 7C 45 1F 03 99

ATR: 3B F0 12 00 FF 91 81 B1 7C 45 1F 03 99
+ TS = 3B --> Direct Convention
+ T0 = F0, Y(1): 1111, K: 0 (historical bytes)
TA(1) = 12 --> Fi=372, Di=2, 186 cycles/ETU
21505 bits/s at 4 MHz, fMax for Fi = 5 MHz => 26881 bits/s
TB(1) = 00 --> VPP is not electrically connected
TC(1) = FF --> Extra guard time: 255 (special value)
TD(1) = 91 --> Y(i+1) = 1001, Protocol T = 1
-----
TA(2) = 81 --> Protocol to be used in spec mode: T=1 - Unable to change - defined by interface bytes
TD(2) = B1 --> Y(i+1) = 1011, Protocol T = 1
-----
TA(3) = 7C --> IFSC: 124
TB(3) = 45 --> Block Waiting Integer: 4 - Character Waiting Integer: 5
TD(3) = 1F --> Y(i+1) = 0001, Protocol T = 15 - Global interface bytes following
-----
TA(4) = 03 --> Clock stop: not supported - Class accepted by the card: (3G) A 5V B 3V
+ Historical bytes:
+ TCK = 99 (correct checksum)

Possibly identified card (using /usr/share/pcsc/smartcard_list.txt):
3B F0 12 00 FF 91 81 B1 7C 45 1F 03 99
Japanese Chijou Digital B-CAS Card (pay TV)
----------------
録画テスト

# recfriio --b25 B10 180 /tmp/test.ts
B25Decoder initialized.
Search friios from dir: /dev/bus/usb
1 friios found:
/dev/bus/usb/001/005: use this friio.
device: /dev/bus/usb/001/005
Signal level: 16.0004
Output ts file.

# ls -lp test.ts
-rw-r--r-- 1 root root 419593816 12月 19 19:22 test.ts

・・・・動いた。。

後は、明日ねん。










スポンサーサイト
Linux | コメント:0 | トラックバック:0 |
<<Debian wheezy ノートにFriio+epgrec+mediatombで、Vierraから快適に録画(その2)。 | HOME | 国産レジャーバイクの系譜(その21)>>

この記事のコメント

コメントの投稿















コメント非公開の場合はチェック

この記事のトラックバック

| HOME |
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。