pt2 をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
ひさびさに録画してみたい気分になったので RHEL9系の rockyl...
chardev 向けのみで dvb版は作ってないです
***録画機 [#vefde79d]
非常に古いマシンです
i7-4771(3.5GHz[3.9GHz, 0.8GHz], 4c/8c), 32GB mem, 120GB S...
pt2を2枚積んでます
#code(nonumber){{
[root@pt ~]# cat /etc/redhat-release
Rocky Linux release 9.7 (Blue Onyx)
[root@pt ~]# uname -r
5.14.0-611.24.1.el9_7.x86_64
[root@pt ~]# lspci
:
05:00.0 Multimedia controller: Xilinx Corporation Device ...
05:01.0 Multimedia controller: Xilinx Corporation Device ...
:
[root@pt ~]#
}}
***カードリーダデバイス [#tb19a2a4]
NTTコミュニケーションズさんの SCR3310-NTTCom をもっており...
ただこの SCR3310-NTTCom は終板でもう売っていない。
#code(nonumber){{
[root@pt ~]# dnf install usbutils
[root@pt ~]# lsusb
:
Bus 002 Device 002: ID 04e6:511a SCM Microsystems, Inc. S...
:
[root@pt ~]#
}}
カードリーダーツール「pcsc-tools」を入れます.
「pcsc-tools」と直接には関係ないかもだけど、後ほど作る「l...
けど RHEL9系 rockylinux9 の リポジトリには入ってないよう...
っで「pcsc-tools」のインストールの前にこの作った「pcsc-li...
#code(nonumber){{
[root@pt ~]# dnf --enablerepo=crb install doxygen polkit-...
[root@pt ~]# rpm -Uvh https://dl.rockylinux.org/pub/rocky...
[root@pt ~]# rpmbuild -bb rpmbuild/SPECS/pcsc-lite.spec
[root@pt ~]# dnf localinstall \
./rpmbuild/RPMS/x86_64/pcsc-lite-1.9.4-...
./rpmbuild/RPMS/x86_64/pcsc-lite-devel-...
./rpmbuild/RPMS/x86_64/pcsc-lite-libs-1...
(BaseOSから pcsc-lite-ccid が依存で入ります)
[root@pt ~]#
}}
このように pcsc-liteを入れてから pcsc-tools をインストー...
#code(nonumber){{
[root@pt ~]# dnf install pcsc-tools
[root@pt ~]# systemctl status pcscd
○ pcscd.service - PC/SC Smart Card Daemon
Loaded: loaded (/usr/lib/systemd/system/pcscd.servic...
Active: inactive (dead)
TriggeredBy: ● pcscd.socket
Docs: man:pcscd(8)
[root@pt ~]#
}}
PC/SCカードリーダーにB-CASカードを入れたままで
#code(nonumber){{
[root@pt ~]# pcsc_scan
PC/SC device scanner
V 1.6.2 (c) 2001-2022, Ludovic Rousseau <ludovic.rousseau...
Using reader plug'n play mechanism
Scanning present readers...
0: NTT Communications Corp. SCR3310-NTTCom USB SmartCard ...
Fri Feb 6 00:24:03 2026
Reader 0: NTT Communications Corp. SCR3310-NTTCom USB Sm...
Event number: 0
Card state: Card inserted,
ATR: 3B F0 12 00 FF 91 81 B1 7C 45 1F 03 99
:
:
Japanese Chijou Digital B-CAS Card (pay TV)
:
}}
と表示されれば、OK。[Ctrl-C]でpcsc_scanを停止。
***libarib25の作成 [#l27d8a21]
ありがたい著作権保護機能の仕様を理解する為のツール libari...
今ではgithubで公開しているみたい [[https://github.com/stz...
ただこれをコンパイルしてインストールするには先にrpmbuild...
#code(nonumber){{
[root@pt ~]# cd /apps/src/
[root@pt src]# git clone https://github.com/stz2012/libar...
[root@pt src]# cd libarib25/
[root@pt libarib25]# ls -l
total 64
-rw-r--r--. 1 root root 6462 Feb 6 00:46 CMakeLists.txt
-rw-r--r--. 1 root root 1446 Feb 6 00:46 CMakeSettings....
-rw-r--r--. 1 root root 11373 Feb 6 00:46 LICENSE
-rw-r--r--. 1 root root 497 Feb 6 00:46 NOTICE
-rw-r--r--. 1 root root 14708 Feb 6 00:46 README.md
-rw-r--r--. 1 root root 15432 Feb 6 00:46 README.org
drwxr-xr-x. 2 root root 124 Feb 6 00:46 cmake
drwxr-xr-x. 2 root root 4096 Feb 6 00:46 src
[root@pt libarib25]#
[root@pt libarib25]# mkdir build && cd build
[root@pt build]# cmake .. -DCMAKE_INSTALL_PREFIX=/apps/li...
[root@pt build]# make
[root@pt build]# make install
[root@pt build]# ls -l /apps/libarib25/
total 0
drwxr-xr-x. 2 root root 17 Feb 6 01:27 bin
drwxr-xr-x. 3 root root 20 Feb 6 01:27 include
drwxr-xr-x. 3 root root 110 Feb 6 01:27 lib64
[root@pt build]#
[root@pt build]# ls -l /apps/libarib25/lib64/
total 100
-rw-r--r--. 1 root root 48722 Feb 6 01:27 libarib25.a
lrwxrwxrwx. 1 root root 14 Feb 6 01:27 libarib25.so -...
lrwxrwxrwx. 1 root root 18 Feb 6 01:27 libarib25.so.0...
-rwxr-xr-x. 1 root root 49752 Feb 6 01:27 libarib25.so.0...
drwxr-xr-x. 2 root root 26 Feb 6 01:27 pkgconfig
[root@pt build]#
[root@pt build]# ls -l /apps/libarib25/bin/
total 40
-rwxr-xr-x. 1 root root 22984 Feb 6 01:27 b25
[root@pt build]#
}}
これで「/apps/libarib25/lib64/libarib25.so」を得ました。
これをldconfigに登録しておきます
#code(nonumber){{
[root@pt ~]# echo "/apps/libarib25/lib64" > /etc/ld.so.co...
[root@pt ~]# ldconfig
[root@pt ~]# ldconfig -v | less
:
/apps/libarib25/lib64: (from /etc/ld.so.conf.d/libarib25....
libarib25.so.0 -> libarib25.so.0.2.5
:
[root@pt ~]#
}}
***chardev デバイス [#l27d8a21]
以前は pt2 のデバイスドライバとして kernelに組み込まれて...
なのでもう一つのpt2デバイスドライバ chardev を作ってみる.
#code(nonumber){{
[root@pt ~]# cd /apps/src/
[root@pt src]# wget http://hg.honeyplanet.jp/pt1/archive/...
[root@pt src]# tar xf tip.tar.bz2
[root@pt src]# cd pt1-17b4f7b5dccb/driver
[root@pt driver]#
}}
ここで「pt1_pci.c」を修正します
#code(diff,nonumber){{
--- pt1_pci.c.orig 2018-05-28 00:47:03.000000000 +0900
+++ pt1_pci.c 2026-02-06 01:42:34.136894261 +0900
@@ -1014,7 +1014,7 @@
static int __init pt1_pci_init(void)
{
printk(KERN_INFO "%s", version);
- pt1video_class = class_create(THIS_MODULE, DRIVER...
+ pt1video_class = class_create(DRIVERNAME);
if (IS_ERR(pt1video_class))
return PTR_ERR(pt1video_class);
return pci_register_driver(&pt1_driver);
}}
その上で
#code(nonumber){{
[root@pt driver]# make
[root@pt driver]# make install
[root@pt driver]# ls -l /lib/modules/`uname -r`/kernel/dr...
total 708
drwxr-xr-x. 2 root root 94 Feb 5 23:54 backlight
-rw-r--r--. 1 root root 722704 Feb 6 01:43 pt1_drv.ko
[root@pt driver]#
}}
とデバイスドライバ「pt1_drv.ko」が用意されました
このデバイスドライバを読み込むと、デバイスが認識される.
#code(nonumber){{
[root@pt ~]# modprobe pt1_drv
[root@pt ~]# ls -l /dev/pt1video*
crw-rw-rw-. 1 root video 239, 0 Feb 6 01:45 /dev/pt1video0
crw-rw-rw-. 1 root video 239, 1 Feb 6 01:45 /dev/pt1video1
crw-rw-rw-. 1 root video 239, 2 Feb 6 01:45 /dev/pt1video2
crw-rw-rw-. 1 root video 239, 3 Feb 6 01:45 /dev/pt1video3
crw-rw-rw-. 1 root video 238, 0 Feb 6 01:45 /dev/pt1video4
crw-rw-rw-. 1 root video 238, 1 Feb 6 01:45 /dev/pt1video5
crw-rw-rw-. 1 root video 238, 2 Feb 6 01:45 /dev/pt1video6
crw-rw-rw-. 1 root video 238, 3 Feb 6 01:45 /dev/pt1video7
[root@pt ~]#
}}
2枚分の8つが見えました
***制御プログラム(recpt1) [#w2254a70]
次に実際に録画するプログラムを用意します
同じ「tip.tar.bz2」ファイルに同封されている模様
#code(nonumber){{
[root@pt ~]# cd /apps/src/pt1-17b4f7b5dccb/recpt1/
[root@pt recpt1]# ./autogen.sh
Generating configure script and Makefiles for recpt1.
Running aclocal ...
Running autoheader ...
Running autoconf ...
[root@pt recpt1]# LDFLAGS=-L/apps/libarib25/lib64 CPPFLAG...
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for create_arib_std_b25 in -larib25... yes
checking for log10 in -lm... yes
checking for pthread_kill in -lpthread... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.h
[root@pt recpt1]#
}}
LDFLAGSとかCPPFLAGSがMakefileに反映されないので、直接Make...
#code(diff,nonumber){{
--- Makefile.orig 2026-02-06 02:01:53.021049769 +0900
+++ Makefile 2026-02-06 02:02:10.213630541 +0900
@@ -10,13 +10,13 @@
TARGETS = $(TARGET) $(TARGET2) $(TARGET3)
RELEASE_VERSION = "1.2.0"
-CPPFLAGS = -I../driver -Wall -D_LARGEFILE_SOURCE -D_FILE...
+CPPFLAGS = -I../driver -Wall -D_LARGEFILE_SOURCE -D_FILE...
CFLAGS = -O2 -g -pthread
LIBS = -lpthread -lm -larib25
LIBS2 = -lm
LIBS3 = -lpthread -lm
-LDFLAGS =
+LDFLAGS = -L/apps/libarib25/lib64
OBJS = recpt1.o decoder.o mkpath.o tssplitter_lite.o re...
OBJS2 = recpt1ctl.o recpt1core.o
}}
その上で
#code(nonumber){{
[root@pt recpt1]# make
gcc -O2 -g -pthread -I../driver -Wall -D_LARGEFILE_SOURCE...
recpt1.c: In function ‘reader_func’:
recpt1.c:270:25: warning: variable ‘addr’ set but not use...
270 | struct sockaddr_in *addr = NULL;
| ^~~~
gcc -O2 -g -pthread -I../driver -Wall -D_LARGEFILE_SOURCE...
gcc -O2 -g -pthread -I../driver -Wall -D_LARGEFILE_SOURCE...
gcc -O2 -g -pthread -I../driver -Wall -D_LARGEFILE_SOURCE...
gcc -O2 -g -pthread -I../driver -Wall -D_LARGEFILE_SOURCE...
gcc -L/apps/libarib25/lib64 -o recpt1 recpt1.o decoder.o ...
gcc -O2 -g -pthread -I../driver -Wall -D_LARGEFILE_SOURCE...
gcc -L/apps/libarib25/lib64 -o recpt1ctl recpt1ctl.o recp...
gcc -O2 -g -pthread -I../driver -Wall -D_LARGEFILE_SOURCE...
gcc -L/apps/libarib25/lib64 -o checksignal checksignal.o ...
[root@pt recpt1]#
[root@pt recpt1]# mkdir -p /apps/recpt1/bin
[root@pt recpt1]# make install
install -m 755 recpt1 recpt1ctl checksignal /apps/recpt1/...
[root@pt recpt1]#
[root@pt recpt1]# ls -l /apps/recpt1/bin/
total 240
-rwxr-xr-x. 1 root root 61560 Feb 6 02:03 checksignal
-rwxr-xr-x. 1 root root 121632 Feb 6 02:03 recpt1
-rwxr-xr-x. 1 root root 56376 Feb 6 02:03 recpt1ctl
[root@pt recpt1]#
[root@pt recpt1]# ldd /apps/recpt1/bin/recpt1
linux-vdso.so.1 (0x00007ffc8a5d6000)
libm.so.6 => /lib64/libm.so.6 (0x00007fed7a015000)
libarib25.so.0 => /apps/libarib25/lib64/libarib25...
libc.so.6 => /lib64/libc.so.6 (0x00007fed79e00000)
/lib64/ld-linux-x86-64.so.2 (0x00007fed7a101000)
libpcsclite.so.1 => /lib64/libpcsclite.so.1 (0x00...
libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f...
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fed...
[root@pt recpt1]#
}}
これで完了かな
***テスト [#i5bc7c66]
#code(nonumber){{
recpt1 --b25 --strip --device /dev/pt1video2 --sid 1024 2...
recpt1 --b25 --strip --device /dev/pt1video2 --sid 1040 2...
recpt1 --b25 --strip --device /dev/pt1video2 --sid 1064 2...
recpt1 --b25 --strip --device /dev/pt1video2 --sid 1048 2...
recpt1 --b25 --strip --device /dev/pt1video2 --sid 1072 2...
recpt1 --b25 --strip --device /dev/pt1video2 --sid 1056 2...
recpt1 --b25 --strip --device /dev/pt1video2 --sid 1024 1...
}}
とかで。
「at」デーモンを有効にして
#code(nonumber){{
echo "recpt1 --b25 --strip --device /dev/pt1video2 --sid ...
*2026/02/08の19:55から4時間実行させる 4(時間...
}}
とかでしょうかね
EPGStation、Mirakurun、raspirecらのツールは分からないので...
終了行:
ひさびさに録画してみたい気分になったので RHEL9系の rockyl...
chardev 向けのみで dvb版は作ってないです
***録画機 [#vefde79d]
非常に古いマシンです
i7-4771(3.5GHz[3.9GHz, 0.8GHz], 4c/8c), 32GB mem, 120GB S...
pt2を2枚積んでます
#code(nonumber){{
[root@pt ~]# cat /etc/redhat-release
Rocky Linux release 9.7 (Blue Onyx)
[root@pt ~]# uname -r
5.14.0-611.24.1.el9_7.x86_64
[root@pt ~]# lspci
:
05:00.0 Multimedia controller: Xilinx Corporation Device ...
05:01.0 Multimedia controller: Xilinx Corporation Device ...
:
[root@pt ~]#
}}
***カードリーダデバイス [#tb19a2a4]
NTTコミュニケーションズさんの SCR3310-NTTCom をもっており...
ただこの SCR3310-NTTCom は終板でもう売っていない。
#code(nonumber){{
[root@pt ~]# dnf install usbutils
[root@pt ~]# lsusb
:
Bus 002 Device 002: ID 04e6:511a SCM Microsystems, Inc. S...
:
[root@pt ~]#
}}
カードリーダーツール「pcsc-tools」を入れます.
「pcsc-tools」と直接には関係ないかもだけど、後ほど作る「l...
けど RHEL9系 rockylinux9 の リポジトリには入ってないよう...
っで「pcsc-tools」のインストールの前にこの作った「pcsc-li...
#code(nonumber){{
[root@pt ~]# dnf --enablerepo=crb install doxygen polkit-...
[root@pt ~]# rpm -Uvh https://dl.rockylinux.org/pub/rocky...
[root@pt ~]# rpmbuild -bb rpmbuild/SPECS/pcsc-lite.spec
[root@pt ~]# dnf localinstall \
./rpmbuild/RPMS/x86_64/pcsc-lite-1.9.4-...
./rpmbuild/RPMS/x86_64/pcsc-lite-devel-...
./rpmbuild/RPMS/x86_64/pcsc-lite-libs-1...
(BaseOSから pcsc-lite-ccid が依存で入ります)
[root@pt ~]#
}}
このように pcsc-liteを入れてから pcsc-tools をインストー...
#code(nonumber){{
[root@pt ~]# dnf install pcsc-tools
[root@pt ~]# systemctl status pcscd
○ pcscd.service - PC/SC Smart Card Daemon
Loaded: loaded (/usr/lib/systemd/system/pcscd.servic...
Active: inactive (dead)
TriggeredBy: ● pcscd.socket
Docs: man:pcscd(8)
[root@pt ~]#
}}
PC/SCカードリーダーにB-CASカードを入れたままで
#code(nonumber){{
[root@pt ~]# pcsc_scan
PC/SC device scanner
V 1.6.2 (c) 2001-2022, Ludovic Rousseau <ludovic.rousseau...
Using reader plug'n play mechanism
Scanning present readers...
0: NTT Communications Corp. SCR3310-NTTCom USB SmartCard ...
Fri Feb 6 00:24:03 2026
Reader 0: NTT Communications Corp. SCR3310-NTTCom USB Sm...
Event number: 0
Card state: Card inserted,
ATR: 3B F0 12 00 FF 91 81 B1 7C 45 1F 03 99
:
:
Japanese Chijou Digital B-CAS Card (pay TV)
:
}}
と表示されれば、OK。[Ctrl-C]でpcsc_scanを停止。
***libarib25の作成 [#l27d8a21]
ありがたい著作権保護機能の仕様を理解する為のツール libari...
今ではgithubで公開しているみたい [[https://github.com/stz...
ただこれをコンパイルしてインストールするには先にrpmbuild...
#code(nonumber){{
[root@pt ~]# cd /apps/src/
[root@pt src]# git clone https://github.com/stz2012/libar...
[root@pt src]# cd libarib25/
[root@pt libarib25]# ls -l
total 64
-rw-r--r--. 1 root root 6462 Feb 6 00:46 CMakeLists.txt
-rw-r--r--. 1 root root 1446 Feb 6 00:46 CMakeSettings....
-rw-r--r--. 1 root root 11373 Feb 6 00:46 LICENSE
-rw-r--r--. 1 root root 497 Feb 6 00:46 NOTICE
-rw-r--r--. 1 root root 14708 Feb 6 00:46 README.md
-rw-r--r--. 1 root root 15432 Feb 6 00:46 README.org
drwxr-xr-x. 2 root root 124 Feb 6 00:46 cmake
drwxr-xr-x. 2 root root 4096 Feb 6 00:46 src
[root@pt libarib25]#
[root@pt libarib25]# mkdir build && cd build
[root@pt build]# cmake .. -DCMAKE_INSTALL_PREFIX=/apps/li...
[root@pt build]# make
[root@pt build]# make install
[root@pt build]# ls -l /apps/libarib25/
total 0
drwxr-xr-x. 2 root root 17 Feb 6 01:27 bin
drwxr-xr-x. 3 root root 20 Feb 6 01:27 include
drwxr-xr-x. 3 root root 110 Feb 6 01:27 lib64
[root@pt build]#
[root@pt build]# ls -l /apps/libarib25/lib64/
total 100
-rw-r--r--. 1 root root 48722 Feb 6 01:27 libarib25.a
lrwxrwxrwx. 1 root root 14 Feb 6 01:27 libarib25.so -...
lrwxrwxrwx. 1 root root 18 Feb 6 01:27 libarib25.so.0...
-rwxr-xr-x. 1 root root 49752 Feb 6 01:27 libarib25.so.0...
drwxr-xr-x. 2 root root 26 Feb 6 01:27 pkgconfig
[root@pt build]#
[root@pt build]# ls -l /apps/libarib25/bin/
total 40
-rwxr-xr-x. 1 root root 22984 Feb 6 01:27 b25
[root@pt build]#
}}
これで「/apps/libarib25/lib64/libarib25.so」を得ました。
これをldconfigに登録しておきます
#code(nonumber){{
[root@pt ~]# echo "/apps/libarib25/lib64" > /etc/ld.so.co...
[root@pt ~]# ldconfig
[root@pt ~]# ldconfig -v | less
:
/apps/libarib25/lib64: (from /etc/ld.so.conf.d/libarib25....
libarib25.so.0 -> libarib25.so.0.2.5
:
[root@pt ~]#
}}
***chardev デバイス [#l27d8a21]
以前は pt2 のデバイスドライバとして kernelに組み込まれて...
なのでもう一つのpt2デバイスドライバ chardev を作ってみる.
#code(nonumber){{
[root@pt ~]# cd /apps/src/
[root@pt src]# wget http://hg.honeyplanet.jp/pt1/archive/...
[root@pt src]# tar xf tip.tar.bz2
[root@pt src]# cd pt1-17b4f7b5dccb/driver
[root@pt driver]#
}}
ここで「pt1_pci.c」を修正します
#code(diff,nonumber){{
--- pt1_pci.c.orig 2018-05-28 00:47:03.000000000 +0900
+++ pt1_pci.c 2026-02-06 01:42:34.136894261 +0900
@@ -1014,7 +1014,7 @@
static int __init pt1_pci_init(void)
{
printk(KERN_INFO "%s", version);
- pt1video_class = class_create(THIS_MODULE, DRIVER...
+ pt1video_class = class_create(DRIVERNAME);
if (IS_ERR(pt1video_class))
return PTR_ERR(pt1video_class);
return pci_register_driver(&pt1_driver);
}}
その上で
#code(nonumber){{
[root@pt driver]# make
[root@pt driver]# make install
[root@pt driver]# ls -l /lib/modules/`uname -r`/kernel/dr...
total 708
drwxr-xr-x. 2 root root 94 Feb 5 23:54 backlight
-rw-r--r--. 1 root root 722704 Feb 6 01:43 pt1_drv.ko
[root@pt driver]#
}}
とデバイスドライバ「pt1_drv.ko」が用意されました
このデバイスドライバを読み込むと、デバイスが認識される.
#code(nonumber){{
[root@pt ~]# modprobe pt1_drv
[root@pt ~]# ls -l /dev/pt1video*
crw-rw-rw-. 1 root video 239, 0 Feb 6 01:45 /dev/pt1video0
crw-rw-rw-. 1 root video 239, 1 Feb 6 01:45 /dev/pt1video1
crw-rw-rw-. 1 root video 239, 2 Feb 6 01:45 /dev/pt1video2
crw-rw-rw-. 1 root video 239, 3 Feb 6 01:45 /dev/pt1video3
crw-rw-rw-. 1 root video 238, 0 Feb 6 01:45 /dev/pt1video4
crw-rw-rw-. 1 root video 238, 1 Feb 6 01:45 /dev/pt1video5
crw-rw-rw-. 1 root video 238, 2 Feb 6 01:45 /dev/pt1video6
crw-rw-rw-. 1 root video 238, 3 Feb 6 01:45 /dev/pt1video7
[root@pt ~]#
}}
2枚分の8つが見えました
***制御プログラム(recpt1) [#w2254a70]
次に実際に録画するプログラムを用意します
同じ「tip.tar.bz2」ファイルに同封されている模様
#code(nonumber){{
[root@pt ~]# cd /apps/src/pt1-17b4f7b5dccb/recpt1/
[root@pt recpt1]# ./autogen.sh
Generating configure script and Makefiles for recpt1.
Running aclocal ...
Running autoheader ...
Running autoconf ...
[root@pt recpt1]# LDFLAGS=-L/apps/libarib25/lib64 CPPFLAG...
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for create_arib_std_b25 in -larib25... yes
checking for log10 in -lm... yes
checking for pthread_kill in -lpthread... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.h
[root@pt recpt1]#
}}
LDFLAGSとかCPPFLAGSがMakefileに反映されないので、直接Make...
#code(diff,nonumber){{
--- Makefile.orig 2026-02-06 02:01:53.021049769 +0900
+++ Makefile 2026-02-06 02:02:10.213630541 +0900
@@ -10,13 +10,13 @@
TARGETS = $(TARGET) $(TARGET2) $(TARGET3)
RELEASE_VERSION = "1.2.0"
-CPPFLAGS = -I../driver -Wall -D_LARGEFILE_SOURCE -D_FILE...
+CPPFLAGS = -I../driver -Wall -D_LARGEFILE_SOURCE -D_FILE...
CFLAGS = -O2 -g -pthread
LIBS = -lpthread -lm -larib25
LIBS2 = -lm
LIBS3 = -lpthread -lm
-LDFLAGS =
+LDFLAGS = -L/apps/libarib25/lib64
OBJS = recpt1.o decoder.o mkpath.o tssplitter_lite.o re...
OBJS2 = recpt1ctl.o recpt1core.o
}}
その上で
#code(nonumber){{
[root@pt recpt1]# make
gcc -O2 -g -pthread -I../driver -Wall -D_LARGEFILE_SOURCE...
recpt1.c: In function ‘reader_func’:
recpt1.c:270:25: warning: variable ‘addr’ set but not use...
270 | struct sockaddr_in *addr = NULL;
| ^~~~
gcc -O2 -g -pthread -I../driver -Wall -D_LARGEFILE_SOURCE...
gcc -O2 -g -pthread -I../driver -Wall -D_LARGEFILE_SOURCE...
gcc -O2 -g -pthread -I../driver -Wall -D_LARGEFILE_SOURCE...
gcc -O2 -g -pthread -I../driver -Wall -D_LARGEFILE_SOURCE...
gcc -L/apps/libarib25/lib64 -o recpt1 recpt1.o decoder.o ...
gcc -O2 -g -pthread -I../driver -Wall -D_LARGEFILE_SOURCE...
gcc -L/apps/libarib25/lib64 -o recpt1ctl recpt1ctl.o recp...
gcc -O2 -g -pthread -I../driver -Wall -D_LARGEFILE_SOURCE...
gcc -L/apps/libarib25/lib64 -o checksignal checksignal.o ...
[root@pt recpt1]#
[root@pt recpt1]# mkdir -p /apps/recpt1/bin
[root@pt recpt1]# make install
install -m 755 recpt1 recpt1ctl checksignal /apps/recpt1/...
[root@pt recpt1]#
[root@pt recpt1]# ls -l /apps/recpt1/bin/
total 240
-rwxr-xr-x. 1 root root 61560 Feb 6 02:03 checksignal
-rwxr-xr-x. 1 root root 121632 Feb 6 02:03 recpt1
-rwxr-xr-x. 1 root root 56376 Feb 6 02:03 recpt1ctl
[root@pt recpt1]#
[root@pt recpt1]# ldd /apps/recpt1/bin/recpt1
linux-vdso.so.1 (0x00007ffc8a5d6000)
libm.so.6 => /lib64/libm.so.6 (0x00007fed7a015000)
libarib25.so.0 => /apps/libarib25/lib64/libarib25...
libc.so.6 => /lib64/libc.so.6 (0x00007fed79e00000)
/lib64/ld-linux-x86-64.so.2 (0x00007fed7a101000)
libpcsclite.so.1 => /lib64/libpcsclite.so.1 (0x00...
libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f...
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fed...
[root@pt recpt1]#
}}
これで完了かな
***テスト [#i5bc7c66]
#code(nonumber){{
recpt1 --b25 --strip --device /dev/pt1video2 --sid 1024 2...
recpt1 --b25 --strip --device /dev/pt1video2 --sid 1040 2...
recpt1 --b25 --strip --device /dev/pt1video2 --sid 1064 2...
recpt1 --b25 --strip --device /dev/pt1video2 --sid 1048 2...
recpt1 --b25 --strip --device /dev/pt1video2 --sid 1072 2...
recpt1 --b25 --strip --device /dev/pt1video2 --sid 1056 2...
recpt1 --b25 --strip --device /dev/pt1video2 --sid 1024 1...
}}
とかで。
「at」デーモンを有効にして
#code(nonumber){{
echo "recpt1 --b25 --strip --device /dev/pt1video2 --sid ...
*2026/02/08の19:55から4時間実行させる 4(時間...
}}
とかでしょうかね
EPGStation、Mirakurun、raspirecらのツールは分からないので...
ページ名:
1