事象の水平線

個人的ブックマーク代わりなメモ書きブログ。 地球は丸いよ。↓このへん。

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

PageTop
recpt1はマルチキャスト配信ってのでリアルタイムで見れるらしい。(なにが?)
でもちょっと不便。
で、httpサーバー版てのがあるらしい。ちょっと便利っぽい。

で、試してみました。参考先のHPの手順をほぼそのままやってるだけです。自分用メモです。

参考『iakdevelの日記』さんの『recpt1 + httpサーバーRC4勝手に改(2012/05/20)

どうでもいい前準備

[root@NAS ~]# cd /usr/local/bin
既に入ってるものを確認
[root@NAS bin]# ls -la |grep recpt1
-rwxr-xr-x. 1 root root 88167 Sep 20 06:21 recpt1
-rwxr-xr-x. 1 root root 20757 Sep 20 06:21 recpt1ctl
問題なく動いているところへ手を加えるのって2mmくらい勇気いるよね。
なんでコピー

[root@NAS bin]# mv recpt1 'recpt1(copy)'
[root@NAS bin]# mv recpt1ctl 'recpt1ctl(copy)'
[root@NAS bin]# ls -la |grep recpt1
-rwxr-xr-x. 1 root root 88167 Sep 20 06:21 recpt1(copy)
-rwxr-xr-x. 1 root root 20757 Sep 20 06:21 recpt1ctl(copy)
これもかな?
[root@NAS bin]# ls -la |grep check
-rwxr-xr-x. 1 root root 31138 Sep 20 06:21 checksignal
[root@NAS bin]# mv checksignal 'checksignal(copy)'
[root@NAS bin]# ls -la |grep check
-rwxr-xr-x. 1 root root 31138 Sep 20 06:21 checksignal(copy)

インストール  <<追記>>tssplitte_liteのsegfault注意
[root@NAS bin]# cd /usr/local/src
てきとーにわかりやすくフォルダを作っておきますか。
[root@NAS src]# mkdir PT3-http
[root@NAS src]# cd PT3-http
[root@NAS PT3-http]# hg clone http://hg.honeyplanet.jp/pt1/
bash: hg: command not found
あれまないってよ。
hgってのはMercurialなんだそうな。ふーん。
で、『CentOS(64bit)にMercurialを入れてみた』を見るとちょっとめんどくさそう。
出来れば避けたい。
で、『http://hg.honeyplanet.jp/pt1/』を見るとbz2とかzipとかあるんでこれでいいやと・・・

[root@NAS PT3-http]# wget http://hg.honeyplanet.jp/pt1/archive/b14397800eae.zip
--2012-10-11 15:04:26-- http://hg.honeyplanet.jp/pt1/archive/b14397800eae.zip
Resolving hg.honeyplanet.jp... 59.106.19.35
Connecting to hg.honeyplanet.jp|59.106.19.35|:80... connected.
HTTP request sent, awaiting response... 200 Script output follows
Length: unspecified [application/zip]
Saving to: “b14397800eae.zip”

[ <=> ] 65,823 236K/s in 0.3s

2012-10-11 15:04:27 (236 KB/s) - “b14397800eae.zip” saved [65823]

[root@NAS PT3-http]# unzip b14397800eae.zip
Archive: b14397800eae.zip
inflating: pt1-b14397800eae/.hg_archival.txt
inflating: pt1-b14397800eae/driver/Makefile
inflating: pt1-b14397800eae/driver/etc/99-pt1.rules
inflating: pt1-b14397800eae/driver/pt1_com.h
inflating: pt1-b14397800eae/driver/pt1_i2c.c
inflating: pt1-b14397800eae/driver/pt1_i2c.h
inflating: pt1-b14397800eae/driver/pt1_ioctl.h
inflating: pt1-b14397800eae/driver/pt1_pci.c
inflating: pt1-b14397800eae/driver/pt1_pci.h
inflating: pt1-b14397800eae/driver/pt1_tuner.c
inflating: pt1-b14397800eae/driver/pt1_tuner.h
inflating: pt1-b14397800eae/driver/pt1_tuner_data.c
inflating: pt1-b14397800eae/driver/pt1_tuner_data.h
inflating: pt1-b14397800eae/recpt1/COPYING
inflating: pt1-b14397800eae/recpt1/Makefile.in
inflating: pt1-b14397800eae/recpt1/autogen.sh
inflating: pt1-b14397800eae/recpt1/channels/sample.recpt1-channels-chiba
inflating: pt1-b14397800eae/recpt1/channels/sample.recpt1-channels-kanazawa
inflating: pt1-b14397800eae/recpt1/channels/sample.recpt1-channels-nagoya
inflating: pt1-b14397800eae/recpt1/channels/sample.recpt1-channels-tokyo
inflating: pt1-b14397800eae/recpt1/checksignal.c
inflating: pt1-b14397800eae/recpt1/configure.ac
inflating: pt1-b14397800eae/recpt1/decoder.c
inflating: pt1-b14397800eae/recpt1/decoder.h
inflating: pt1-b14397800eae/recpt1/mkpath.c
inflating: pt1-b14397800eae/recpt1/mkpath.h
inflating: pt1-b14397800eae/recpt1/pt1_dev.h
inflating: pt1-b14397800eae/recpt1/recpt1.c
inflating: pt1-b14397800eae/recpt1/recpt1.h
inflating: pt1-b14397800eae/recpt1/recpt1ctl.c
inflating: pt1-b14397800eae/recpt1/tssplitter_lite.c
inflating: pt1-b14397800eae/recpt1/tssplitter_lite.h
[root@NAS PT3-http]# cd pt1-b14397800eae/recpt1
ぱっちは、win機で保存したのでサンバ経由でコピーします。
[root@NAS recpt1]# mv /media/sdb/share/recpt1.c.patch ./
[root@NAS recpt1]# patch -p0 < recpt1.c.patch
bash: patch: command not found
あらまないのかよ。さすがにこれはyumにあんでしょ。
[root@NAS recpt1]# yum install patch
Loaded plugins: fastestmirror, priorities, refresh-packagekit, security
Loading mirror speeds from cached hostfile
* base: ftp.iij.ad.jp
* extras: ftp.iij.ad.jp
* rpmforge: ftp.riken.jp
* updates: ftp.iij.ad.jp
base | 3.7 kB 00:00
extras | 3.0 kB 00:00
rpmforge | 1.9 kB 00:00
updates | 3.5 kB 00:00
updates/primary_db | 2.9 MB 00:06
11 packages excluded due to repository priority protections
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package patch.x86_64 0:2.6-6.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
patch x86_64 2.6-6.el6 base 90 k

Transaction Summary
================================================================================
Install 1 Package(s)

Total download size: 90 k
Installed size: 172 k
Is this ok [y/N]: y       あらrpmforgeかよ。→参考
Downloading Packages:
patch-2.6-6.el6.x86_64.rpm | 90 kB 00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : patch-2.6-6.el6.x86_64 1/1
Verifying : patch-2.6-6.el6.x86_64 1/1

Installed:
patch.x86_64 0:2.6-6.el6

Complete!
[root@NAS recpt1]# patch -p0 < recpt1.c.patch
(Stripping trailing CRs from patch.)
patching file recpt1.c
Hunk #1 succeeded at 80 (offset 2 lines).
Hunk #2 succeeded at 555 (offset 26 lines).
Hunk #3 succeeded at 578 (offset 26 lines).
Hunk #4 succeeded at 963 (offset 26 lines).
Hunk #5 succeeded at 974 (offset 26 lines).
Hunk #6 succeeded at 1007 (offset 26 lines).
patch unexpectedly ends in middle of line
Hunk #7 succeeded at 1071 with fuzz 1 (offset 26 lines).
[root@NAS recpt1]# ./autogen.sh
Generating configure script and Makefiles for recpt1.
Running aclocal ...
Running autoheader ...
Running autoconf ...
[root@NAS recpt1]# ./configure --enable-b25
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
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@NAS recpt1]# make
revh=`hg parents --template 'const char *version = "r{rev}:{node|short} ({date|shortdate})";\n' 2>/dev/null`; \
if [ -n "$revh" ] ; then \
echo "$revh" > version.h; \
else \
echo "const char *version = \""1.1.0"\";" > version.h; \
fi
gcc -MM recpt1.c decoder.c mkpath.c tssplitter_lite.c recpt1ctl.c -I../driver -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 > .deps
gcc -O2 -g -pthread -I../driver -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c -o recpt1.o recpt1.c
gcc -O2 -g -pthread -I../driver -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c -o decoder.o decoder.c
gcc -O2 -g -pthread -I../driver -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c -o mkpath.o mkpath.c
gcc -O2 -g -pthread -I../driver -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c -o tssplitter_lite.o tssplitter_lite.c
gcc -o recpt1 recpt1.o decoder.o mkpath.o tssplitter_lite.o -lpthread -lm -larib25
gcc -O2 -g -pthread -I../driver -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c -o recpt1ctl.o recpt1ctl.c
gcc -o recpt1ctl recpt1ctl.o
gcc -O2 -g -pthread -I../driver -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c -o checksignal.o checksignal.c
gcc -o checksignal checksignal.o -lpthread -lm
[root@NAS recpt1]# make install
install -m 755 recpt1 recpt1ctl checksignal /usr/local/bin
確認
[root@NAS recpt1]# ls -la /usr/local/bin | grep recpt1
-rwxr-xr-x 1 root root 104009 Oct 11 15:16 recpt1
-rwxr-xr-x. 1 root root 88167 Sep 20 06:21 recpt1(copy)
-rwxr-xr-x 1 root root 20765 Oct 11 15:16 recpt1ctl
-rwxr-xr-x. 1 root root 20757 Sep 20 06:21 recpt1ctl(copy)
[root@NAS recpt1]# ls -la /usr/local/bin | grep checksignal
-rwxr-xr-x 1 root root 31146 Oct 11 15:16 checksignal
-rwxr-xr-x. 1 root root 31138 Sep 20 06:21 checksignal(copy)
[root@NAS recpt1]# /usr/local/bin/recpt1 --b25 --strip --http 8888
using B25...
enable B25 strip
creating a http daemon
run as a daemon..
pid = 4971
listening at port 8888

ふぬ。firewallかな。tcpとudpの8888をGUIツールであけます。

TVtestで見てみます。


[root@NAS recpt1]# connect from: 192.168.0.3 [192.168.0.3] port 52666
request command is GET /19/all HTTP/1.0

channel is 19
Cannot tune to the specified channel
Tuner cannot start recording
connect from: 192.168.0.3 [192.168.0.3] port 52670
request command is GET /19/all HTTP/1.0

channel is 19
Cannot tune to the specified channel
Tuner cannot start recording
connect from: 192.168.0.3 [192.168.0.3] port 52674
request command is GET /15/all HTTP/1.0

channel is 15
Cannot tune to the specified channel
Tuner cannot start recording
^C
あれーーーー?あかんなぁー?
わからんときは再起動。

[root@NAS recpt1]# reboot

再起動後

[root@NAS ~]# /usr/local/bin/recpt1 --b25 --strip --http 8888
using B25...
enable B25 strip
creating a http daemon
run as a daemon..
pid = 2508
listening at port 8888
[root@NAS ~]# connect from: 192.168.0.3 [192.168.0.3] port 52853
request command is GET /19/all HTTP/1.0

channel is 19
Cannot tune to the specified channel
Tuner cannot start recording
connect from: 192.168.0.3 [192.168.0.3] port 52857
request command is GET /17/all HTTP/1.0

channel is 17
Cannot tune to the specified channel
Tuner cannot start recording
^C
あらだめだ。
ん~、そっか。pt1_dev.hのpt1をpt3にしないとだめかな?→参考
gEditで変更後。

[root@NAS ~]# cd /usr/local/src/PT3-http
フォルダの名前とか覚えてないよね
[root@NAS PT3-http]# ls -la
total 80
drwxr-xr-x 3 root root 4096 Oct 11 15:05 .
drwxr-xr-x. 27 root root 4096 Oct 11 15:00 ..
-rw-r--r-- 1 root root 65823 Oct 11 15:04 b14397800eae.zip
drwxr-xr-x 4 root root 4096 Oct 11 15:05 pt1-b14397800eae
[root@NAS PT3-http]# cd pt1-b14397800eae
[root@NAS pt1-b14397800eae]# ls -la
total 20
drwxr-xr-x 4 root root 4096 Oct 11 15:05 .
drwxr-xr-x 3 root root 4096 Oct 11 15:05 ..
drwxr-xr-x 3 root root 4096 Oct 11 15:05 driver
-rw-r--r-- 1 root root 149 Jun 26 21:56 .hg_archival.txt
drwxr-xr-x 4 root root 4096 Oct 11 15:41 recpt1
[root@NAS pt1-b14397800eae]# cd recpt1
必要ないはずだけど、どうなるか興味あるし試そう。
[root@NAS recpt1]# patch -p0 < recpt1.c.patch
(Stripping trailing CRs from patch.)
patching file recpt1.c
Reversed (or previously applied) patch detected! Assume -R? [n] n
Apply anyway? [n] n
Skipping patch. ふむ。なるほどね。
patch unexpectedly ends in middle of line
7 out of 7 hunks ignored -- saving rejects to file recpt1.c.rej
[root@NAS recpt1]# ./autogen.sh いちおうね。
Generating configure script and Makefiles for recpt1.
Running aclocal ...
Running autoheader ...
Running autoconf ...
[root@NAS recpt1]# ./configure --enable-b25
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
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
config.status: config.h is unchanged
[root@NAS recpt1]# make clean  一応ね。以前これやらずに(知らずに)ハマッタからね
rm -f recpt1.o decoder.o mkpath.o tssplitter_lite.o recpt1ctl.o checksignal.o recpt1 recpt1ctl checksignal .deps version.h
[root@NAS recpt1]# make
revh=`hg parents --template 'const char *version = "r{rev}:{node|short} ({date|shortdate})";\n' 2>/dev/null`; \
if [ -n "$revh" ] ; then \
echo "$revh" > version.h; \
else \
echo "const char *version = \""1.1.0"\";" > version.h; \
fi
gcc -MM recpt1.c decoder.c mkpath.c tssplitter_lite.c recpt1ctl.c -I../driver -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 > .deps
gcc -O2 -g -pthread -I../driver -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c -o recpt1.o recpt1.c
gcc -O2 -g -pthread -I../driver -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c -o decoder.o decoder.c
gcc -O2 -g -pthread -I../driver -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c -o mkpath.o mkpath.c
gcc -O2 -g -pthread -I../driver -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c -o tssplitter_lite.o tssplitter_lite.c
gcc -o recpt1 recpt1.o decoder.o mkpath.o tssplitter_lite.o -lpthread -lm -larib25
gcc -O2 -g -pthread -I../driver -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c -o recpt1ctl.o recpt1ctl.c
gcc -o recpt1ctl recpt1ctl.o
gcc -O2 -g -pthread -I../driver -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c -o checksignal.o checksignal.c
gcc -o checksignal checksignal.o -lpthread -lm
[root@NAS recpt1]# make install
install -m 755 recpt1 recpt1ctl checksignal /usr/local/bin
[root@NAS recpt1]# /usr/local/bin/recpt1 --b25 --strip --http 8888
using B25...
enable B25 strip
creating a http daemon
run as a daemon..
pid = 3248
bind: Address already in use
[root@NAS recpt1]# connect from: 192.168.0.3 [192.168.0.3] port 52955
request command is GET /19/all HTTP/1.0

channel is 19
Cannot tune to the specified channel
Tuner cannot start recording
^C
うわだめか。録画も出来ないのかテスト
[root@NAS recpt1]# recpt1 --b25 --strip 13 10 /media/sdb/share/Video/recpt1test.ts
using B25...
enable B25 strip
pid = 3250
C/N = 33.696512dB
Recording...
Recorded 11sec
出来ますか・・・・
ほぉ。もしかして?

[root@NAS recpt1]# ./autogen.sh
Generating configure script and Makefiles for recpt1.
Running aclocal ...
Running autoheader ...
Running autoconf ...
[root@NAS recpt1]# ./configure -enable-b25 (ハイフン一個だけ)これ関係なかったわ。再起動が効いたみたい
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
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
config.status: config.h is unchanged
[root@NAS recpt1]# make clean
rm -f recpt1.o decoder.o mkpath.o tssplitter_lite.o recpt1ctl.o checksignal.o recpt1 recpt1ctl checksignal .deps version.h
[root@NAS recpt1]# make
revh=`hg parents --template 'const char *version = "r{rev}:{node|short} ({date|shortdate})";\n' 2>/dev/null`; \
if [ -n "$revh" ] ; then \
echo "$revh" > version.h; \
else \
echo "const char *version = \""1.1.0"\";" > version.h; \
fi
gcc -MM recpt1.c decoder.c mkpath.c tssplitter_lite.c recpt1ctl.c -I../driver -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 > .deps
gcc -O2 -g -pthread -I../driver -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c -o recpt1.o recpt1.c
gcc -O2 -g -pthread -I../driver -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c -o decoder.o decoder.c
gcc -O2 -g -pthread -I../driver -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c -o mkpath.o mkpath.c
gcc -O2 -g -pthread -I../driver -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c -o tssplitter_lite.o tssplitter_lite.c
gcc -o recpt1 recpt1.o decoder.o mkpath.o tssplitter_lite.o -lpthread -lm -larib25
gcc -O2 -g -pthread -I../driver -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c -o recpt1ctl.o recpt1ctl.c
gcc -o recpt1ctl recpt1ctl.o
gcc -O2 -g -pthread -I../driver -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c -o checksignal.o checksignal.c
gcc -o checksignal checksignal.o -lpthread -lm
[root@NAS recpt1]# make install
install -m 755 recpt1 recpt1ctl checksignal /usr/local/bin
一応再起動してから試すか
[root@NAS recpt1]# reboot

再起動後

[root@NAS ~]# /usr/local/bin/recpt1 --b25 --strip --http 8888
using B25...
enable B25 strip
creating a http daemon
run as a daemon..
pid = 2205
listening at port 8888
[root@NAS ~]# connect from: 192.168.0.3 [192.168.0.3] port 53108
request command is GET /17/all HTTP/1.0

channel is 17
C/N = 33.398178dB
Broadcasting...
       おおできた。
write: Broken pipe

SIGPIPE received. cleaning up...
Recorded 8sec
connection closed. still listening at port 8888
connect from: 192.168.0.3 [192.168.0.3] port 53114
request command is GET /14/all HTTP/1.0

TVtestでチャンネル切り替えてみる。

channel is 14
C/N = 34.823735dB    ばっちし。
Broadcasting...
write: Broken pipe
Recorded 6sec

SIGPIPE received. cleaning up...
connection closed. still listening at port 8888
^C
[root@NAS ~]#

Daemon化
さて、daemon化します。
ただ、/etc/rc.localあたりで「/usr/local/bin/recpt1 --b25 --strip --http 8888 > /dev/null 2>&1」するだけでもいいのかな?
まぁ、今回は後学のため以下を参考に手間を掛ける方向でやってみます。

参考『プログラミング色々』さんの『自作プログラムをデーモンとして起動させる

[root@NAS ~]# cd /etc/init.d/
[root@NAS init.d]# vi recpt1-http  新規作成
#!/bin/sh

# recpt1 http.ver daemon cf.http://7ujm.net/linux/daemon.html

/usr/local/bin/recpt1 --b25 --strip --http 8888 > /dev/null 2>&1 &

recpt1http版はなくても動くようだけど、本来『&』が大事みたい。ないとループから抜けれなくて起動で固まったように見えるとか

[root@NAS init.d]# chmod 755 recpt1-http

ランレベル3と5で
[root@NAS init.d]# ln -s ../init.d/recpt1-http /etc/rc3.d/S99recpt1-http
[root@NAS init.d]# ln -s ../init.d/recpt1-http /etc/rc5.d/S99recpt1-http
[root@NAS init.d]#


さて、これで、再起動後も pm-suspend してもOKでした。よっと。
てか、/etc/rc.localも/etc/rc5.d/S99localとかにリンク張ってあるだけだなぁ・・・同じようなことか・・・

あ、recpt1がdaemonで立ち上りっぱなしってことは、自動終了スクリプトに影響しますね。

で、いじってみると、ps -el でwchanが録画中および視聴中はpt3_~~になるので、これを使って、recpt1=`ps -el | grep recpt1`を
recpt1=`ps -el | grep recpt1 | grep pt3_` にしたらばっちりでしたょ。っと。

ただし、予想通りというか、TVtestで見てると、チャンネルが足りなくなると録画に失敗する。
そこまで考慮されたパッチじゃないよね・・・
んー。。どうしたもんか?
do-record.shでdaemonをkillするか・・・・
ちょっとめんどくさそうだな・・・


<<追記>>
ありゃーチャンネル切り替えてるとSで見れなくなることがあるぞ・・・
んー・・・・・そのときは、プロセスkillして立ち上げなおしだなぁ・・・・
でも一応そのだめなプロセスが走ったままでも、予約録画は問題なく出来る。
まぁ、プロセスが別物だから問題ないのか。録画に問題が出るといやだなぁ・・・
しかし、原因不明だ。ソースとか読むのいやだなぁ・・・・
スポンサーサイト

PageTop

コメント

 ※
 ※
管理者にだけ表示を許可する
  ※ 必須項目です

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