20日発覚した、EPGRECの番組表が取得できない問題ですが(いつのまにか録画設定画面が真っ白になっていた)
またかと思い
調査その1 gr_channelファイルがいつの間にか出来ていたに違いない!!
⇒出来てませんでした。
調査その2 いつの間にかアップデートしてしまったに違いないと思ってドライバ関係を調査
しかし
確認1
recpt1 --b25 --strip 22 10 test22h.ts
を実行すると録画できる。
確認2
$ pcsc_scan をすると
PC/SC device scanner
V 1.4.16 (c) 2001-2009, Ludovic Rousseau
Compiled with PC/SC lite version: 1.5.3
Scanning present readers…
0: SCM SCR 3310 NTTCom (21120652242912) 00 00
Sat Nov 21 18:22:37 2015
Reader 0: SCM SCR 3310 NTTCom (21120652242912) 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)
が返ってくるのでカードリーダは大丈夫
確認3
$dmesg | grep pt1
[ 32.248607] pt1-pci.c: 1.1.0 2010-01-27
[ 33.342794] pt1_thread run
確認4
$ lspci | grep media
01:05.0 Multimedia controller: Xilinx Corporation Device 211a (rev 01)
確認3と4でpt2が認識されていることを確認
$ ls /dev/pt1*
/dev/pt1video0 /dev/pt1video1 /dev/pt1video2 /dev/pt1video3
pt2のドライバーも読み込まれている様子
まったく原因掴めず!!!
ということで、悩みまくって再インストールやMyhttv導入検討などもしていたのですが、
本日ひらめきまして、いじりまくっていた 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=/tmp_spl
TMPCONV=/tmp_cnv/work
TMPOUT=/tmp_cnv
DATE=`date +%Y%m%d%H%M`
PATH=/work
WORK=/tmp_spl
OUTPUT=/work
MV=/bin/mv
RM=/bin/rm
CP=/bin/cp
wine=/usr/bin/wine
# 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
$MV ${OUTPUT}/GR*_*_*_tss.ts ${TMPCONV} ##>/dev/null
elif [ ${MODE} = 1 ]; then
# channel 22 23 24 is recording
if [ ${CHANNEL} = “24” ] || [ ${CHANNEL} = “22” ] || [ ${CHANNEL} = “23” ]; then
$RECORDER --b25 --strip $CHANNEL $DURATION ${TMPPATH}/GR${CHANNEL}_${DATE}_${DATE}_tss.ts >/dev/null
$MV ${TMPPATH}/GR23_*_*_tss.ts ${PATH} ##>/dev/null
$MV ${TMPPATH}/GR24_*_*_tss.ts ${PATH} ##>/dev/null
$MV ${TMPPATH}/GR22_*_*_tss.ts ${PATH} ##>/dev/null
if [ “-e” ${PATH}/GR23_*_*_tss.ts ] || [ “-e” ${PATH}/GR22_*_*_tss.ts ] || [ “-e” ${PATH}/GR24_*_*_tss.ts ] ; then
#/var/www/html/epgrec/split.sh
${wine} $SPLITTER -SD -1SEG -WAIT2.5 ${PATH}/GR23_*_*_tss.ts >/dev/null
${wine} $SPLITTER -SD -1SEG -WAIT2.5 ${PATH}/GR24_*_*_tss.ts >/dev/null
${wine} $SPLITTER -EIT -ECM -EMM -SD -1SEG -WAIT2.5 ${PATH}/GR22_*_*_tss.ts >/dev/null
fi
if [ -s ${PATH}/GR23_*_*_tss_HD.ts ] || [ -s ${PATH}/GR22_*_*_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
$MV ${PATH}/GR22_*_*_tss_HD.ts ${OUTPUT} ##>/dev/null
$RM -f ${PATH}/GR23_*_*_tss.ts
$RM -f ${PATH}/GR24_*_*_tss.ts
$RM -f ${PATH}/GR22_*_*_tss.ts
else
$MV ${PATH}/GR22_*_*_tss.ts ${OUTPUT} ##>/dev/null
$MV ${PATH}/GR23_*_*_tss.ts ${OUTPUT} ##>/dev/null
$MV ${PATH}/GR24_*_*_tss.ts ${OUTPUT} ##>/dev/null
fi
else
#else channel is recording
$RECORDER --b25 --strip --sid $SID $CHANNEL $DURATION ${TMPOUT}/GR${CHANNEL}_${DATE}_${DATE}_tss.ts >/dev/null
$MV ${TMPOUT}/GR*_*_*_tss.ts ${TMPCONV} ##>/dev/null
fi
#convert to mp4
#/var/www/html/epgrec/ffmpeg_ts.sh
fi
----------------------------------------
