TV録画コマンドの recpt1 で録画はできるけど b25 decoder が効いていない
$ recpt1 -b -s 27 60 recordtest202208021.ts
using B25...
enable B25 strip
pid = 6665
C/N = 5.487941dBCannot start b25 decoder
Fall back to encrypted recording
Recording...
Recorded 60sec
sudo したら b25 decoder が効いたというウワサもあったので試してみましたが解決しませんでした。
環境
- Ubuntu 20.04 Ja LTS
- PLEX PX-Q3PE4
- NTT SCR3310-NTTCom スマートカードリーダー
- B-CAS カード(赤)
カードが読めることを確認
$ pcsc_scan
Using reader plug'n play mechanism
Scanning present readers...
0: NTT Communications Corp. SCR3310-NTTCom USB SmartCard Reader [Vendor Interface] 00 00
Tue Aug 2 02:58:43 2022
Reader 0: NTT Communications Corp. SCR3310-NTTCom USB SmartCard Reader [Vendor Interface] 00 00
Event number: 0
Card state: Card inserted, Shared Mode,
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)
・
・
・
カードリーダーと B-CAS Card は問題なさそうですね。
libatrib25 をインストールする
どうも以前環境構築したときに、
libarib25 (STZ版)
https://github.com/stz2012/libarib25
をインストールしていなかったらしい。
改めて、インストールします。
先ず、ビルドに必要なツールをインストール
$ sudo apt-get install autoconf build-essential cmake curl git libssl-dev libtool libboost-all-dev pkg-config yasm
適当なディレクトリで、
$ git clone https://github.com/stz2012/libarib25.git
$ cd libarib25
$ cmake .
$ make
$ sudo make install
$ sudo ldconfig
これで以下がインストールできたはず。
- /usr/local/bin/b25
- /usr/local/lib/libarib25.a
- /usr/local/lib/libarib25.so.0.2.5
- /usr/local/lib/libarib25.so.0
- /usr/local/lib/libarib25.so
- /usr/local/include/arib25/arib_std_b25.h
- /usr/local/include/arib25/b_cas_card.h
- /usr/local/include/arib25/multi2.h
- /usr/local/include/arib25/ts_section_parser.h
- /usr/local/include/arib25/portable.h
- /usr/local/include/arib25/arib25_api.h
- /usr/local/lib/pkgconfig/libarib25.pc
これだけでうまく録画できるかな?
$ recpt1 -b -s 27 30 recordtest202208026.ts
using B25...
enable B25 strip
pid = 34963
C/N = 36.746671dBCannot start b25 decoder
Fall back to encrypted recording
Recording...
Recorded 30sec
未だダメ
recpt1 の再ビルド
以前ビルドした recpt1 をもう一度ビルドし直してみる
$ cd recpt1/
$ cd recpt1/
$ make clean
$ ./configure --enable-b25
$ make
$ sudo make install
$ sudo install -m 755 recpt1 recpt1ctl checksignal /usr/local/bin
さてどうかな??
$ recpt1 --b25 --strip 27 10 recordtest202208026
using B25...
enable B25 strip
pid = 35739
C/N = 36.012335dB
Recording...
Recorded 10sec
うまくいきました