【視聴・録画】Linuxでテレビ総合7【デジタル/アナログ】
PT3 driver ・・・ Linuxは非対応。今後も望みなし。あきらめれ
前スレ最後のほうのドライバ談義を見てるとLinuxドライバにはまったく期待できそうにないね (ドライバつくれない自分が言うのもなんだけど) まあPT2でまったく問題ないからいいけど新規はWindows鯖買えってことだねえ
PT3はドライバそのものより、 ドライバを作る過程でやったことを 公開して欲しい。
いつからここは周回遅れの間抜けが自ら馬鹿を晒すスレになったんだよ
と馬鹿が申しております
お、自分のことを言われてるのは解るんだな よしよしw
ともあれPT3ドライバが出ないことにはな
PT3って今こんくらい?
>>9 やったこと:
SDKをCに焼き直しとLinux用に翻訳
現状:
FPGAのレジスタ読んでバージョンチェックなどはできる
テストモードでPT3->PCへDMA転送できる
チューナーの初期化処理はタイミングの問題なのかうまくいくときといかないときがある
チューナーのPLLがロックしない
I2Cの命令領域とデータ領域があるように書いてあるけど
ソース読むとデータ領域に命令書いてるように読める
だれか分かる人教えて
PT1のMakefileなど使いまわさせてもらってます。感謝
http://www1.axfc.net/uploader/Sc/so/362623
>>10 罵倒してないで、自分が何をしたか言ってごらんよ。
何も出来ないからやってるだけだからそっとしといてあげて
チェリーのツリーをカットしました
「悪しざまに罵れば誰かが反発して何かお宝が出てくるかもしれない。」 卑屈でひねくれた性格の人は、そういうおねだりの仕方をする。
それ以前にPT2の在庫を抱えたクソ業者の営業工作でしょw
PT2の在庫なんてあんの?だいぶ前に製造中止になってんのに? そんな昔のやつがまだ在庫であるなんて在庫管理がめちゃくちゃなんじゃないの? データベース使ってんの、使ってないでしょ。 今時データベースも使ってないなんて。自転車操業でしょ。 そんな管理体制だからクソ業者って言われんだよ。 人を呪わば穴二つ。チョンチョン、
>>15 乙 この dmesg は想定どおり?
[ 115.400244] pt3-pci.c: 0.0.1 2012-07-07
[ 115.400289] pt3-pci 0000:05:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[ 115.400294] Revision check passed. revision=0x1
[ 115.400297] Bus Mastering Enabled.
[ 115.400301] request_mem_resion success. mmio_start=0xd0001000 mmio_len=4096
[ 115.400313] io_remap success. ffffc9000167e000
[ 115.400314] request_mem_resion success. mmio_start=0xd0000000 mmio_len=4096
[ 115.400318] io_remap success. ffffc9000173c000
[ 115.400320] Check PTn is passed. n=3
[ 115.400321] Check FPGA version is passed. version=0x4
[ 115.400325] can_transport_ts = 1
[ 115.400325] dma_descriptor_page_size = 20
[ 115.989677] bus read data=0x48
[ 116.021621] bus read data=0x48
[ 116.025620] tuner_power_on
[ 116.037594] set_tuner_sleep isdb=0 tuner_no=0 sleep=0 status=0x0
[ 116.037598] set_freq isdb=0 tuner_no=0 channel=0 offset=0
[ 116.053524] frequency 1048980 Khz
[ 116.057566] channel=0 index=0 sd=0x38fae1 N=0xd A=0x5
[ 116.125397] bus read data=0x01
[ 116.125404] qm_read addr=0x0d data=0x01
〜〜〜〜〜〜略〜〜〜〜〜〜
[ 117.131666] qm_get_locked 0 status=0x0
[ 117.131669] fail set_frequency. status=0x30b
[ 117.131672] fail init_all_tuner. 0x30b
[ 117.131675] PT3:device[0]= (null)
[ 117.144540] BUG: unable to handle kernel NULL pointer dereference at (null)
[ 117.144625] IP: [<ffffffffa01d5ac1>] pt3_dma_build_page_descriptor+0xa1/0x100 [pt3_drv]
[ 117.144701] PGD 36463067 PUD 36b38067 PMD 0
[ 117.144748] Oops: 0002 [#1] SMP
>>22 バグです
報告ありがとう
仕事が忙しくなりそうなんでボチボチ進める予定です
他にもドライバ作ってる方が居るようなので情報共有できればと
現状のものをそのままアップしました
凡ミスがまざってたりしますが、
なにか気づかれた点があれば報告していただけると嬉しいです
>>22 了解です。環境情報出した方が良い?
鼻毛サーバ+Ubuntu-12.04です
デバッグコード山盛りで場合分けしやすめで、
コード書いちゃってとりあえず作る。
という方針で行き当たりばったりでみんなでデバッグでもいいんじゃない。
これやってみて。という依頼だったらいくらでも協力しますよ
>>15 とりあえずqemuの環境が作り終わったんで
winのサンプルを動かしはじめたところだけど、
I2CはFPGA.txtとはちょっとレジスタの意味が違うかも。
0x14ってステータスだけじゃないのかな。
ざっと立ち上げログ(qemu)
PT1pci_mmio_readl: (00000000)addr=00000000
PT1pci_mmio_readl: (00000000)addr=0000000c
PT1pci_mmio_readl: (00000000)addr=00000014
PT1pci_mmio_readb: (00000000)addr=00000014
PT1pci_mmio_writel: (00000000)addr=00000010 value=11000
PT1pci_mmio_readl: (00000000)addr=00000014
PT1pci_mmio_readb: (00000000)addr=00000014
PT1pci_mmio_writel: (00000000)addr=00000010 value=10000
PT1pci_mmio_readl: (00000000)addr=00000014
PT1pci_mmio_readb: (00000000)addr=00000014
〜略〜
PT1pci_mmio_writel: (00000000)addr=00000010 value=117fa
PT1pci_mmio_readl: (00000000)addr=00000014
PT1pci_mmio_readb: (00000000)addr=00000014
PT1pci_mmio_writel: (00000000)addr=00000010 value=10000
PT1pci_mmio_readl: (00000000)addr=00000014
PT1pci_mmio_readb: (00000000)addr=00000014
〜略〜
PT1pci_mmio_writel: (00000000)addr=00000008 value=c
PT1pci_mmio_writel: (00000000)addr=00000010 value=20000
>>25 >0x14ってステータスだけじゃないのかな。
リトルエンディアンならreadbでレジスタ(4byte)の下位1byteが読めるので
readbでもreadlでも必要な値はとれるんだと思います。
連投すみません
>>24 すみません、再現できないです><
デバッグ用のコード用意するので時間ください
私の環境はDebian wheezyでKernel 3.2.0です
>>25 ログありがとうございます
とても参考になります
>>15 FPGAのバージョンが古い場合。ちなみに、Linuxしかない環境で、FPGAを
最新に上げるにはどうすれば良いの?
Ubuntu 12.04TLSです。
Linux suzuka 3.2.0-26-generic #41-Ubuntu SMP Thu Jun 14 17:49:24 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
[ 7.633757] pt3-pci.c: 0.0.1 2012-07-07
[ 7.635617] pt3-pci 0000:02:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[ 7.635624] Revision check passed. revision=0x1
[ 7.635628] Bus Mastering Enabled.
[ 7.635633] request_mem_resion success. mmio_start=0xfdbff000 mmio_len=4096
[ 7.635656] io_remap success. ffffc90000c7c000
[ 7.635658] request_mem_resion success. mmio_start=0xfdbfe000 mmio_len=4096
[ 7.635665] io_remap success. ffffc90000c7e000
[ 7.635668] Check PTn is passed. n=3
[ 7.635670] this FPGA version not supported
[ 7.635676] Error ep4c_init
[ 7.635704] pt3-pci: probe of 0000:02:00.0 failed with error -5
>>24 デバッグ用のコード入れてみました
>>28 どうもです
現状ではLinuxでFPGAのアップデートはできないと思います
SDKの非公開な部分を使うようなので
>>25 さんのように
本格的な解析が必要になるかと
前回分との差:
DMAdescriptor構築関数にデバッグ用コード挿入
その他細かいバグ修正+デバッグコード挿入
I2Cのエラーは出なくなりました
地上波チューナーはPLLのロックに成功してるみたい
BSチューナーはロックしない
本当にPLLロックしてるのか確認する方法を考え中です
http://www1.axfc.net/uploader/Sc/so/363071
PT3って今そこらへん?
FPGAはWin8RPとか限定フリー配布してるのを実機に入れてアップデートするしかないかもね
32 :
22 :2012/07/17(火) 21:33:47.51 ID:WWURYLeK
>>29 乙です
型違いって言われてコンパイル通りませんでした。
dmesg は次に。
--- pt3_0717.original/pt3_bus.h 2012-07-17 18:25:18.000000000 +0900
+++ pt3_0717/pt3_bus.h 2012-07-17 21:29:07.355647903 +0900
@@ -23,7 +23,7 @@
void pt3_bus_start(PT3_BUS *bus);
void pt3_bus_stop(PT3_BUS *bus);
void pt3_bus_write(PT3_BUS *bus, const __u8 *data, __u32 size);
-size_t pt3_bus_read(PT3_BUS *bus, __u8 *data, __u32 size);
+__u32 pt3_bus_read(PT3_BUS *bus, __u8 *data, __u32 size);
void pt3_bus_reset(PT3_BUS *bus);
void pt3_bus_sleep(PT3_BUS *bus, __u32 ms);
void pt3_bus_end(PT3_BUS *bus);
dmesg 1/2 [ 411.605856] tuner_power_on [ 411.617834] set_tuner_sleep isdb=0 tuner_no=0 sleep=0 status=0x0 [ 411.617838] set_freq isdb=0 tuner_no=0 channel=0 offset=0 [ 411.633764] frequency 1048980 Khz [ 411.637805] channel=0 index=0 sd=0x38fae1 N=0xd A=0x5 [ 411.809506] qm_get_locked 0 status=0x0 [ 411.809510] fail set_frequency. status=0x30b [ 411.837411] set_tuner_sleep isdb=0 tuner_no=0 sleep=1 status=0x0 [ 411.901346] set_tuner_sleep isdb=1 tuner_no=0 sleep=0 status=0x0 [ 411.901351] set_freq isdb=1 tuner_no=0 channel=70 offset=0 [ 412.021139] set_tuner_sleep isdb=1 tuner_no=0 sleep=1 status=0x0 [ 412.033118] set_tuner_sleep isdb=0 tuner_no=1 sleep=0 status=0x0 [ 412.033123] set_freq isdb=0 tuner_no=1 channel=0 offset=0 [ 412.049087] frequency 1049980 Khz [ 412.053082] channel=0 index=1 sd=0x39fae1 N=0xd A=0x5 [ 412.224785] qm_get_locked 0 status=0x0 [ 412.224789] fail set_frequency. status=0x30b [ 412.252738] set_tuner_sleep isdb=0 tuner_no=1 sleep=1 status=0x0 [ 412.316582] set_tuner_sleep isdb=1 tuner_no=1 sleep=0 status=0x0 [ 412.316587] set_freq isdb=1 tuner_no=1 channel=71 offset=0 [ 412.436373] set_tuner_sleep isdb=1 tuner_no=1 sleep=1 status=0x0 [ 412.436379] PT3:device[0]= (null) [ 412.449180] Allocate Descriptor buffer. [ 412.449295] dma maybe failed allocate desc_info->data 59 [ 412.449299] set page descriptor. [ 412.449302] PT3:card_number = 0 [ 412.462820] Allocate Descriptor buffer. [ 412.462876] dma maybe failed allocate desc_info->data 59 [ 412.462878] set page descriptor. [ 412.462880] PT3:card_number = 0
dmesg 2/2 [ 412.475699] Allocate Descriptor buffer. [ 412.475752] dma maybe failed allocate desc_info->data 59 [ 412.475754] set page descriptor. [ 412.475755] PT3:card_number = 0 [ 412.488672] Allocate Descriptor buffer. [ 412.488724] dma maybe failed allocate desc_info->data 59 [ 412.488726] set page descriptor. [ 412.488728] PT3:card_number = 0 $ uname -a Linux hanage-pt3 3.2.0-26-generic #41-Ubuntu SMP Thu Jun 14 17:49:24 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux [ 412.436379] PT3:device[0]= (null) ここが null になってるのが問題?
>>32-34 まいどどうもです
PT3:device[0]= (null)は正常なログです
DMA用メモリを一括で確保してデータ書き込んでるんですが、
その途中でエラーになってるみたいです
ロジックのバグっぽいので見直してみます
チューナーPLLの方はTSっぽいデータが抜けるんですが
レジスタ"TS Error Packet Counter"の値ががんがん増えていくので
何かが足りないみたいです><
>>29 >地上波チューナーはPLLのロックに成功してるみたい
ってあるけど、I2Cの初期化とか設定はどこかに載ってる?
NDA部分だと思っていたんだけど。
>リトルエンディアンならreadbでレジスタ(4byte)の下位1byteが読めるので
>readbでもreadlでも必要な値はとれるんだと思います。
これは私の勘違い。
知っていたら教えてほしいんだけど、0x10のスタートアドレスって何?
I2Cのデータが取れはじめて見始めているけど、このアドレスとあまり関係ない位置にI2Cのデータを書いているみたいだけど(bar[1]の0x800番地以降)。
>>36 私は素人に毛が生えた程度なのでSDKを書き直したら動くかな
って動機で安直に進めてます
bar[1]にI2Cの命令かいて、0x10で命令開始、
0x14読んでシーケンス停止したときにACKがエラーになってない
を繰り返してて、
>地上波チューナーはPLLのロックに成功してるみたい
の根拠はSDKの公開部分を順番に実行して
ACKがエラーになってないってだけです
bar[1]の使い方は私も疑問です
SDKではbar[1]に0x800+(命令アドレス/2)の位置から
I2C命令を書いてますが、割る2ってなにって感じです
命令アドレスは大半が0で動いてる見たいですが、
4096+0, 4096+2048の場合が最初の方にあります
わざわざ4096+αと書いてあるんですが4096の意味がまったく想像付きません
そもそも4096+2048だとbar[1]からはみ出ますよね
38 :
22 :2012/07/17(火) 23:50:20.80 ID:WWURYLeK
>>35 Ubuntu 12.04 32bitをインストールして見たところ、
64bitとは異なるログが出ました。
[ 259.282376] PT3:device[0]= (null)
[ 259.286685] insmod: page allocation failure: order:9, mode:0x8020
[ 259.286692] Pid: 5149, comm: insmod Tainted: G O 3.2.0-26-generic-pae #41-Ubuntu
[ 259.286696] Call Trace:
[ 259.286709] [<c158f6ca>] ? printk+0x2d/0x2f
[ 259.286719] [<c10faf0f>] warn_alloc_failed+0xbf/0x100
[ 259.286726] [<c10fdce3>] __alloc_pages_nodemask+0x513/0x6e0
[ 259.286735] [<c1133ea5>] ? __kmalloc+0x195/0x1e0
[ 259.286743] [<c10152f0>] ? dma_set_mask+0x60/0x60
[ 259.286749] [<c1015362>] dma_generic_alloc_coherent+0x72/0x110
[ 259.286755] [<c10152f0>] ? dma_set_mask+0x60/0x60
[ 259.286766] [<f89f9094>] create_pt3_dma+0x124/0x380 [pt3_drv]
[ 259.286775] [<f89f9dfd>] pt3_pci_init_one+0x81a/0x9d6 [pt3_drv]
39 :
22 :2012/07/17(火) 23:51:55.96 ID:WWURYLeK
続き 〜call traceとか色々略〜 [ 259.287004] DMA: 133*4kB 58*8kB 42*16kB 31*32kB 11*64kB 0*128kB 2*256kB 0*512kB 0*1024kB 1*2048kB 0*4096kB = 5924kB [ 259.287019] Normal: 1376*4kB 892*8kB 380*16kB 128*32kB 87*64kB 42*128kB 12*256kB 12*512kB 8*1024kB 1*2048kB 0*4096kB = 53216kB [ 259.287034] 119699 total pagecache pages [ 259.287036] 129 pages in swap cache [ 259.287039] Swap cache stats: add 597, delete 468, find 192/225 [ 259.287042] Free swap = 906272kB [ 259.287044] Total swap = 907260kB [ 259.291086] 227232 pages RAM [ 259.291090] 0 pages HighMem [ 259.291092] 5403 pages reserved [ 259.291094] 184603 pages shared [ 259.291096] 111581 pages non-shared [ 259.291100] fail allocate consistent. 10 [ 259.291209] PT3: fail create dma. [ 259.293760] pt3-pci: probe of 0000:05:00.0 failed with error -5 [ 268.595407] [drm:drm_mode_getfb] *ERROR* invalid framebuffer id
>>29 なるほど。じゃあ本格的に動くのはまだまだ先だね。
>4096+0, 4096+2048の場合が最初の方にあります
アドレスは合わないんだよね。
たしかに
addr=00000010 value=11000はあるんだけど、
その後に0意外を書くのがaddr=00000010にvalue=117faを書いているんで。
I2Cの初期化の一番初めを書くと、
こんな感じ
qemuでPT1pci_mmio_writel2がbar[1]側、
PT1pci_mmio_writel/PT1pci_mmio_readbがbar[0]側のエミュレータ部。
PT1pci_mmio_writel2: (00000000)addr=00000800 value=8c882435
PT1pci_mmio_writel2: (00000000)addr=00000804 value=888e8c88
PT1pci_mmio_writel2: (00000000)addr=00000808 value=88ecc888
PT1pci_mmio_writel2: (00000000)addr=0000080c value=4ec88888
ここまでがI2C情報
PT1pci_mmio_writeb2: (00000000)addr=00000810 value=53
PT1pci_mmio_writeb2: (00000000)addr=00000811 value=0
PT1pci_mmio_readb: (00000000)addr=00000014
PT1pci_mmio_writel: (00000000)addr=00000010 value=10000
ここがI2C実行
SDKに従ってデコードすると
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)220301(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END)
ってところ。
ただその後やたら長い命令があるんでまだ解析中。
フラグじゃないの?
PT3って今プロ野球編?
ドライバとかの下回りについてはよくわからんのだが、登山に例えると何合目くらいまでに来てるんです?
>>43 正直に言うと富士山五合目駐車場でマイカー(SDK)を降りたところ。
>>44 わかりやすい例えどうもです
これからが険しい本番ってことね・・・
46 :
login:Penguin :2012/07/18(水) 10:46:49.70 ID:Bfiu7NGx
>>40 >4096+0, 4096+2048の場合が最初の方にあります
すみません私のタイプミスでした。
SDKからコピペすると
startAddress[0] = 4096 + ( 0);
startAddress[1] = 4096 + (2042);
です。
なのでアドレス17faはSDK通りですね。申し訳ない
また、上記2つのアドレスを使う場合はI2C命令をbar[1]にコピー?設定?せず実行してますね。
SDKのコメントではアドレス4096を実行するのは復調ICの初期化のためのようです。
アドレスがbar[1]+0x800からのオフセットだとすると、
bar[1]の範囲外に初期化用の命令がセットされてるorセットしないといけない?
>>38-39 連続した1.5MB程度の物理メモリの確保x32回に失敗してるみたいです。
1.5MB,32回はSDK通りの数字のつもりですが、大きすぎるのかもしれません。
32bitの結果も踏まえて見直してみますね。
解析待ちであろうという希ガス・・・
50 :
22 :2012/07/18(水) 21:45:03.44 ID:cRpV/l7P
>>48 乙です Ubuntu 12.04 32bit
[ 72.268211] pt3-pci.c: 0.0.1 2012-07-07
[ 72.268271] pt3-pci 0000:05:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[ 72.268277] Revision check passed. revision=0x1
[ 72.268282] Bus Mastering Enabled.
[ 72.268287] request_mem_resion success. mmio_start=0xd0001000 mmio_len=4096
[ 72.268307] io_remap success. f80f4000
[ 72.268311] request_mem_resion success. mmio_start=0xd0000000 mmio_len=4096
[ 72.268320] io_remap success. f8432000
[ 72.268324] Check PTn is passed. n=3
[ 72.268326] Check FPGA version is passed. version=0x4
[ 72.268330] can_transport_ts = 1
[ 72.268332] dma_descriptor_page_size = 20
[ 72.701372] tuner_power_on
[ 72.713342] set_tuner_sleep isdb=0 tuner_no=0 sleep=0 status=0x0
[ 72.713346] set_freq isdb=0 tuner_no=0 channel=0 offset=0
[ 72.729344] frequency 1048980 Khz
[ 72.733328] channel=0 index=0 sd=0x38fae1 N=0xd A=0x5
[ 72.845201] set_tuner_sleep isdb=0 tuner_no=0 sleep=1 status=0x0
[ 72.909065] set_tuner_sleep isdb=1 tuner_no=0 sleep=0 status=0x0
[ 72.909069] set_freq isdb=1 tuner_no=0 channel=70 offset=0
[ 73.024976] set_tuner_sleep isdb=1 tuner_no=0 sleep=1 status=0x0
[ 73.036966] set_tuner_sleep isdb=0 tuner_no=1 sleep=0 status=0x0
[ 73.036972] set_freq isdb=0 tuner_no=1 channel=0 offset=0
[ 73.052890] frequency 1049980 Khz
[ 73.056943] channel=0 index=1 sd=0x39fae1 N=0xd A=0x5
[ 73.168805] set_tuner_sleep isdb=0 tuner_no=1 sleep=1 status=0x0
[ 73.232678] set_tuner_sleep isdb=1 tuner_no=1 sleep=0 status=0x0
[ 73.232682] set_freq isdb=1 tuner_no=1 channel=71 offset=0
[ 73.348578] set_tuner_sleep isdb=1 tuner_no=1 sleep=1 status=0x0
[ 73.348584] PT3:device[0]= (null)
[ 73.362332] PT3:card_number = 0
51 :
22 :2012/07/18(水) 21:59:56.19 ID:cRpV/l7P
続いて Ubuntu 12.04 64bit
diff 取ってみてログがほぼ同じだったので、差分点だけ書き込みます。
desc_info overflowは64bitのみ出ます。
「PT3:card_number = 0」はどちらも4行出ていましたが、
>>50 では改行が多いと怒られたで削ってます。
〜先頭から差分無し〜
[ 212.580988] request_mem_resion success. mmio_start=0xd0001000 mmio_len=4096
[ 212.581006] io_remap success. ffffc9000167e000
[ 212.581008] request_mem_resion success. mmio_start=0xd0000000 mmio_len=4096
[ 212.581012] io_remap success. ffffc9000170a000
〜しばらく差分無し〜
[ 213.660740] PT3:device[0]= (null)
[ 213.674387] desc_info overflow max=59 curr=59
[ 213.674393] PT3:card_number = 0
[ 213.689041] desc_info overflow max=59 curr=59
[ 213.689045] PT3:card_number = 0
[ 213.702722] desc_info overflow max=59 curr=59
[ 213.702726] PT3:card_number = 0
[ 213.716435] desc_info overflow max=59 curr=59
[ 213.716438] PT3:card_number = 0
>>50-51 なんどもありがとうございます。
32bitの方は想定通りですね。
64bitの方は失敗してますね、なんだろう。
32bitと同じ処理のはずなんですが、32bitと64bitでなにが変わるのかよくわかってません
>>49 謎のアドレス0x1000と0x17faの実行で初期化されてるという淡い期待と共に
動けばラッキーくらいの気持ちなのです
ただ、
>>49 さんのおっしゃる事ももっともで、これ以上お付き合い願うのは
心苦しく思いますのでソースのアップは進展があったときに行おうと思います。
お手間を取らせるだけになってしまい申し訳ありませんでした。
32bitの方でしたら”td/td”が動くはずです。
テストモード(LFSR)でDMA転送を行うx4チャンネル
チューナーのチャンネル設定をしてDMA転送するx2チャンネル
というコードになってます。
チューナーのチャンネル設定してDMAの方は先にも書きましたが
0x47で始まるTSパケットっぽいなにかが取れる事もありますし、
空っぽのファイルになることもあります
中途半端な現状ですが、遊んでいただけたらと思います
>>52 何となく構造体のパディングとか、
無宣言の関数の型の食い違い
あたりがありがちかなぁとかなんとなく思ってます。
週末ちょっと見てみます。
オモチャをつっつける状態になってる旨了解です。
recpt1 epgrec epgdumpを使っているときCSのSIDが変わらずチャンネルが変わったときは、config.phpを直すだけで大丈夫?
つdb更新
とりあえず取れたところまで。 デコーダー間違っているかもう一度チェックしてみるけど。。。 *I_ENDまでが1シーケンス。 (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)220301(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)221e10(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)260301(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)261e10(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)200140(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)201c10(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)240140(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)241c10(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)241ed9(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)221c15(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)221f04(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)261c15(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)261f04(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)201d01(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)241d01(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)22fec6010c(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)22fec6010c(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)22fec6010c(I_DATA_L)(I_CLOCK_H)(I_DATA_H) (I_SLEEP) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)22fec6011c(I_DATA_L)(I_CLOCK_H)(I_DATA_H) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)22fec600 ここは特殊?
その2 (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)22fec7(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)23(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_L)(I_CLOCK_H)(I_DATA_H) (I_SLEEP) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)917f630621(I_DATA_L)(I_CLOCK_H)(I_DATA_H) (I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)917f63008e(I_DATA_L)(I_CLOCK_H)(I_DATA_H) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)117f630150(I_DATA_L)(I_CLOCK_H)(I_DATA_H) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)117f630188(I_DATA_L)(I_CLOCK_H)(I_DATA_H) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)117f63025e(I_DATA_L)(I_CLOCK_H)(I_DATA_H) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)117f6302e2(I_DATA_L)(I_CLOCK_H)(I_DATA_H) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)917f630310(I_DATA_L)(I_CLOCK_H)(I_DATA_H) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)117f630399(I_DATA_L)(I_CLOCK_H)(I_DATA_H) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)917f630403(I_DATA_L)(I_CLOCK_H)(I_DATA_H) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)117f630480(I_DATA_L)(I_CLOCK_H)(I_DATA_H) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)117f630500(I_DATA_L)(I_CLOCK_H)(I_DATA_H) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)117f630580(I_DATA_L)(I_CLOCK_H)(I_DATA_H) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)117f630621(I_DATA_L)(I_CLOCK_H)(I_DATA_H) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)917f6308ff(I_DATA_L)(I_CLOCK_H)(I_DATA_H) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)917f630979(I_DATA_L)(I_CLOCK_H)(I_DATA_H) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)917f630980(I_DATA_L)(I_CLOCK_H)(I_DATA_H) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)117f630a15(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
その3 (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)117f630ab2(I_DATA_L)(I_CLOCK_H)(I_DATA_H) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)117f630b53(I_DATA_L)(I_CLOCK_H)(I_DATA_H) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)117f630bc3(I_DATA_L)(I_CLOCK_H)(I_DATA_H) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)117f630c46(I_DATA_L)(I_CLOCK_H)(I_DATA_H) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)117f630ce7(I_DATA_L)(I_CLOCK_H)(I_DATA_H) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)917f630d5c(I_DATA_L)(I_CLOCK_H)(I_DATA_H) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)117f630df8(I_DATA_L)(I_CLOCK_H)(I_DATA_H) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)917f630e54(I_DATA_L)(I_CLOCK_H)(I_DATA_H) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)117f630ef9(I_DATA_L)(I_CLOCK_H)(I_DATA_H) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)117f630f44(I_DATA_L)(I_CLOCK_H)(I_DATA_H) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)917f630f80(I_DATA_L)(I_CLOCK_H)(I_DATA_H) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)117f63008e(I_DATA_L)(I_CLOCK_H)(I_DATA_H) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)117f6302e2(I_DATA_L)(I_CLOCK_H)(I_DATA_H) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)917f630188(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)26fec0010c(I_DATA_L)(I_CLOCK_H)(I_DATA_H) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)26fec0010c(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)26fec0010c(I_DATA_L)(I_CLOCK_H)(I_DATA_H) (I_SLEEP) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)26fec0011c(I_DATA_L)(I_CLOCK_H)(I_DATA_H) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)26fec000 (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)26fec1(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)27(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_L)(I_CLOCK_H)(I_DATA_H) (I_SLEEP)
その4 (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)937f600621(I_DATA_L)(I_CLOCK_H)(I_DATA_H) (I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)937f60008e(I_DATA_L)(I_CLOCK_H)(I_DATA_H) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)137f600150(I_DATA_L)(I_CLOCK_H)(I_DATA_H) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)137f600188(I_DATA_L)(I_CLOCK_H)(I_DATA_H) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)137f60025e(I_DATA_L)(I_CLOCK_H)(I_DATA_H) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)137f6002e2(I_DATA_L)(I_CLOCK_H)(I_DATA_H) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)937f600310(I_DATA_L)(I_CLOCK_H)(I_DATA_H) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)137f600399(I_DATA_L)(I_CLOCK_H)(I_DATA_H) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)937f600403(I_DATA_L)(I_CLOCK_H)(I_DATA_H) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)137f600480(I_DATA_L)(I_CLOCK_H)(I_DATA_H) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)137f600500(I_DATA_L)(I_CLOCK_H)(I_DATA_H) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)137f600580(I_DATA_L)(I_CLOCK_H)(I_DATA_H) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)137f600621(I_DATA_L)(I_CLOCK_H)(I_DATA_H) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)937f6008ff(I_DATA_L)(I_CLOCK_H)(I_DATA_H) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)937f600979(I_DATA_L)(I_CLOCK_H)(I_DATA_H) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)937f600980(I_DATA_L)(I_CLOCK_H)(I_DATA_H) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)137f600a15(I_DATA_L)(I_CLOCK_H)(I_DATA_H) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)137f600ab2(I_DATA_L)(I_CLOCK_H)(I_DATA_H) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)137f600b53(I_DATA_L)(I_CLOCK_H)(I_DATA_H) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)137f600bc3(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
その5 (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)137f600c46(I_DATA_L)(I_CLOCK_H)(I_DATA_H) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)137f600ce7(I_DATA_L)(I_CLOCK_H)(I_DATA_H) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)937f600d5c(I_DATA_L)(I_CLOCK_H)(I_DATA_H) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)137f600df8(I_DATA_L)(I_CLOCK_H)(I_DATA_H) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)937f600e54(I_DATA_L)(I_CLOCK_H)(I_DATA_H) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)137f600ef9(I_DATA_L)(I_CLOCK_H)(I_DATA_H) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)137f600f44(I_DATA_L)(I_CLOCK_H)(I_DATA_H) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)937f600f80(I_DATA_L)(I_CLOCK_H)(I_DATA_H) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)137f60008e(I_DATA_L)(I_CLOCK_H)(I_DATA_H) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)137f6002e2(I_DATA_L)(I_CLOCK_H)(I_DATA_H) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)937f600188(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)241edd(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)221700(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)22fec6011c(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)22fec605c5(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)220a00(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)2210b0(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)221100(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)220301(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)22fec60270(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)22fec6060d(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)22fec60735(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END)
その6(最後) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)22fec60802(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)22fec60938(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)22fec60afa(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)22fec60be1(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)22fec60c03(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)22fec60cc3(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)22fec60809(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)22fec61320(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END) (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)22fec60d(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)22fec7(I_DATA_H) (I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)23(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END)
I2Cのアドレスが 0x11,0x13,0x10,0x12は判るんだけど、 0x41とか0x08とか…この辺りが疑問かな。 特に 917f63008eあたりがREADなんだけど、何も読んでいないっていうのが???な部分。
PT3
>>54 だめだったorz
あとは何を直せばいいの?
epgdumpのどこか?
>>56-62 SDKとすり合わせて見ました。ほぼPT_Device.hのInitTunerと合致してますね。
ただ、//LPF Tuning Onのところから関数が終わるまで(91,11,93,13で始まるやつ)
SLEEPあるはずの場所にSLEEPが無い点がSDKと違うようです
以下前提条件
(START) = (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)
(STOP) = (I_DATA_L)(I_CLOCK_H)(I_DATA_H)
tc_addr : S0 => 0x22, S1 => 0x26, T0 => 0x20, t1 => 0x24
tuner_addr : S0 => 0xc6, S1 => 0xc0, T0 => 0xc4 t1 => 0xc2
SDK的にはI2Cは以下の6パターン
Write : (START), tc_addr, addr, data * size (STOP)
WriteTuner : (START), tc_addr, 0xfe, tuner_addr , addr, data * size (STOP)
WriteTunerWithoutAddress: (START), tc_addr, 0xfe, tuner_addr , data * size (STOP)
Read : (START), tc_addr, addr, (START) , tc_addr | 1, [(READ) * 8, (LNOP)or(HNOP)] * size, (STOP)
ReadTuner : (START), tc_addr, 0xfe, addr , (START) , tc_addr , 0xfe, tuner_addr | 1, (START), tc_addr | 1, [(READ) * 8, (LNOP)or(HNOP)] * size, (STOP)
ReadTunerWithoutAddress : (START), tc_addr, 0xfe, tuner_addr | 1, (START) , tc_addr | 1, [(READ) * 8, (LNOP)or(HNOP)] * size, (STOP)
その1 // TunerPowerOn TC_S0->Init() (START)220301(STOP)(I_END) (START)221e10(STOP)(I_END) TC_S1->Init() (START)260301(STOP)(I_END) (START)261e10(STOP)(I_END) TC_T0->Init() (START)200140(STOP)(I_END) (START)201c10(STOP)(I_END) TC_T1->Init() (START)240140(STOP)(I_END) (START)241c10(STOP)(I_END) TC_T1->SetPowers() (START)241ed9(STOP)(I_END) TC_S0->SetTsPinsMode() (START)221c15(STOP)(I_END) (START)221f04(STOP)(I_END) TC_S1->SetTsPinsMode() (START)261c15(STOP)(I_END) (START)261f04(STOP)(I_END)
その2 TC_S1->SetTsPinsMode() (START)261c15(STOP)(I_END) (START)261f04(STOP)(I_END) TC_T0->SetTsPinsMode() (START)201d01(STOP)(I_END) TC_T1->SetTsPinsMode() (START)241d01(STOP)(I_END) TC_S0 : QM->DummyReset() (START)22fec6010c(STOP)(START)22fec6010c(STOP)(I_END) TC_S0 : QM->Init() (START)22fec6010c(STOP) (I_SLEEP) (START)22fec6011c(STOP) (START)22fec600(START)22fec7(START)23(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(STOP) // LPF Tuning On (I_SLEEP) (START)917f630621(STOP) (I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP) // QM1D1C0042.h 164行目かな? (START)917f63008e(STOP) (START)117f630150(STOP) 中略 (START)917f630f80(STOP) QM->SetSleepMode() ? (START)117f63008e(STOP) (START)117f6302e2(STOP) QM->SetSearchMode() ? (START)917f630188(STOP)(I_END)
その3 TC_S1 : QM->DummyReset() (START)26fec0010c(STOP) (START)26fec0010c(STOP)(I_END) TC_S1 : QM->Init() (START)26fec0010c(STOP) (I_SLEEP) (START)26fec0011c(STOP) (START)26fec000 (START)26fec1(START)27(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(STOP) (I_SLEEP) (START)937f600621(STOP) (I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP) // QM1D1C0042.h 164行目かな? (START)937f60008e(STOP) (START)137f600150(STOP) 中略 (START)137f600f44(STOP) (START)937f600f80(STOP) QM->SetSleepMode() ? (START)137f60008e(STOP) (START)137f6002e2(STOP) QM->SetSearchMode() ? (START)937f600188(STOP)(I_END)
その4 TC_T1 : SetPowers() (START)241edd(STOP)(I_END) TC_S0 : QM->SetSleep() TC_S0 : TC->SetSleep() (START)221700(STOP)(I_END) TC_S0 : QM->SetSleepMode (START)22fec6011c(STOP)(I_END) (START)22fec605c5(STOP)(I_END) // QM->SetFrequency() TC_S0 : SetAGC() (START)220a00(STOP)(I_END) (START)2210b0(STOP)(I_END) (START)221100(STOP)(I_END) TC_S0 : Write_pskmsrst (START)220301(STOP)(I_END) // TC_S0: QM->LocalLpfTuning() TC_S0: QM->Tuning() (START)22fec60270(STOP)(I_END) (START)22fec6060d(STOP)(I_END) (START)22fec60735(STOP)(I_END) (START)22fec60802(STOP)(I_END) (START)22fec60938(STOP)(I_END) (START)22fec60afa(STOP)(I_END) (START)22fec60be1(STOP)(I_END) (START)22fec60c03(STOP)(I_END) (START)22fec60cc3(STOP)(I_END) // SLEEPあるはず? (START)22fec60809(STOP)(I_END) // LPF_FC (START)22fec61320(STOP)(I_END) // CSEL_Offset TC_S0: QM->GetLockStatus (START)22fec60d(START)22fec7(START)23(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(STOP)(I_END)
>>66 //LPF Tuning On
の部分ってどこなんだろう?SDKの6パターンに属さないんだよね。
I2Cの仕組みからすると、0x91ってREADだし、
>>tc_addr : S0 => 0x22, S1 => 0x26, T0 => 0x20, t1 => 0x24
>>tuner_addr : S0 => 0xc6, S1 => 0xc0, T0 => 0xc4 t1 => 0xc2
にも属さないI2C以外のデバイスかな?
>>71 QM1D1C0042.hの157行目から177行目だと思うんだけど
その辺は全部WriteTunerなんですよね。
その後はSDK通りになってるので不思議です。
命令の数は一致してるのでデコードの間違いを疑ったんですが、
見直されてどうでしたでしょうか?
やはりまったく別のデバイスを制御してるんですかね。
>>66 >>I2Cの仕組みからすると、0x91ってREADだし、
ってところは私の勘違い。
qemuのデコーダーのコードを読んだら、
READのI_DATA_H_NOPを数えていたからそんなアドレスになっていただけだね。
なので、READ時はI_DATA_H_NOPがNACKでI_DATA_L_NOPがACKだね。
それを踏まえてデコーダーを入れてみる。
という訳でまだ精査出来ていないが、初期化データ(その1) 22:03:01 22:1e:10 26:03:01 26:1e:10 20:01:40 20:1c:10 24:01:40 24:1c:10 24:1e:d9 22:1c:15 22:1f:04 26:1c:15 26:1f:04 20:1d:01 24:1d:01 22:fe:c6:01:0c 22:fe:c6:01:0c 22:fe:c6:01:0c 22:fe:c6:01:1c 22:fe:c6:00(Tuner R:1) 22:fe:c6:0c:43 22:fe:c6:01:1c 22:fe:c6:02:a0 22:fe:c6:03:10 22:fe:c6:04:bc 22:fe:c6:05:c5 22:fe:c6:06:20 22:fe:c6:07:33
その2 22:fe:c6:08:06 22:fe:c6:09:00 22:fe:c6:0a:00 22:fe:c6:0b:00 22:fe:c6:0c:43 22:fe:c6:11:ff 22:fe:c6:12:f3 22:fe:c6:13:00 22:fe:c6:14:2a 22:fe:c6:15:64 22:fe:c6:16:a6 22:fe:c6:17:86 22:fe:c6:18:8c 22:fe:c6:19:cf 22:fe:c6:1a:b8 22:fe:c6:1b:f1 22:fe:c6:1c:a8 22:fe:c6:1d:f2 22:fe:c6:1e:89 22:fe:c6:1f:00 22:fe:c6:01:1c 22:fe:c6:05:c5 22:fe:c6:03:10
その3 26:fe:c0:01:0c 26:fe:c0:01:0c 26:fe:c0:01:0c 26:fe:c0:01:1c 26:fe:c0:00 (Tuner R:1) 26:fe:c0:0c:43 26:fe:c0:01:1c 26:fe:c0:02:a0 26:fe:c0:03:10 26:fe:c0:04:bc 26:fe:c0:05:c5 26:fe:c0:06:20 26:fe:c0:07:33 26:fe:c0:08:06 26:fe:c0:09:00 26:fe:c0:0a:00 26:fe:c0:0b:00 26:fe:c0:0c:43 26:fe:c0:11:ff 26:fe:c0:12:f3 26:fe:c0:13:00
その4 26:fe:c0:14:2a 26:fe:c0:15:64 26:fe:c0:16:a6 26:fe:c0:17:86 26:fe:c0:18:8c 26:fe:c0:19:cf 26:fe:c0:1a:b8 26:fe:c0:1b:f1 26:fe:c0:1c:a8 26:fe:c0:1d:f2 26:fe:c0:1e:89 26:fe:c0:1f:00 26:fe:c0:01:1c 26:fe:c0:05:c5 26:fe:c0:03:10 24:1e:dd 22:17:00 22:fe:c6:01:1c 22:fe:c6:05:c5 22:0a;00 22:10;b0 22:11;00 22:03;01
その5 22:fe:c6:02:70 22:fe:c6:06:0d 22:fe:c6:07:35 22:fe:c6:08:02 22:fe:c6:09:38 22:fe:c6:0a:fa 22:fe:c6:0b:e1 22:fe:c6:0c:03 22:fe:c6:0c:c3 22:fe:c6:08:09 22:fe:c6:13:20 22:fe:c6:0d (Tuner R:1)
注意事項:
Tuner Read時は20msec待たなければならない。
>>66 ソースを読み込んでいないんで聞きたいけど、
Tuner Readの値は何を期待しているのかは読めてる?
もしくは実機でどんな値が読める?
>>74 22:fe:c6:00(Tuner R:1)はQM1D1C0042.hの149行目で期待値は0x48
26:fe:c0:00 (Tuner R:1)も同上
ただし、初期化時は値のチェックをしてないようです。
22:fe:c6:0d (Tuner R:1)はQM1D1C0042.hの527行目で期待値は
読んだ値Aに対して(A & 0x40)が0でないです。
連投失礼
>>79 MX側(T0,T1)のReadは
1つ目(MxL301RF 343行目)が読んだ値Aに対して(A & 0x0c)が0でない
2つ目(MxL301RF 357行目)が(A & 0x03)が0でないです。
この1つ目、2つ目は同じレジスタの値を読んでるようなので
0x0Fを期待しているようです。
>>81 BSはTSIDのロックをしていなさそうなんで、動かないけど、
もしかしてこのドライバ地デジだったら動く?
BSは
td/td.c
を見て疑問だったんだけど、rec_open()で渡しているチャネルが違う気がする。
見間違いじゃなければSDKのEARTH_PT3.hのch.を渡しているんだよね?
関東にいる人であれば77あたり(NHK)でテスト出来る?
83 :
login:Penguin :2012/07/23(月) 12:00:20.31 ID:rSB5bAEF
>>82 TSID,TMCCを理解してなかったです。
#SDKに出てくるレイヤーも意味わかってません
TMCCからTSID取得して設定するようにしたところBSで
エラーパケットなく受信できるようになりました。
私は関東じゃないのでチャンネル番号違いますが、NHKに合わせたところ
地デジの方もエラーパケットなく受信できました。
ただし、私の受信環境が悪いのかエラーパケットが出ることもあります。
http://www1.axfc.net/uploader/Sc/so/364469
関東在住です。0723版試してみました。 BSの試験は現状出来ません。 td/td.c で以下のとおり割り当ててみました。 pt3video2に78(放送大学) pt3video3に77(NHK) rec : /dev/pt3video2 status = 0x47400000 status = 0x47400000 ts error packet = 0 status = 0x00d0002d status = 0x47c0002d ts error packet = 2080 status = 0x47d00004 rec : /dev/pt3video3 status = 0x47d00000 status = 0x47600000 ts error packet = 0 status = 0x4750002d status = 0x4750002d ts error packet = 7 status = 0x47500004 ts_error_packet の数だけ見ると、 取れてるっぽいですね。 次にffmpegに食わせた結果を張り付けます。
◆/dev/pt3video2:ffmpegが解釈できず。 ◆/dev/pt3video3:最後の行32行に収まらないので切ってます Input #0, mpegts, from 'rec3_dec.ts': Duration: 00:00:00.44, start: 32711.314511, bitrate: 11080 kb/s Program 1024 Stream #0.0[0x100]: Video: mpeg2video, 29.97 tbr, 90k tbn, 90k tbc Stream #0.1[0x110]: Audio: aac, 48000 Hz, stereo, s16, 254 kb/s Stream #0.2[0x138]: Data: [6][0][0][0] / 0x0006 Stream #0.3[0x140]: Data: [13][0][0][0] / 0x000D Stream #0.4[0x160]: Data: [13][0][0][0] / 0x000D Stream #0.5[0x161]: Data: [13][0][0][0] / 0x000D Stream #0.6[0x162]: Data: [13][0][0][0] / 0x000D Stream #0.7[0x170]: Data: [13][0][0][0] / 0x000D Stream #0.8[0x171]: Data: [13][0][0][0] / 0x000D Stream #0.9[0x172]: Data: [13][0][0][0] / 0x000D Program 1025 Stream #0.0[0x100]: Video: mpeg2video, 29.97 tbr, 90k tbn, 90k tbc Stream #0.1[0x110]: Audio: aac, 48000 Hz, stereo, s16, 254 kb/s Stream #0.2[0x138]: Data: [6][0][0][0] / 0x0006 Stream #0.3[0x140]: Data: [13][0][0][0] / 0x000D Stream #0.4[0x160]: Data: [13][0][0][0] / 0x000D Stream #0.5[0x161]: Data: [13][0][0][0] / 0x000D Stream #0.6[0x162]: Data: [13][0][0][0] / 0x000D Stream #0.7[0x170]: Data: [13][0][0][0] / 0x000D Stream #0.8[0x171]: Data: [13][0][0][0] / 0x000D Stream #0.9[0x172]: Data: [13][0][0][0] / 0x000D Program 1408 Stream #0.11[0x580]: Data: [13][0][0][0] / 0x000D Stream #0.10[0x581]: Video: h264 (Constrained Baseline), yuv420p, 320x180, 5.25 tbr, 90k tbn, 14.99 tbc Stream #0.12[0x583]: Audio: aac, 48000 Hz, stereo, s16, 51 kb/s Stream #0.13[0x589]: Data: [13][0][0][0] / 0x000D Stream #0.14[0x58a]: Data: [13][0][0][0] / 0x000D
86 :
83 :2012/07/23(月) 21:29:12.05 ID:8LCgeLyW
>>84-85 どうもです
ffmpegのログの見方が分からないんですが
NHKの方はOKって事なのかな
エラーパケットが少ないけどあるのが気になりますね
まだ手順が足りないのかな(アンプの設定?)
>>86 64bitでロードできました。
$ sudo insmod ./pt3_drv.ko
$ dmesg | tail
[ 355.364285] channel=0 index=1 sd=0x39fae1 N=0xd A=0x5
[ 355.476150] set_tuner_sleep isdb=0 tuner_no=1 sleep=1 status=0x0
[ 355.540099] set_tuner_sleep isdb=1 tuner_no=1 sleep=0 status=0x0
[ 355.540103] set_freq isdb=1 tuner_no=1 channel=71 offset=0
[ 355.655925] set_tuner_sleep isdb=1 tuner_no=1 sleep=1 status=0x0
[ 355.655931] PT3:device[0]= (null)
[ 355.669637] PT3:card_number = 0
[ 355.684033] PT3:card_number = 0
[ 355.697703] PT3:card_number = 0
[ 355.711382] PT3:card_number = 0
$ uname -a
Linux hanage-pt3 3.2.0-26-generic #41-Ubuntu SMP Thu Jun 14 17:49:24 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
>>87 32bit版の地デジNHKは録画できているように見えます。
ffmpegのログ的にはOKです。
MPEG2デコーダに食わせるほどデータ取ってないので、
再生できるかどうかは不明です。(後でやってみます)。
64bit版は td がうまく動作せず。
rec : /dev/pt3video2
status = 0x47c00000
status = 0x47500000
ts error packet = 0
status = 0x0050002d
status = 0x4750000c
ts error packet = 2116
status = 0x4750000c
rec : /dev/pt3video3
status = 0x47d00000
status = 0x47d00000
ts error packet = 0
status = 0x47c0002d
status = 0x4740000c
ts error packet = 40
status = 0x4740000c
$ ls -l rec[23].ts
-rw-r--r-- 1 Penguin Penguin 0 7月 23 21:42 rec2.ts
-rw-r--r-- 1 Penguin Penguin 0 7月 23 21:42 rec3.ts
サイズが0です。ログメッセージ的には32bitとほぼ同じ感じでした。
(/dev/pt3video3で多少エラーパケットが出ている)
連投失礼
>>87 vlcで地デジNHKの再生OKです。
td/td.c の for ループを単純に100から10000に変更して
60MBのファイルを作りました。
>>83 32Bit版はOKっぽいんで、
recpt1がそのまま動く様に
可能だったらpt1と同じFREQUENCYにしてくれるとうれしいかも。
後はファームの書き込みと、64bit版が動けばになるかな。
BSもBS1-BS23みたいなチャンネル選択ってできないのかな。 recpt1の再コンパイルとかが不要にできるようになったらいい希ガス。 pt1のドライバ側も更新必要だろうけど。
BSはスロットもあるからなあ
pt1_tuner_data.c の1067行目がtypoってる気がする 1066 {{&bs_21_step1, &bs_com_step2, &bs_21_step3}}, 1067 {{&bs_23_step1, &bs_com_step2, &bs_21_step3}},
>>94 は前スレ897で報告済みでした
スレ汚しごめん
>>90 まいどどうもです
私もmplayerで再生確認できました
>>91 recpt1で利用できるようにしました
変更点:
64bitでDMAに失敗するのを修正(ご指摘の通り構造体のアライメントでした^^;)
FREQUENCYをpt1に合わせる、ただし地上波側のslot(offset)には未対応(無視します)
電波強度取得のioctl追加、ただし、ダミー実装(すべて0が返ります)
正常系のログを縮小
注意点:
lnbはまったくテストしてません
地上波のoffsetなんですが、
SDKのMxL301RF.h 74行目 realFrequency = (7*frequency+1+offset)*1000000.0/7.0;
をドライバではoffset無視してテーブル化してるんですが、(pt3_mx.c 382行目)
offsetを有効にする方法が思いつきません。
offset利用してる人いるのかな?
http://www1.axfc.net/uploader/Sc/so/364807
全国の首をながぁ〜くして待ってる良い子たちを代表してお聞きします。 PT-3@linux、今どのあたり?
>>96 64bit版で動作確認できました。おつかれさまです。
recpt1で遊んでみようと思います。
>>92 isdb_t_conv_table[]の最後の"151"
を自分の好きに変えればOK。
>>93 isdb_t_conv_table[]を外出しのconfigファイルかなにかにすれば可能だけど?
そもそもスロットある程度固定になっているはず。
>>96 了解です。
地上波のoffsetはどうなんでしょ?
使っている人〜
100 :
96 :2012/07/24(火) 21:53:35.73 ID:J0qN6EPL
>>97 recpt1で動作確認できる程度にはなってきてます
CSだとカーネル->ユーザ空間へのコピーが間に合わなくてDMAがコピーを追い越すみたい
以下修正パッチ。
diff --git a/pt3_dma.c b/pt3_dma.c
index ac89c1c..0b07755 100644
--- a/pt3_dma.c
+++ b/pt3_dma.c
@@ -307,7 +307,7 @@ pt3_dma_copy(PT3_DMA *dma, char __user *buf, size_t size, lo
ff_t *ppos, int look
if (dma->ts_pos >= dma->ts_count)
dma->ts_pos = 0;
}
- schedule_timeout_interruptible(msecs_to_jiffies(1));
+ schedule_timeout_interruptible(msecs_to_jiffies(0));
}
mutex_unlock(&dma->lock);
>>99 トランスポートストリームIDからノードとスロットが算出できるのでrecpt1で正式に定義してもらうと
フロントエンドでBS・CSの局編成再編に追従できるようになります。
>>96 乙です。
地デジのみの環境でrecpt1使ってみたけど、かなり
"dma buffer overflow."
が出てきますね。。
ただ、ちゃんと視聴はできました。
すげえ、もうrecpt1で確認できるレベルになってるのか
ドロップしてるわけではないのに大体10秒間隔で周期的に音が途切れ絵がブロックになります。 tsselectで確認してみたところ以下のになりましたので一応報告。 ゴースト 天国からのささやき シーズン1#6【二】_20120725_090000_tss.ts pid=0x0000, total= 36053, d=304, e= 0, scrambling=0, offset=113552 pid=0x0401, total= 36058, d=292, e= 0, scrambling=0, offset=134420 pid=0x0601, total= 37053, d= 20, e= 0, scrambling=0, offset=186684 pid=0x0a01, total= 54597, d= 0, e= 0, scrambling=0, offset=113364 pid=0x1001, total=36269159, d=2382, e= 0, scrambling=0, offset=0 pid=0x1041, total= 480784, d=2137, e= 0, scrambling=0, offset=7332 pid=0x1051, total= 480777, d=2137, e= 0, scrambling=0, offset=7144 pid=0x1c06, total= 8889, d= 63, e= 0, scrambling=0, offset=533168 4時間前の録画は正常でした。前スレでも出てましたが時々このようなTSが生成されます。
105 :
104 :2012/07/25(水) 12:40:36.20 ID:lVL9zqQ7
環境書くの忘れてた。 PT2 Ubuntu10.10 通常版のrecpt1 マウントしたWDC WD20EARS(ext4)に記録。
>>105 映像も音声も多数Dropしているように見えます。
まず環境を見直してみては?
>>104 PT"3" じゃなくて PT2?
同じような状況がPT3な私の環境でも起こってて、原因を探そうと思ってます。
PT3試してみました Fedora16 (3.2.10-3.fc16.x86_64) tdのfor文で各デバイスで99まで回して受信できるチャンネルはひと通りb25も通るみたいです BSCSはrecpt1でも確認できました rec_open(DEV0, "rec0.ts", 5); rec_open(DEV1, "rec1.ts", 19); rec_open(DEV2, "rec2.ts", 72); rec_open(DEV3, "rec3.ts", 75); みたいのもOKでした チャンネル指定がよくわからないけど動作はOKみたいですがログに fail get_tmcc_t status=0x100 がたくさん出てました
>>93 スロット必須ならBS1_0,BS1_1〜みたいな感じにしておかないとダメそうですね。
CSはスロット追加が必要になったりしないのかな。
一番いいのはBS1で151,161が取れるのがいいと思うんだけど。
Linux上でのファームの書き込みを、何とぞよろしくお願いします。
ファームの更新みたいな滅多にやらない上に、失敗したら危なげなものは、 素直にWinでやった方がいいと思うけどなぁ。
>>112 に同意。
ファーム絡みだとテストも気軽にできないんでない。。。
>>111 何が目的か立ち位置を明確にしないと
GNU 真理教であるなら、ファームウェアそれ自身もGPLであるべきだ
>>110 fail get tmcc_tは確かに受信できない場合に出てるだけでした
0725版でrecpt1でも地上波動作するようになりました
CPU使用率は高くなって録画だとわからないのですが、
udp使ってlocalhostでリアルタイムで受けて再生するとかなりきつくなります。
あとスリープからの復帰で動作しないので一旦アンロードしないとダメでした
初心者質問ですまない。 recpt1 --udp --strip --b25 26 - /dev/null recpt1でリアルタイム配信する場合に、解像度を縮小する方法はない? 素のTS解像度だと通信が重すぎて。 せめて、1/2、1/4, 1/8などと大雑把な解像度変更ができるだけでいいのだけれども。
118 :
117 :2012/07/25(水) 23:11:36.28 ID:WNi6HuS1
書き込んでしばらくして気がついた。 --sid 1segとかできるのね。失礼しました。
>>110 どうも
pt3_dma.c 308行目のコメント外すと少しだけCPU使用率下がるはずです
0を大きな値に変えればさらに下がりますが"dma buffer overflow"が出やすくなります
スリープは自分が使わないので後回しにして忘れてましたw
ちょっとpt1参考に見てみます
>>112 それは確かにそうなんだけど、いかんせんノートPCにしかWindowsがないもんで
>>110 レジューム、サスペンドをe1000ドライバ参考に見てみましたが、
知識不足&調べる時間があまりないでプライオリティ低いです。
モジュールのアンロード、ロードで運用してください^^;
ユーザ空間でバッファ待ちを期待して実装してましたが、
(バッファが溜まってなければすぐにユーザ空間に帰る)
recpt1はカーネル空間でのバッファ待ちを期待している様なので
そのように変更しました。
これでCPU使用率大幅に減少しました。
その他、チャンネルチューニング失敗時にrecpt1でエラーになるようにioctlの返値を修正
これでとりあえず使い物になるかな
http://www1.axfc.net/uploader/Sc/so/365314
オリンピック開会式までに間に合えば金メダルを 閉会式までに間に合えば銀メダルを 8月中に完成すれば銅メダルを 諦めなければ入賞を
負荷がなくなりました すごくいい感じです 今はrecpt1にpt3video*デバイス加えただけだけど ちゃんと手を入れればCNとかも取れるようになるのかな
>>125 CNはSDKでは不動小数点演算使ってるんですが
Linuxのカーネル空間では不動小数点がつかえないのでドライバ側で計算できません。
pt1はrecpt1側で計算してるようですがpt3と式が違うようです。
この辺りどうしようかなってところです。
>>123 乙です。
>>ユーザ空間でバッファ待ちを期待して実装してましたが、
ユーザ空間ではどの程度バッファがたまっているか判らないからpt1でもread()で実装してます。
>>121 FPGAの書き換えはアースソフトが出してくれないと無理かも。
ちなみに下のが読み出しを表しているらいしいんだけど、
レジスタの値が何をさしているのかがさっぱり判らん。
addr=00000020 value=10
addr=00000020 value=10
addr=00000020 value=10
addr=00000020 value=10
addr=00000020 value=11
addr=00000020 value=11
addr=00000020 value=11
addr=00000020 value=11
*値は10と11以外にも44や80,20,22という値が見えている。
>>128 乙です。
最新のドライバで試してみましたが、やっぱり
"dma buffer overflow."
が大量に吐き出されます。。。
マシンのスペックにもよるのでしょうか?
PT3って今
recpt1 --b25 --strip --udp --addr 127.0.0.1 151 - - >/dev/null して12時間以上放置して今見たところ特にエラーもなく動いていたようです。 CNがchecksignalでも動作するようになりましたPT1より気持ち感度が良いようですね
>>128 さすがです。
ちなみに、ソースはどこかのリポジトリで管理する予定ですか?
SourceForgeとかGitHubとか。
foltiaの中の人も首長だろう
foltiaの中の人は、ALにはノータッチじゃなかったけ?
>>129 よほどCPUに余裕がないとかじゃないと大量には出ないはずなんですが
他にも出てる方いますか?
よかったらスペック教えてください
>>128 githubのアカウント取ってみました。
git勉強中なんで変なところあるかもですが
https://github.com/m-tsudo/pt3 0726版からの変更点:
特定のBSチャンネル設定できない事があるバグを修正
dma buffer overflow時のメッセージに追加情報入れました(デバッグ用)
>>137 pt1を元にしてるのでそっちに従う形です。
なのでgplのつもり
そういえばb25はどうなるんだろ やっぱヤバイ系のブツになんのか
141 :
129 :2012/07/27(金) 22:47:22.40 ID:Pdbc2seJ
>>135 HP ProLiant MicroServer (AMD Turion II Neo 1.5GHz) です
# やっぱりこのスペックじゃ無理かなぁ
デバッグ用のメッセージ追加ありがとうございます。
時間ができ次第、テストしてみるます。
>>141 TSの読み込み程度でいっぱいいっぱいになるスペックでもないと個人的に思う
vmstat とか sar とかで統計情報取ってみたら?
CPU, Memory, IOのアタリぐらいつくと思うけど
>>139 10月以降は触れないことが無難と思われ
日経Linuxのハイエナ記者さん、どうせここ見てるんでしょー? んでまた記事にするつもりでしょー? このスレの神々に、せめて王将のお食事券ぐらい渡しなよ
あーあの記事って中の人が書いたんじゃないのか。 てっきり本人かと思ってた。
B25はまず問題ないだろうけど、10月以降の一発目を日経さんにやってもらえばWINWINでしょ 個人じゃ到底戦えないんだし、こういうときこそ「言論」の出番だよ
個人のみせしめみたいのは十分あり得ると思う
>>138 できればライセンスは明記してくれたほうがうれしい。手間かかるのはわかるんだけど、後々のためにちょう大事。
>>148 pt3_pci.cの中に
MODULE_LICENSE("GPL");
って入れてるんだけどこれじゃ不十分かな
pt1もこれだけのようなんでそうしたんですが。
ライセンスがらみは疎いんでアドバイスもらえるとうれしいです
ライセンスの話が急に沸いてきたのは、商用2次利用したい匂いがぷんぷんするお
>>153 GPLのドライバを商用2次利用するシチュエーションが思いつかん
誰かがVectorにPT3のシェアウエア版ドライバを上げるとか?
しかも、ソースコード付きでwww
>>155 マジですか〜、こんなのあったんだ。知りませんですた
しかし、こんなのあるんだとするとライセンスの話はやっぱり重要ってことだね
>>155 ドライバーは、形だけでもユーザー自身がダウンロードしてきてコンパイルするようになってるはず
PT2は、そうなってる
まあPT3対応をうたいながらドライバーを自社開発せず、あまつさえ Ver2.0 リリース予定をPT3の発売とかぶせてきたことが顰蹙を買ったんだろうね
>>157 本家foltia由来のコード使ってるんなら、GPLでコード請求できると思うんだけど、
どこまでがその適用範囲になるのかよくわからん(´・ω・`)
GUIとか綺麗だからOSS版としてパッケージ化できると嬉しいんだがね。
foltaは堂々と今までどおりb25扱うつもりなのかな
>>159 本家とは区別するためにちゃんと正式名称で書こうよ
"foltia ANIME LOCKER"がめんどうなら"foltia AL"とかでもいいし
GPL3と親和性のいいアフェロGPL(AGPL)なんてのもあるね あれはサービスとして動作させる時も商用不可という嫌儲ライセンス
ライセンス明示は大事ですよ。商用利用云々だけでなく、 類似ソフトウェアを開発する際にコードの再利用可否の判断につながる。 GPL同士だからソースまるごとコピーしておkとか判断できる。
何も考えずにpt3ドライバをrecpt1.oyamaのリポジトリに突っ込んでみました。 configure する際に git rebase する形(MPlayerのまねっこ)なので、 ドライバの更新に対応できる形です。
>>164 おお、すごいです!
うちのマシンはずっとこんな状況ですけど・・・
PT3-pci.c: r140:faa0bc5fc2f5 2012-07-28
Attempting to enable Bus Mastering
fail i2c run_code status 0x32
fail init_all_tuner. 0x308
PT3:device[0]= (null)
modprobe: page allocation failure: order:9, mode:0x8020
Pid: 596, comm: modprobe Tainted: P O 3.4.6 #5
Call Trace:
[<ffffffff81144aaa>] warn_alloc_failed+0x171/0x19b
:
(省略)
;
fail allocate consistent. 6
PT3: fail create dma.
PT3-pci: probe of 0000:03:00.0 failed with error -5
# uname -a
Linux localhost 3.4.6 #5 SMP PREEMPT Sat Jul 28 09:39:46 JST 2012 x86_64 Intel(R) Core(TM)2 Duo CPU E6550 @ 2.33GHz GenuineIntel GNU/Linux
>>165 fail i2c run_code status 0x32
fail init_all_tuner. 0x308
はPT3の初期化の失敗で私の環境でもたまになります。
PC起動直後に失敗して、1度成功するとその後は失敗しないので
PT3のパワーオンリセット後の動作が関係してるのかなと思ってます。
#パワーオンリセットがそんなに長いとも思えないので怪しいですが
modprobe: page allocation failure: order:9, mode:0x8020
から下のエラーはDMA用のバッファ確保しようとして失敗してます。
各チャンネルに1ブロック4096*47*8byteのバッファを32本取るようになってます。
1ブロックは連続した物理メモリを確保するので大きいと失敗しやすいです。
pt3_dma.cの50行目,51行目の BLOCK_COUNT, BLOCK_SIZEを変えて見てください。
ただし、BLOCK_SIZEは4096*47の倍数を想定してますので8を小さい数字に変えてみてください。
>>166 ありがとうございます!
pt3_dma.c の該当箇所を
#define BLOCK_COUNT (8)
#define BLOCK_SIZE (DMA_PAGE_SIZE * 47 * 4)
に変更したらBSが録画出来ました!!
168 :
167 :2012/07/28(土) 23:50:44.00 ID:VKHd+6J8
BSの方は問題なく見れるのですが、
地上波のチャンネルを指定すると
fail get_tmcc_t status=0x100
がいっぱい出ますね・・・
東京なので27chでNHKが受信出来るチャンネルのはずなんですが
>>110 のtmccのロック待ちが足りない件なのでしょうか・・・
>>161 GPL v3 にしたの?
v3 はいろいろと議論があって,いずれカーネルにマージするのを想定しているなら
v2 にしておいた方が無難.
>>169 char dev 版は今までカーネルに統合されてないから別にいいんでないの?
参考にして作られる(かもしれない) DVB 版にコードのコピーを許可する予定なら、
GPL 2+(GPL2 or any later versionってヤツ) あたりに落としておくのもベター。
GPL 2+ なら、GPL3 として読むこともできるし、GPL3として読むことも出来る。
最後の行でTypo...orz... GPL 2+ なら、GPL2 として読むこともできるし、GPL3として読むことも出来る。 今出てないGPL4としても読める。(補足)
>>169 char dev版がカーネルにマージされる未来は無いからその心配は無用
>>168 >>110 以後にロック待ちにマージンを持たせたんですが、足りないのかな
pt3_pci.cの618行目の1000を大きくするか、
619行目の1を大きくしてみてください
それでもダメなら一度アンテナ、ケーブル、分波器等を確認してみてください
>>169-171 元のpt1がGPLv3なのでv3にしました。
v3のソースを参考にしたらv3じゃないとダメだと認識してます。
SDKをそのままコピーしてるのでLinux文化的な書き方じゃないです。
カーネルにマージされることはまずないでしょうし、
DVB版作るにしても私のコードはコピーしないと思います。
自分でもこれは無いなってところが多数ありますが
とりあえず動かすのが目的なので出きるだけ安直にorSDK通り(Windows的?)に実装してます。
#earthsoftの社長さんにlinux版ドライバの配布についてお伺いのメールだしてます。
#SDKのライセンスってどこかに書いてある?
CSの番組のSIDではなくて番組のチャンネルそのものが変わったときってどこを修正すればいいんですか?
175 :
168 :2012/07/29(日) 10:10:47.74 ID:6RirG4dY
>>173 git://github.com/m-tsudo/pt3
のソースを持ってきて下記の箇所を1→2に変更したら地上波も問題なく見れるようになりました!!
ありがとうございます!!!
diff -cr pt3.orig//pt3_pci.c pt3//pt3_pci.c
*** pt3.orig//pt3_pci.c 2012-07-29 09:35:27.723512884 +0900
--- pt3//pt3_pci.c 2012-07-29 09:45:48.623551951 +0900
***************
*** 592,598 ****
break;
case PT3_ISDB_T :
for (i = 0; i < 1000; i++) {
! schedule_timeout_interruptible(msecs_to_jiffies(1));
status = get_tmcc_t(channel->tuner, &tmcc_t);
if (!status)
break;
--- 592,598 ----
break;
case PT3_ISDB_T :
for (i = 0; i < 1000; i++) {
! schedule_timeout_interruptible(msecs_to_jiffies(2));
status = get_tmcc_t(channel->tuner, &tmcc_t);
if (!status)
break;
176 :
173 :2012/07/29(日) 12:45:09.59 ID:L5QLGwae
DMAのバッファ待ちでコーディングミスがありました "dma buffer overflow"が直るかもしれません その他エラー処理の見直しとDMAのバッファサイズを縮小しました
おかげでやたら安定したみたい udpで別PCで受けて破棄(破損)されてたパケットが無くなった感じです
>>126 固定小数点演算ではダメですか?
32bit以上の整数で、小数点以下を16bit(も取れば十分だろう)とるとか…
後、PT2のドライバでどういう形でCN比を出してるか読みなおしてみるとか
>>165-166 ・メインメモリが足りない
もしくは、
・modprobeするタイミングが遅くてlow領域の物理メモリが確保できない
どちらかですねー。
PT2と同時に使うと起こりやすいかもしれない(起らないかもしれない)
1チャンクのバッファサイズの最適化とかそういう辺りかなぁ?
>>169 禿同。
chardev版がカーネルにマージされることがないとしても、DVB版ドライバにコードの一部が流用される可能性があるので、
GPLv2辺りにしておいたほうが無難だと思います。
v3だと流用困難と判定されかねないです(特にDebianのようにライセンス管理がうるさいディストリだとこの手の問題はシビアに見られる)
GPLv3の理由が、GPLv3のpt1ドライバのコードを一部流用したから、 ってことなので、仕方ないんじゃないの? ユーザとしては、オープンソースならなにか不具合が出た時に修正できるし、 GPLv3でも特に問題無いわ。 詳しくは知らんけど、DVB版のドライバは(pt1の時と同じようなノウハウで) 普通に一から作られると思うから、何も心配しなくていいと思う。
あれ? うちの環境ではコンパイル通らなくなってた バージョンをgitから取るのはナイスだと思います diff --git a/Makefile b/Makefile index 89ebc92..01a636c 100644 --- a/Makefile +++ b/Makefile @@ -21,7 +21,7 @@ clean-files := *.o *.ko *.mod.[co] *~ version.h version.h: revh="#define DRV_VERSION \"rev.`git rev-list HEAD | wc -l 2> /dev/null`\"\n#define DRV_RELDATE \"`git s if [ -n "$$revh" ] ; then \ - echo "$$revh" > $@; \ + echo -e "$$revh" > $@; \ else \ printf "#define DRV_VERSION \"$(REL_VERSION)\"\n#define DRV_RELDATE \"$(REL_DATE)\"\n" > $@; \ fi
>>184 さんきゅー
あとで直しときます
一応確認して上げてるんだけど環境の差がでるね
>>185 修正確認しました。的確な修正ですね。
ところで、
盛り上がってるPT3のドライバには直接関係ないんですが、
recpt1側のtssplitter_lite.hの中で宣言されてる
_splitbuf_tが
> typedef struct _splitbuf_t
> {
> int size;
> u_char buffer[1024*1024];
> } splitbuf_t;
で1MB固定なんですが、b25_decode()が返すdbufは1MBに収まる
保証はどこにもないのでサイズチェック&必要に応じてrealloc
しなきゃいけない気がするのですが、どなたかこの辺に詳しい方
いますでしょうか?
recpt1がコアを吐く原因を探しててここがちょ〜怪しかったんで
reallocするようにしてからコア吐かないようになった気が…
ちゃんとgdbとかで調べればいいんでしょうが、面倒なので
おまじないとしてそれ以降realloc入れちゃってます。
>>186 ずいぶん前に指摘されてた気がするけど、言われてみるとまだ直ってないね。
実際オーバーフローするのは頭の方でPAT/PMT/ECMが来ないときぐらいなんで、
もうちょっと大きめに確保しておくだけでほぼ問題ないような気もする。
32Mなら最悪ECMが来なくてもその前にb25がエラーを返してくれるね。
もちろん動的にバッファを増やす方が望ましいだろうけど。
>>187 やっぱりそうでしたか。おまじないは効いてたわけですねwww
初期サイズオーバーしたらreallocするようにするのが良いと思いますが、
コードの修正量も結構多いので、とりあえずはバッファを32MBにしちゃえば
良いってことですね。
recpt1のリポジトリで拾ってくれることを期待しましょう。
初期化失敗時のリトライ追加、不要なwaitの削除 の更新がなかなかいい!!
190 :
login:Penguin :2012/08/01(水) 01:13:38.39 ID:2N9SXnKm
7月24日のチャンネル変更以降、キッズステーションの番組表が epgdumpr2 で とれなくなりました。 # ND8→ND12 CS330 HD キッズステーション 1045.ontvjapan.com xmldata.c を次のように変更してみたましたが、あいかわらず番組表をとることができません。 { "キッズステーションHD", "1045.ontvjapan.com", 28864, 7, 330} xmldata.c の変更方法がまずいのでしょうか?
>>190 epgdump.c も同じように変更した?
>>191 ありがとうございます。
epgdump.c も変更したらうまくいきました。
本日のチャンネル変更完了 次は9/1か
194 :
login:Penguin :2012/08/01(水) 20:38:13.87 ID:3YOZx+Od
recpt1でPT3を使うのに、recpt1側のソースでいじる必要のあるところってありますか
pt1_dev.h
PT3の不具合報告ないけど安定してるのかな? まだ利用者すくないだけ?
>>198 乙、さすがエレガント!
ところで、PT3のドライバって、
> KERNEL=="pt3video*" GROUP="video", MODE="0660"
って0660のパーミッションでデバイスファイル作るから(PT2は0666ですよね)、
rootかvideoグループに所属してないとデバイス読み書きできない気がするけど
これってそういう意図でわざと変えたって理解で正しいですか?
200 :
login:Penguin :2012/08/02(木) 09:47:49.41 ID:zzBp+5by
有志のみなさんありがと、PT3動作報告
Fedora10
Linux localhost 2.6.31.3-fc10.x86_64 #1 SMP Wed Jul 6 17:28:45 JST 2011 x86_64 x86_64 x86_64 GNU/Linux
ただし、 vzalloc は vmalloc & memset に変更
>>194 ln 張れば recpt1 を変更する必要はないですけど、
ln をどっかに書いとかないといけないので労力は変わらんか。
俺も今週末にはPT3の動作検証に本格参入したいのだけど… とりあえず、最新バージョンをgithubからcheckoutした状態で modprobeしたら、 > PT3: fail i2c run_code status 0x32 出ました。rmmod&再度modprobeしたら出ない。 初期化リトライコードは入ってる。 でも、まだ何かあるみたい。 Fedora17 Linux localhost.localdomain 3.4.6-2.fc17.x86_64 #1 SMP Thu Jul 19 22:54:16 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
Fedora16で fail i2c run_code status 0x32 が出てもそのまま動く時と動かない時があるみたい
203 :
login:Penguin :2012/08/02(木) 18:31:16.11 ID:B68Aps8m
>>199 最初の頃にテスト用に変えてそのまま忘れてました
特に意味はないです。実用しだすと不便なんで0666に戻します。
>>201-202 "fail i2c run_code status 0x32"はリトライ中のも表示されるので表示される=失敗じゃないです。
キャラクタデバイスできてればリトライで成功したって感じ。
分かりにくいので表示方法考えます。
最近ドロップするようになってきた
PT2の新しいsdk来たね
今更PT2!?と思ったけどデジタル署名付けたのね
新規にPT3の環境を作っているんですが、 PT3は、GitHubのものを使うとして、 epgdumpは、どれを使うのがベストですか。 また、録画システムはどれがお勧めですか? epgrec foltia rec10 torec Chinachu
>>207 枯れて安定してるのはepgrecなんだけど、iPhoneだと操作しにくいんだよな
スマホ向けにも画面が最適化されるのが欲しい
しかしLinuxerなら自分で実装せねば
そういや7月終わったけど、PT3対応予定のfoltiaどうなった
recpt1をpt3専用にコンパイルし直して評価してますが、 今のところ何も問題無いです。>開発者、乙! 一点だけ、気になった点 PT2だと録画開始時と終了時にsyslogにメッセージ吐いてて 終了時にはドロップ数とかオーバーフロー数とかわかって 何気に便利だったのでPT3でもあったらいいと思います。 Fedora17 Linux 3.5.0-2.fc17.x86_64 #1 SMP Mon Jul 30 14:48:59 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
>>211 >今のところ何も問題無いです。>開発者、乙!
ありがとう
PT1,2は持ってないんで確認できないんだけど
開始時のメッセージってどんなのでしょう。
ソース読んでみたんだけどよくわからなかった。
終了時はPT1のようなドロップ数やオーバーフロー数は出せなくて
PT3側のエラーパケット数なら出せるんだけどそれでいいかな?
>>209 foltia AL版ドライバが出るの期待してるんだけどどうなるんだろうね
まさか他力本願で対応予定とか言ってるわけじゃないだろうし
FPGAアップデートどうするのかとか興味わくよね
今までが他力本願だったからgitのドライバがそのまま取り込まれるとと思いますよん
>>212 乙です。
PT3が十分安定してるのでPT2との2枚刺しでの運用に切り替えましたが
これまた安定稼働してます。PT3もっと買ってこようかなwww
PT2のsyslogメッセージは、
開始時:
> PT1:ISDB-S Wakeup
> used bs tuners on ffff8803e4a05000 = 1
> PT1:LNB on 0V
終了時:
> used bs tuners on ffff8803e4a05000 = 1
> PT1:LNB off
> (250:1)Drop=00000000:00000000:00000000:00000000
> PT1:ISDB-S Sleep
みたいな感じです。「ISDB-S」は地デジだと「ISDB-T」になります。
当然ハードが違うので出せる情報に違いはあると思うので、
内容は出せるものでいいと思います。動作確認的にはWakeupとか
Sleepの行だけでも十分重宝します。
私はそれがたくさん出て邪魔だったのでprintkコメントして出なくしてました
>>212 さんきゅー
>>216 私もどちらかというと出て欲しくないのでモジュールパラメータで制御できるようにしてみます。
デフォルトは出ない方向で。
githubへpushしました モジュールパラメータ debug でメッセージの表示が切り替えられます。 0 : 出来るだけ表示しない 1 : 今までと同じ程度の表示 7 : デバッグ用などいろいろ表示
最近PT3手に入れたんだが、 FPGA回路更新って、Windows上でやるものなの?
>>221 Yes。いまのところWindowsでしかできない
Linux版PT3ドライバはFPGA回路バージョン0x04必須
>>222 レスありがトン。
多少面倒だけど(Windows機のOSもSSDに入れなおそうと思っていて)
丁度いい機会だからやってみるよ。
PT3の最新ドライバでもkernel: dma buffer overflowが時々でるんだけど対処 法ってある?
>>218 debug=1で評価してると
>PT3:(248:3) error count 30
とかたま〜に出ますね。これってどこまで深刻なんでしょう?
初期化が遅れて頭がエラーになったのか、途中が欠けたのかで
深刻度も違うように思えますよね。出るのは今のところ複数
TS録画してる時に限られているようです。
ちなみに、ハードは無駄にウルトラハイスペックですwww
出た事無いなー マシンとか環境を変えて試してみてはどうだろう
>>224 dma buffer overflowは実はオーバーフローするかもってメッセージなんで
オーバーフローしてない場合もあります。
読んでるバッファブロック(1ブロック188KBx17本)の1本前のブロック先頭がDMAで上書きされてた場合に出ます。
対処法はpt3_dma.cの46行目の1を0に変えるとバッファを大きくとるので出にくくなります。
デバッグしようと思ってるけど実害があまりないっぽくて放置中です
>>218 error countはPT3側(FPGA)がカウントアップしてる数字で
TSパケットのエラーフラグがたってるものをカウントアップしてるみたい。
ドライバ側で問題あるとするとチューニング周波数の計算ミスかなと思う半面
>>226 さんのように出ない人は出ないっぽいので環境依存なのかなって気もします。
私の環境でも地上波は同時録画じゃなくてもたまに出るけどBSは出たことないです。
複数同時録画でなるのはチューナーが干渉しあってるのかもしれないですね
もともと放送波のエラーフラグが立ってるって事もあるのかな?
>>227 乙です。
ID変わってるかもしれませんが225です。
error countはFPGAがカウントしてるんだとすると純粋に変調前のノイズの
影響ってのが一番怪しいですね。うちは地上波もBS/CSも共同受信だから、
余計なノイズが乗ってる可能性は否定できないです。まあ、しばらく
様子見てみます。
>>226 変える環境が無いので、とりあえずアンテナケーブルの引き回しを
変えてみましたwww
229 :
224 :2012/08/07(火) 08:22:32.51 ID:UfMmN7E0
>>227 ドライバ作者の方?サンクスです。 オラみたいなアホな子が質問しまくると大変でしょうから READMEに 小技情報追加した方が良いかも!
>>229 そういうヤツらに限って読まないから
どこかに同じこと書くんだけどなw
頻度低いですがerror countは出ますね。 ただ、5分録画しても2時間録画しても出るのは最大30count前後。 録画中ずっと定常的に出てるわけではないっぽい。 出たからといってデコードもsplitも失敗しないし、ノイズも 乗らない。結論としては「気にすんな」ってことかも。
うお、PT3でchecksignalしたら今までに見たこと無い > error count 35438 が出た。直後にrecpt1で録画してもerror countはゼロ。 再度checksignalしたらまた > error count 32038 checksignalとrecpt1て何が違うんですか?>詳しい人
>>232 checksignalだとDMA転送しないのが原因ですね。
error countのリセットが、DMA転送するか、それようのレジスタに書き込むかなんで
現状のドライバだとリセットされないです。
チャンネル設定時にリセットするように変更しました。
ついでに"dma buffer overflow"が大雑把な判定であまり意味がないので
表示レベルをデバッグに変更しました
その他微調整
>>233 乙です
着実に完成度上がってますね
素晴らしい
キタ━━━━━━(゚∀゚)━━━━━━ !!!!!
試しにchecksignalやってみたけどTが必ずC/N = 38.288134dBで変化ないんだけどそんなもん? Sはちゃんと変動するみたいだけど
低レベルな質問ですみません 8月に入ってからepgrecでBSの番組表が取れなくなったのですが 原因としては何が考えられますか? epgdumpとrecpt1はsourceforgeの2011年10月の新BS対応版を使ってます
238 :
login:Penguin :2012/08/09(木) 14:01:02.68 ID:BaiHz/ge
>>236 アンテナケーブル半分抜いてみるとかでも変わらない?
239 :
237 :2012/08/09(木) 14:27:24.67 ID:q0KZ2LoV
追記です recpt1での録画はできて、epgdumpにts食わせるとチャンネル名だけのxmlができます
>>236 CATVとかで安定してるとかじゃね。
引っこ抜いて0になれば大丈夫
抜くとちゃんと No signal. Still trying: /dev/pt3video2 になるけど緩めてみたりしてもかわらないなー 同じ分配器からつないでる別PCのPT2だと device = /dev/pt1video2 C/N = 30.124196dB
242 :
login:Penguin :2012/08/09(木) 17:00:06.08 ID:BaiHz/ge
>>241 No signalはチャンネル設定できない時のエラーなんで
シグナル強度取れてるかどうか試すなら
checksignal実行してC/N値が出てる時にチューナーケーブル抜かないとだめだよ
途中で抜いても変わらないみたいよ みなさん出来てるとするとうちの環境の問題なんだろうけど
244 :
login:Penguin :2012/08/09(木) 19:11:31.93 ID:BaiHz/ge
>>243 試してくれてありがとう。仕事中で試せなかったもので。
CN取得でtypoしてました。
修正してpushしたんで取り直してみてください
pushマダー(AA略
まだpushされてないみたい、とりあえず tuner->tc_t, NULL, cn に修正したらちゃんと動きました ありがとうございました
やばいな、完全にpushしたつもりになってた。 今度こそpushしたよ
>>210 これいいな
ありがとう
見てるかわからんが乙です>作者どの
>>247 乙です。
今気付いたんですがmodprobeした時に
>PT3-pci.c: rev.XX 2012-08-09
が出る時と出ない時がある気がするんですが、
これはこういうもんなんですかね?
>>247 モジュール初期化で真っ先に表示するので必ず出るはず。
初期化ルーチン走らないモジュールロードはないと思うんで
syslog側で無視するパターンがあるのかも?
いまさらだけどPT3-pciじゃなくてPT3-pcieのがよかったな・・・
>>251 出なかったのは/var/log/messagesの方で、dmesgの方は
>[390693.091978] free PT3 DEVICE.<6>[390707.582985] PT3-pci.c: rev.71 2012-08-09
みたいになぜか改行されずに2行混ざって出てた。
(「<6>」ってなんだろ?)
こうなると/var/log/messagesには出ないみたい。
気になるのは、rmmodした時に、dmesgに
>free PT3 DEVICE.
が出ないことがあるってことの方かも。
カーネル側のバグ?
Fedora17 3.5.0-2.fc17.x86_64
syslogdは設定によって同じログメッセージを束ねる機能がある 何度も連続してmodprobeしたりしてる?
もしかしてprintkの最後に改行が抜けてるせいで バッファがフラッシュされてないのでは?
やっぱりprintkに改行付けたら直ったよー
>>255 さんきゅー
何箇所か改行してないところあったんで一緒に直しました
>>237 答えてやりたいとこだが、
その情報だけでは何とも・・・。
取れないのはBSの全チャンネル?
>>256 乙です
うー pt3_pci_init()のversion表示の行に改行が2つあるみたい
これでいいかな diff --git a/pt3_pci.c b/pt3_pci.c index c00b26d..f138cdf 100644 --- a/pt3_pci.c +++ b/pt3_pci.c @@ -1131,7 +1131,7 @@ static struct pci_driver pt3_driver = { static int __init pt3_pci_init(void) { - printk(KERN_INFO "%s\n", version); + printk(KERN_INFO "%s", version); pt3video_class = class_create(THIS_MODULE, DRIVERNAME); if (IS_ERR(pt3video_class)) return PTR_ERR(pt3video_class);
260 :
login:Penguin :2012/08/09(木) 22:57:23.93 ID:BaiHz/ge
>>259 ども
録画中でテストしないでアップしたら凡ミスを。。
しかも、こっそり直そうと思ったら失敗した。
変なコミットあるけど気にしないでね^^
debian squeezeだとコンパイルエラーになるんだけど、vzallocをvmalloc + memsetに置き換えても良い?
263 :
login:Penguin :2012/08/10(金) 07:03:36.40 ID:h6H+nrJR
>>262 大丈夫
vzallocっていつから増えたんだろう
264 :
login:Penguin :2012/08/10(金) 11:25:55.51 ID:h6H+nrJR
>>262 vzallocない場合に対応したつもり
これでいけるかな?
>>257 ありがとうございます
取れないのは全チャンネルです
$ recpt1 --b25 --strip --sid hd 211 120 /tmp/test.ts
は正常に録画できますが、
$ epgdump /BS /tmp/test.ts /tmp/test.xml
とすると、
<channel id="4101.epgdata.ontvjapan">
<display-name lang="ja_JP">NHK BS1</display-name>
</channel>
といったものが並んだだけのxmlができます
266 :
login:Penguin :2012/08/10(金) 12:02:28.49 ID:h6H+nrJR
sid指定しちゃダメなんじゃないっけ
>>266 sid指定なくしたら取れました。ありがとうございます
ということはdo-record.shをいじったのが問題だったわけですね
1か月ほどは問題なく取れてたのが謎ですが
>>267 tssplitter_lite ではなく、libavformat 版でやらないか?
(まだ作ってる最中で絶賛ヌルポ状態です...orz...
>>268 たぶんテンパってんだろうけどレスの流れぐらい理解しろw
あと libavformat版がんばれ
>>267 epgrec UNA版のrecpt1パッチ適用して、getepg.phpで--sid epgを指定するようにすれば
--sidも使えてHDD負担も減るよ
>> 264 どもども。うまくいったです。
>>270 getepgの出力先はtmpfsにしとくのが精神衛生上もいいやね
PT3って今どこらへん?
伝票番号がわかれば配送業者のサイトで調べられるよ
調べられないよ
PT2とPT3混ぜて運用してるけど、もうPT2は引退させてもいい感じ
もうそんなに安定したレベルになってるん? こりゃドライバ作者さんにインタビュー依頼来るんじゃねw
>>225 うちでもそこそこ大きな(2000〜3000程度の) error count がでるけどチャンネル依存のようだ。
殆どのチャンネルでは、count=0 か出てもせいぜい20程度だが
放送大学 (東京で28CH)でchecksignalすると、いつも2200程度のerrorがでる。
因みにC/Nはども34dB程度で放送大学が特に悪いわけではない。
長い時間checksignalかけていても増えないので、頭の部分エラーで出ているのかもしれない。
ところで、地デジチャンネルでchecksignalすると必ず最初は
C/N = -nandB
って表示になるけど皆もなる?
初めの1ループ分って感じ
280 :
278 :2012/08/14(火) 19:26:50.21 ID:rywkhpCY
ううむ、 error が出まくってうまく録画できないときがある。
状況としては
>>278 に書いたのと変わらないのだけれど、通常、count=0 になるようなチャンネルでも、
長時間録画しようとすると途中で録画が止まってしまうのがある。
そのときの error count を見てみると、恐ろしいことに 1000万(8桁)を超えるエラーが出ていた。
エラーから抜けられなくなっていてデータ転送ができないように見える。 (segfaultとかは無い)
一緒に差してるPT2だと大丈夫なので、PT3を差すスロットを変えたり、アンテナケーブルを
PT2のものと交換したりしてみたけど変化無いのだけど同じような症状の人居る?
環境やPCとの相性なのかな
>>278 >>279 あくまで予測の範疇だけど。
チューナーロック前のバッファ(エラーフラグ立ってる)がクリアされてないっぽくて
チューナーロック後にバッファが埋まるまでウェイト入れてから
エラーカウントリセットすればエラーカウント0になるみたい。
だからデータ量の少ないチャンネル(放送大学?)だとロック前のバッファが多く残る
BS/CSみたにデータ量の多いチャンネルだとすぐにバッファが上書きされるって感じ。
どの程度待てば十分なのかがはっきりしない&実害無いので放置してたけど
適当にウェイト入れてみます。ウェイト足りないようだったら教えて
>>280 デバッグモードにしてログを貼り付ければ何か進展するかもしれん
>>280 突然の豪雨で受信レベル低下とかない?
PT2と同時録画でPT3だけ失敗するのかな?
printk のメッセージの頭にひと通り PT3: を入れていただけると grepできてありがたいなんて思ったりしますがどんなもんでしょう
>>284 いれたよー
# patch作ってくれるとうれしいな
どうもありがとうございます パッチはPT3_PRINTKになってなかった所が何かあるのかなと不安でした
288 :
278 :2012/08/16(木) 22:16:25.18 ID:JPsIczZV
>>281 新しいドライバを入れてみたところ、
>>278 の症状は全て無くなり、どのチャンネルでも最初は
Error Count=0になるようになった。 ありがとう。
ところで、やはり
>>280 の症状は収まらず、相変わらず録画失敗が多発する。
但し、失敗するのはBSのみで、地上波で失敗することは無いようだ。
この状況から、ドライバが原因とは考えにくい。
PT2とPT3で同じBS番組を録画してPT3のみ失敗することがあるので、やはりPT3の問題かも。
同じような症状の人は居ないみたいだし困ったなぁ
>>288 Windows8 RP あたり入れて、ハード故障か切り分けてみたら?
>>290 LNB電源がカードからきちんとでてるかどうか調べてみるとか
292 :
278 :2012/08/17(金) 00:58:50.48 ID:7e3ajYw7
>>290 >>291 ぅうむ・・・LNBですか。 どうなんだろう。
>>288 に書いている通り、PT2とPT3とを同時に両方ともLNB ON にして同じ番組を録画して、PT3だけ失敗した。
アンテナ電源の問題だとすると、PT3で失敗した時点でPT2でも失敗するはずなので考えにくいかなと思うがどうかな。
あと、PT3で失敗する時でも最初のうちは録画できていて、途中で止まり、そのまま回復しないという症状は手掛かりにならないですかね。
即ち、途中一度でもerror countが上がり始める(=パケットエラー?)と、設定した録画終了時間まで2度と復活しないのだけど、でも、
このとき、同時に録画進行しているPT3のもう片方のBSチューナーはちゃんと生き続けていて録画継続できている。
なんか、一度Syncが外れると最後まで復活しないような症状なんですが、ドライバ側でなんかWorkAroundが出来ないでしょうかね・・
などと勝手な事を妄想してみたりしています。
293 :
278 :2012/08/17(金) 01:04:15.08 ID:7e3ajYw7
WorkAround -> Walk Around (恥・・・
すみません、レベルの低い質問で申し訳ないですが、教えてください。 epgrecでBSの新しい放送局やCSの一部の番組表が歯抜けになってます。 config.phpとepgdump.cとxmldate.c すべて、チャンネル変更をしたのですが同じです。 あと、LaLaTVを録画すると、ムービープラスHDで放送されている番組が録画されます。 ファイルはちゃんと、LaLaTVのタイトルになってます。 ムービープラスHDで録画すると、ちゃんと番組表通りに録画されてます。 変更の仕方がマズイのでしょうか? 上で190の人がレスされてる仕方と同じなんですが。。 わからないのは、NDというのはどこで変更すればいいのでしょうか?
簡単なのはデータベースを一旦全て削除すればいいよ でなかったらmysqlを直接コマンドで修正
>>292 ますますLNBクサいけど切り分けきる?
>>294 CSはチャンネルの設定でSIDを手で指定して、
録画モードでSIDによるフィルタリングが有効なモードにするか、
Full TSで録画して再生アプリ側でプログラムを指定するかする必要があります。
>>294 番組表の上の方のチャンネル名が書いてある行、
チャンネル名が書いてあるセル(?)をクリックすると
チャンネル情報
視聴しない:
サービスID:
ってポップアップが出てくるので、
LaLaTVならサービスID:314
と入れて更新を押します。
>>292 ドライバ側でやってるのはDMA転送されたデータのバッファリングと
そのバッファをユーザ空間へコピーしてるだけなんで、
正常なパケットだろうがエラーのあるパケットだろうが止まることはない。
ただしバッファは各チャンネルに1ブロック188KBx17ブロックあるんだけど、
ブロックの先頭がSyncバイト(0x47)でない場合、("PT3: invalid sync byte...."が出る)
そのブロックはユーザ空間へコピーされない
PT3が正常に復調してDMAが止まらなければ、そのうち上書きされて正常状態に戻るはずです。
うちの環境で
録画開始→アンテナはずす→アンテナ戻す→録画停止
やってみたら、途中に再生できない部分があるけど最後のほうはちゃんと再生できるTSができたんで、
アンテナレベル低下でDMA止まらない&ドライバ側も止まってない
ちなみに復調できなくてもSyncバイトは固定みたいで"PT3:invalid sync byte..."はでなかった。
現状の話を聞くと途中から最後まで復調に失敗してるんじゃないかな
300 :
299 :2012/08/17(金) 08:36:43.54 ID:4SutgWV4
>>292 ごめんなさい、お答えになってなかったですね。
途中から復調に失敗したまま復帰しないとなると
チューナーのPLLロックが途中から外れるということなのでハードの問題じゃないかと思います。
>>302 情報ありがとうございます。
やはり本家そこっぽいですよね。
recpt1って、ドライバーはpt1/pt2/pt3用とそれぞれ別れていて
recpt1自体は同じもので動くという認識で良いのでしょうか?
いかんせん、実機持って無いので勝手が分からずすいません。
>>303 ドライバはPT1,2用と3用があってrecpt1は共通です
305 :
301 :2012/08/17(金) 17:18:34.84 ID:07CiTaj3
ttp://hg.honeyplanet.jp/pt1/ のpt1_dev.hの情報を元にepgrecとepgdumpを修正してみました。
epgdumpの方はMakefileのコメントアウトされている
RECPT1 = -DRECPT1
を有効にしてコンパイルしてください。
epgrecの方は既存のテーブル構造のままで大丈夫なので
各テーブルをトランケートしてから、getepgをしてください。
動作報告、不具合報告お待ちしております。
DVBアプリ集0.98 うpしました Sc 371039 - s2scanがscanできなくなってた問題を修正。 (前スレでエラー報告してくれてた方、ご迷惑をお掛けしました m(-_-)m ) DVBドライバの改造版v0.1も Sc 371042 - suspend/resumeに対応 (ただしmplayer等再生アプリ側でも対応が必要になる場合あり) - BS/CSのチューニング改善(開始直後のエラーパケットが少なく) - BS/CSのSNR,BER読み出し機能を追加 復調ICやチューナーICについてネットで拾った情報を基に作ってあるので、本家マージの予定はなし よろしければお試しを.
かき
309 :
278 :2012/08/17(金) 22:54:19.36 ID:GtCBT3CV
>>299 >>300 いろいろとありがとうございます。 今日、PT3をもう一枚買ってきてしまいました。
早速交換したところ全く同じ症状が出ました。 orz
ところで、テストをしていて気がついたのが、2つの端末を立ち上げて:
端末1:$ checksignal --lnb 15 --device /dev/pt3video0 101
端末2:$ checksignal --lnb 15 --device /dev/pt3video1 103
などとすると、両方とも C/N=14dB近辺の値を表示するのですが、ここで、例えば端末1側を ctrl-c で止めると、
端末2側の C/N の値が急に 3〜4dB辺りに落ちてしまうことが判りました。
私の環境では 100% 確実に再現します。 また、この現象は PT2 では起こりません。
もし、上記のような事(片側を落とすと、もう片方のsignalも落ちる。 その時点でLNBがoffになる??)のであれば
これまで私の環境で起こっていたことの説明が付きそうです。 (何人かの方が書いてくれていますがやはりLNBが問題?)
不思議なことに、片側を recpt1にして録画をしている最中に、もう片側でのchecksignalを落としても
recpt1はそのまま録画を続けることもあったのですが、そのときには今度は、空いているべきチューナーのsignalgが
checksignalで取れなくなる(No signal. Still trying:)という現象が起きます。
そこで、皆さんに質問なのですが、うまく録画できている環境でも、上記と同様なこと
(checksignalで片側落とすともう片方にも影響が出る)と言うことが起こるのでしょうか。
どなたか実験をしていただけるとうれしいです。
長文失礼!!
310 :
301 :2012/08/17(金) 23:51:10.78 ID:jN8mPnsv
>>306 違いますね。
しがない、プログラマの端くれです。
>>293 合ってるんじゃ?
workaround
―【名詞】
《システムなどの問題の》回避策.
・These workarounds will not remove the vulnerability. これらの回避策は脆弱性を取り除くものではない.
>>310 紛らわしくないですか
本家が引っ越ししたのかと思って復旧に苦労しました
○版とか分けてもらえると間違えも無くなると思います
>>309 私のレスがPT3を追加購入させたのなら申し訳ない。
見直したところデバイスファイルclose時にLNBを無条件でOFFにしてたので修正しました。
うちの環境が外部からの常時LNB給電なのでテストできないのですが、これでどうでしょう。
ただ、PT2と同時録画でPT3側だけ録画できないのは別の原因がある気がします。
#PT2からLNB給電してるはず?
315 :
278 :2012/08/18(土) 15:05:32.81 ID:LcHpunJf
>>313 いえいえ、いづれもう1枚は欲しいと思っていたので前倒しに追加購入しただけです。 お気になさる必要はまったくありません。
さて、早速の修正をありがとうございました。 取り込んでみたところ、
>>309 の症状は無くなりました。
これで暫くテストしてみたいと思います。
別の原因については私も何かあるのではないかと思っていて
>>292 でLNB は原因で無いのでは、と書いていたのもその為です。
そもそも、今回修正いただいた点が大きな問題であれば、私以外の環境でも問題点として報告が挙がっていたと思うのですが
皆さん安定稼動しているようですので、やはり私の環境にも問題があるのだと思います。 (LNBをON/OFFするのは珍しいのかな?)
いづれにせよ今回修正していただいた事で考慮点が一箇所減りテストしやすくなりました。 ありがとうございました。
前スレで少し話題になってたepgrecにa.phpが仕込まれる件、今朝うちのところに着弾してた。19/Aug/2012:01:33:40時点で確認。 一応Basic認証かけてはいたけど、パスワードが簡単すぎたらしい。反省。 ログ見た感じじゃ特に削除されたとかの被害はなかったけど、今でもクラックできないか調べてる人がいる模様。ちなみにアメリカからだったかな。
317 :
294 :2012/08/19(日) 19:18:46.83 ID:E3yzXCfN
みなさん、ありがとうございました。 違うチャンネルが録画される問題は解決できました。 しかし、やはりCSの一部のチャンネルで 番組表の取得ができません。 最近、変更されたチャンネルばかりみたいです。 mysql> TRUNCATE TABLE `Recorder_channelTbl` mysql> TRUNCATE TABLE `Recorder_programTbl` これらは行って、getepg.phpもしたので テーブルはepgdumpの記載通りになって ます。番組表の放送局のところをクリックして番号も打ちました。 一つ疑問はテーブルを見たときに、1番左のIdというのが、TRUNCATE TABLEをするたびに、数字が変わります。 これは問題ないのでしょうか? それと、recpt1/pt1_dev.hの中身を見たら 情報が古く、チャンネルとNDがチャンネル変更前のままになっています。 新BSには対応しています。 recpt1/pt1_dev.hも書き換え必要がありますか? 長文になり、申し訳ないです。
書き換え必要と思えば書き換えてみようよ。そのくらいの試行錯誤はしようぜ。
319 :
278 :2012/08/19(日) 21:16:45.82 ID:BBi7Sa+g
>>313 ほぼ1日テストしてみたところ完璧に動作しているようです。 ありがとうございました!!
こうなるとPT2と同時録画時になぜPT3だけ落ちたのか判りませんが、こうなると私のオペミス・考え違いのような気がしてきました。
混乱した情報を提供してしまい申し訳ありませんでした。
320 :
294 :2012/08/19(日) 21:43:09.98 ID:E3yzXCfN
>>318 ありがとうございます。
実はもうしましたが、CS全部が録画できなくなりましたので、戻しました。
>>317 pt1_dev.hのNDとかが書いてある部分って,コメントアウトされてない?
かんちがいだったら失礼。
それと最初の質問だけど,epgdump.cとxmldate.cを書き換えたはいいけどなんらかの
原因で再コンパイルされてないとか? 一度make cleanしてみては?
2.6.32のdebian squeezeなんだけど、pt3_pci.cで linux/smp_lock.hのインクルードが無いんでコンパイルエラーになるよ。
323 :
294 :2012/08/19(日) 23:07:53.17 ID:E3yzXCfN
>>321 コメントアウトはされてないようです。
やはり、pt1_dev.hを書き換えないと
いけないのですか?
単純に、チャンネル番号を最新にして、ND番号を最新用に配置し替えただけなんですが。。
書き換え方かわるかったのかも。
make clean はしてみました。
pt1_dev.hをもう一度書き換えてみます。
>>323 pt1_dev.hの書き換えなんかは必要ないはず。
epgdump.cとxmldate.cを、どう書き換えたの?
例えば最近変更されたチャンネルだったら、
{ "スーパードラマ", "1006.ontvjapan.com", 28896, 7, 310},
という感じになってれば、okなはずだけど。
327 :
login:Penguin :2012/08/20(月) 11:10:39.97 ID:dqU902mw
まあ漏れパス使い続ける奴もいるからな
329 :
294 :2012/08/20(月) 11:24:48.12 ID:uSM9UqST
>>324 そうなんですか?
もう一度書き換えみたんですが、やはり変わらなかったですし、また元に戻しました。
epgdump.cとxmldate.cはそう書き換えてます。
あと、番組表の放送局名も一部のチャンネルで名前が変わったので、書き換えたのですが、番組表には反映されてません。
ここらも何か関係ありそうですが。。
330 :
301 :2012/08/20(月) 11:43:59.03 ID:ntq3IOVc
>>294 自分のはそういう面倒が無いように作ってあるのだが、
試してみては貰えないのかな;
>>329 >>323 でコメントアウトされてないってことだけど,pt1_dev.h内のCSのND番号を記述
してあるところって,このブロックしか見当たらなかった。
{ 12, CHTYPE_SATELLITE, 0, "CS2"}, /* ND2:
* 237ch:スター・チャンネル プラス
* 239ch:日本映画専門チャンネルHD
* 306ch:フジテレビNEXT */
どっちにしても,おれもチャンネル変更の作業したことあるけどpt1_dev.hはいじらなかったな。
epgdump.cとxmldate.cとsample.phpだけだったと思う。
大穴で書き換えたNDやSIDが間違ってるとかは? 8月1日のチャンネル変更が最新ですよ。
332 :
294 :2012/08/20(月) 20:05:35.29 ID:6FWgevcp
>>331 もう一度調べましたが間違ってないです。
sample.phpとは?
過去スレもほぼ目を通したのですが、sample.phpは初めて聞きました。
なんだか、お手上げな感じです。
なにが原因なんだろう。。
>>332 config.phpじゃない?
epgdump.cとxmldata.cを適切に弄ってあるのなら
config.phpとdbのRecorder_channelTbl ・
Recorder_reserveTblのchannelを書き換えれば
動くと思うが・・・
>>332 どこをどう書き換えて、何をしたのかを
順番に示してくれないと、アドバイスできん。
チャンネル変更への対応は、epgdump.cとxmldata.cを
書き換えて再コンパイル、/usr/local/binへコピー。
epgrecのconfig.phpを書き換えてデータベースを一旦
全て削除するか、削除しないのであればRecorder_channelTblの
channelを変更する。
まさかだけど、チャンネル番号だけ変更して、TSID変えてないとか
ないよね?
>>333 うひ。ごめん。そのとおりconfig.pgpでした。
元のファイル名がconfig.php.sampleなのでつい。うろ覚えで書いちゃいかんな。
重ねてtypo。吊ってきます。
>>327 ありがと。古いカーネルですまん。
2.6.32ではダメだった。良く調べてないが2.6.30-38の場合に、
インクルードする必要があるのかも。
#include <linux/smp_lock.h> が飛ばされちゃうからかな
2.6系が少数派であれば、ドライバとしてサポートしないのもありかも。 鈍重なdebianは、次のwheezyも2.6系なのかな?
CentOS 6が2.6.32だから2.6系も結構いそう
>>342 補足:使い方
$ recpt1 --sid all --dlna
上記の様にコマンドを打ち込んでから、
DLNA対応機器(TV等)でrecpt1と言うのがメニューから見られる筈なので、
選択し、視聴したいサービスIDの番号を選択すると、
そのサービスIDのストリームのTSが抽出されて出力(画面表示)されるはず。
ファイル出力に関してはゴチャゴチャのグダグダ(DLNAで選択したもの)になるので、
/dev/null とか無指定(-)を指定するのが吉です。
345 :
login:Penguin :2012/08/21(火) 13:03:09.50 ID:9e0F6gFV
>>337 失礼、各バージョンの違いを把握してなくて。
pt1参考にしたんだけど安直すぎたかな。
2.6.32でもインクルードするように直しました
そういえば、libccid 1.4のデータベース未登録問題って解決したのかな?
347 :
294 :2012/08/21(火) 23:52:22.85 ID:SFvrM7ZF
>>334 ありがとうございます。
もう一度インストールからやり直して、
書いて頂いた手順を踏んだら番組表が
更新できました。
しかし、チャンネルによってやはり
他の番組が録画されてしまいます。
例えば、LaLaTVだと何故かGAOLAが録画されてしまいます。
ディズニーXDもGAOLAが録画されます。
番組表でのサービスIDも正しく設定してますし、予約した通りに録画できる番組もあります。
Recorder_channelTbl も正しくなっています。TSIDも正しいです。
>>347 LaLaTVはND18、ディズニーXDはND04、GAOLAはND06
だから、トランスポンダから間違ってるのでは?
Recorder_channelTblのchannelの値が、
LaLaTVはCS18、ディズニーXDはCS4、GAOLAはCS6と
なってる?
あとは、epgdump.cとxmldata.cの中の
1074.ontvjapan.com
とかの部分と、config.phpの同じ部分が、
チャンネル単位で一致してないとか、
他と重複しちゃってるとか?
epgrec assist 更新しました
・番組表で放送波を選択した際に表示時間位置を維持
・録画済一覧のサムネイル表示対応
・予約、録画済み一覧で番組選択後、選択された番組のみ表示(オプション)
http://w3.quake3.jp/osamu/epgrec_assist/ epgrec assist はこれにて一区切りとします
epgrec 本家の方で同等の機能を盛り込むべく調整中です
epgrec のスマホ対応は、頭の片隅に…デバッグ環境が無いに等しいんですけどね
順番としては、
・予約、録画済、検索等一覧のレイアウトを変更、assist同等に(←8割がたできてます)
・番組表をassist同等に、その他のページもそれなりに
・ここまでで、テンプレート切り替えができてる予定 → スマホ対応してみる?
といった具合に…いくといいなぁ
おつおつ
VMWare ESXi 5.0 でPT3運用しようとしているのだが Aug 24 21:59:24 localhost kernel: PT3-pci.c: rev.0 Aug 24 21:59:24 localhost kernel: PT3-pci 0000:0b:00.0: PCI INT A -> GSI 19 (lev el, low) -> IRQ 19 Aug 24 21:59:24 localhost kernel: PT3: Bus Mastering Enabled. Aug 24 21:59:24 localhost kernel: PT3: Check PTn is passed. n=3 Aug 24 21:59:24 localhost kernel: PT3: cleanup I2C bus. Aug 24 21:59:24 localhost kernel: PT3: ISDB_S Wakeup Aug 24 21:59:24 localhost kernel: PT3: ISDB_S Sleep Aug 24 21:59:24 localhost kernel: PT3: ISDB_T Wakeup Aug 24 21:59:24 localhost kernel: PT3: ISDB_T Sleep Aug 24 21:59:24 localhost kernel: PT3: ISDB_S Wakeup Aug 24 21:59:25 localhost kernel: PT3: ISDB_S Sleep Aug 24 21:59:25 localhost kernel: PT3: ISDB_T Wakeup Aug 24 21:59:25 localhost kernel: PT3: ISDB_T Sleep Aug 24 21:59:25 localhost kernel: PT3: device[0]=(null) Aug 24 21:59:25 localhost kernel: PT3: fail allocate consistent. 0 Aug 24 21:59:25 localhost kernel: PT3: fail create dma. Aug 24 21:59:25 localhost kernel: PT3-pci 0000:0b:00.0: PCI INT A disabled Aug 24 21:59:25 localhost kernel: PT3-pci: probe of 0000:0b:00.0 failed with error -5 となって使えん。なんか呪文があるのだろうか? ちなみにWindowsVista64 bitではESXiは問題なく使える。 もちろん素のLinuxなら問題ない。 解決方法ある? エライ人教えて!
354 :
129 :2012/08/24(金) 23:13:36.41 ID:g+9kU6wQ
>>353 そもそも PT3 じゃないデバイスがパススルーできることは確認してる?
355 :
353 :2012/08/24(金) 23:23:59.90 ID:GZQUxnuY
>>354 LinuxはIntel 1000PTで確認済み。問題なく使える。
VistaではパススルーでPT3を認識して録画可能。
当然Vista + 1000PTもパススルー認識して問題なく使える。
昔pt2をvmware(だったと思う)のパススルーで使った人がこのスレにいて、その方法を書いてたんだけど その書き込み掘り起こさないと無理かも 結構手間かけてた 時間ができたら探してみる 本人降臨してくれといいんだけど
>>355 単純にWindows仮想マシン用のパススルー処理がより汎用的に作られているだけのような。
ちなみに、Linux仮想マシンのゲストOSタイプをVista64bitにしても変わらない?
358 :
353 :2012/08/25(土) 00:46:35.67 ID:lcyHRtzZ
>>356 お手数ですが、よろしくお願いします。
>>357 試してみたけど結果は同じだった。うーん。
そういやLinux-kvmでpt2パススルー、Windowsゲストで安定動作報告きてたけど Linux on Linuxで試してみたら頻繁に刺さって悲しかったな。 ホストのカーネルバージョンやpt2デバドラを変更したりすると、刺さる頻度 変わったり。
>>353 DMA用の物理メモリ確保で失敗してるからPT3うんうんじゃなくて
メモリ確保のやり方か仮想環境の問題な気がする。
確保量がwindowsのbondriverより多目になってるんでそのせいかも?
pt3_dma.cの定数いじってみて
361 :
360 :2012/08/25(土) 07:58:00.60 ID:DUj77K0t
ごめん、BonDriverのソース読み直したらメモリ確保量はBonDriverの方が多かった。 #pt3_dma.cのBLOCK_COUNTだけどBonDriverだと8*8=64
362 :
353 :2012/08/25(土) 08:25:34.26 ID:lcyHRtzZ
>>360 pt3_dma.cの46行目のifdefの値を1のままで試したところ動作しまた。
ありがとうございます。
これで糞窓環境捨てられます。感謝です。
ESXiで使えるん?朗報や〜ヽ(´▽`)ノ
>>353 レポありがと。
365 :
login:Penguin :2012/08/26(日) 23:44:04.73 ID:mPmaWu8x
今日、PT3を買ってきて Linux マシンに入れて色々試しています。
なんとか recpt1 をコンパイルして -http で出力させて、
外部パソコンの VLC Player で見ることができるようになったのですが、
CSの場合、
http://XXXX:8888/CS2, CS4, CS6, ... というように
大きなチャンネルしか指定できません。
ディスカバリー等の個別チャンネルを見るには、
URLをどう指定すればいいのか分かりますでしょうか?
:port/CS16/333 同様に/24/1seg 等でワンセグ受信も可能。
367 :
login:Penguin :2012/08/27(月) 01:18:58.71 ID:wqPbWSvY
>>366 うまくいきました。
ありがとうございます。
これ全部、m4uに書いておけばいいのですね。
ところで、外国放送等の主音声・副音声の構成の番組だと、
音が消えてしまう現象に見回れているんですが、私だけなんですかね…
PT3 仮想マシン(KVM)で動作OK。 FPGAの更新もWindows仮想マシン上でできたわ。
今の仮想マシンってpciパススルーなんてできるんだな と思ったら随分前からあったのね 良い時代になったもんだ
まあな
PT3用に新しく組んだ環境下で 録画ファイル名が初期値(%CH%_%ST%_%ET%)に固定されてしまうんですが、 なにか原因ご存知ありませんか… (Ubuntu12.04 / epgrec_20111001.tar.gz)
>>371 /var/www/epgrec/settings が apache のアカウントで書き込み出来るようになってる?
それと httpd/error_log 見て見たら?
最近テレビ朝日は --sid hd 使うとうまく録画出来ない、映像も音声もないサイズの小さな ts が作られる。 /usr/local/bin/recpt1 --b25 --strip --sid hd 24 1766 /var/www/epgrec/video/報道ステーション とりあえず --sid hd オプション取れば録画出来る /usr/local/bin/recpt1 --b25 --strip 24 1766 /var/www/epgrec/video/報道ステーション なんか変わったのか?
>>372 /var/www/epgrec/settingsには権限付けていて(777/www-data)
config.xmlも生成、かつ<filename_format>に値も正しく入っているのです
apache/phpのerrorlogには特にそれらしいものは無いように見えますし…
378 :
375 :2012/08/28(火) 00:42:53.24 ID:xGGaygnR
>>375 テレビ朝日は最近じゃなくて前からそうじゃなかったっけ?
>>378 それ古いヤツだろ
わざわざ古いヤツを使うというのは、何か理由があるのかね?
>>378 それは残念ながらそういうバグを持ってる版だ
最新版に更新することをお勧めします
機能追加よりバグ修正とかチャンネル情報修正とか多数されているので
>>376 なんかコンパイルエラーがでてコンパイルできない
tssplitter_lite.c: In function ■?ニReadTs■?ヌ:
tssplitter_lite.c:249: warning: dereferencing ■?ニvoid *■?ヌ pointer
tssplitter_lite.c:249: error: invalid use of void expression
tssplitter_lite.c:250: warning: dereferencing ■?ニvoid *■?ヌ pointer
tssplitter_lite.c:250: error: invalid use of void expression
ここのあたりね。 249 *(sbuf->data + index + 1) = 0xff; 250 *(sbuf->data + index + 2) = 0xff; sbuf は struct ARIB_STD_B25_BUFFER である。 sbuf->data は (uint8_t *) である。 0xff は (signed char*) になる? どこかでキャストが良い気がする。 (uint8_t)0xff; とかに修正したら動くかも?
385 :
login:Penguin :2012/08/28(火) 23:49:29.36 ID:5c5jbFEm
>>301 githubの epgdump コンパイルすると、
...
gcc -std=c99 -O2 -Wall -g -Werror -Wno-return-type -c util.c
util.c: In function 'parseOTHERdesc':
util.c:78:6: error: variable 'descriptor_tag' set but not used [-Werror=unused-but-set-variable]
cc1: all warnings being treated as errors
make: *** [util.o] Error 1
とエラーになりますね。-Werrorを外したらコンパイルできましたけど。
>>384 *(uint8_t*)(sbuf->...)にしたらいいんじゃないかなあ?
おとなしく
sbuf->data[index+1]=...
とか
>>386 > *(uint8_t*)(sbuf->...)にしたらいいんじゃないかなあ?
これが正解だった。
dataが(void *)で宣言されてたから文句言われた模様
チャンネルスキャンスクリプトを作ってみました。 ◆使い方◆ channelscan_pt1.sh (引数無し) ◆依存関係◆ epgdump と perl の XML::Simple が必要です。 ◆機能説明◆ 1. recpt1 を 13ch - 63ch までTS出力させて、epgdump でXMLを出す。 2. epgdump の出力したXMLを epgdump_xml_parase.pl で局の情報を抽出、ソートして出力 3. 書き込み先は ~/.recpt1_ISDB、~/.recpt1_BS、~/.recpt1_CS、~/.recpt1-channels ◆その他◆ 時間帯により(?)地デジで取得できないチャンネル情報がある模様。 実行にものすごく時間がかかります。30分ぐらい。 ◆ToDo◆ このスクリプトの作成したファイルを元に、 DLNA版の物理チャンネル変更機能版を実装予定。
ぜひBS/CS版を
TS内の番組情報がUTF-8オンリーだったらepdumpr的なものも もっと気軽に作れるんだけどなあ
>>391 失礼いたしました
ありがとうございます
>>393 吐き出す内容が違うからそのままでは駄目
合うようにepgrec側を改造すればおk
pt3のDVBはどんな様子?
こっそりBS/CS対応にしてみましたが、splitterが途中でALLになってしまったり、 BSが映らないとか色々ダメゲな状態なので生温かく見守って居てください。
openSUSE12.2(RC2)でPT3で視聴できました(Kernel 3.4)。 マイナーなディストリでも動いた感動を伝えたくて記念カキコ。
詳しい人教えて下さい。 2senのepgdumpはチャンネル情報がソースにスタティックに埋め込んであって チャンネルが変更になる度に修正&コンパイルが必要だけど、 githubのepgdumpはチャンネル情報自体をTSファイルから収集してるから ソースの修正なんか必要無いよ、って理解でオケ? んで、上手くやるとrecpt1やepgrecのチャンネル変更も(半)自動化できると。 すげー
400 :
login:Penguin :2012/09/04(火) 02:19:12.27 ID:rVgeFGvC
>>399 ソースを見るかぎりそのように理解できそうだね。
でもまだRECPT1で動かない… orz…
できれば、epgdump に機種依存オプション入れるのをやめて、
do-record.sh.pt1 で吸収して欲しいなぁ。
pt3とfsusb2nをとっかえひっかえで使えるようにしておきたいし
インタフェース界面は1箇所に寄せておきたい。
>>399 recpt1はBSをTP番号とスロットで指定できれば自動化できるんだけどな
402 :
login:Penguin :2012/09/04(火) 11:47:15.71 ID:ATBPDX0x
>>401 スロット番号ならpt1_dev.hのテーブルにトランスポンダとスロットの数だけ定義書いちゃえばいいんじゃないの?
{ 0, CHTYPE_SATELLITE, 0, "T00S0"},
{ 0, CHTYPE_SATELLITE, 1, "T00S1"},
{ 0, CHTYPE_SATELLITE, 2, "T00S2"},
{ 0, CHTYPE_SATELLITE, 3, "T00S3"},
{ 1, CHTYPE_SATELLITE, 0, "T01S0"},
{ 1, CHTYPE_SATELLITE, 1, "T01S1"},
{ 12, CHTYPE_SATELLITE, 0, "T12S0"},
404 :
login:Penguin :2012/09/04(火) 23:25:18.01 ID:rVgeFGvC
405 :
301 :2012/09/05(水) 00:21:53.80 ID:vUMLk3SR
>>404 そのソースはオリジナルから変更してないので、
元々のepgrecのバグかもしれません。
明日辺り、修正しておきます。
406 :
login:Penguin :2012/09/05(水) 08:06:42.34 ID:8FGgGC6U
>>404 ついでに、do-record.sh に引き渡される環境変数が、BSの場合は
CHANNEL : B14
SID : 241
に、CSの場合は、
CHANNEL : C8
SID : 362
になるけど、それぞれ recpt1 の場合は、
CHANNEL : 241
SID : HD
と、
CHANNEL : CS8/362
SID : HD
としなければいけないです。。。。
>>406 それどう見てもrecpt1側がおかしくね?。衛星ないから知らんかったw
混ぜるな危険w
409 :
301 :2012/09/06(木) 09:00:32.53 ID:MQ7rHT+v
>>406 当方のepgdumpをコンパイルする際、
Makefile内のRECPT1のコメントアウトを外しましたか?
その情報だと恐らく外してない気がします。
再度コンパイルしたら、epgrecのテーブルを初期化してからお使い下さい。
亜流バージョンはブログでやってくれないかな 初心者が混乱するんだわ
pt1.oyamaさんみたいに本家とは別物だとはっきりわかるようにするべきだな
412 :
301 :2012/09/06(木) 12:09:28.70 ID:MQ7rHT+v
>>411 READMEとかに亜流であることを明記しろという意味ですか?
それともURLが紛らわしいとかそういうことを言ってます?
>>412 それぞれのソフト名に何か追加で文字を追加すればいいかと
名前出すのなんだけどkatauna氏のepgrec UNA みたいに
414 :
301 :2012/09/06(木) 14:03:31.27 ID:MQ7rHT+v
>>413 あ〜、なるほど。
了解しました。
混乱させてしまい、申し訳ないです。
>>409 recpt1もforkして、録画コマンドの引数統一化したらいいような。
epgdumpも切り替えなくていいし。
>>415 そっちに振るよりも本家に対応してもらった方がいいよ
必要以上に分家を増やしても紛らわしいだけだよ
パッチも
>>403 にあがってんだし
>>416 誰もマージしようとしないのが謎過ぎなんですが…
素人の日曜プログラミングですからね。そんなの公表されたら 関係ない人間が大迷惑ですわ。
なんかバージョンがいろいろ有りすぎて、どれがどういう状況なのかサッパリ分からない… 誰か樹形図みたいのつくって… あるいは、みんなGitHubつかって、そこでオリジナルバージョンから forkして自分のリポジトリに引き継いでパッチつくればクリアなのに
420 :
301 :2012/09/07(金) 15:48:15.56 ID:hdpz7Lff
STZ版のrecfriio、epgdump、epgrecを
>>406 氏のパッチに合わせる形に変更致しました。
チャンネル指定方法がスッキリして、大変ありがたいです。
421 :
301 :2012/09/07(金) 15:52:25.17 ID:hdpz7Lff
おつおつ
423 :
login:Penguin :2012/09/08(土) 01:24:37.89 ID:0Nz0UDUs
どっちにも
亜流がありすぎて、まとめるだけでも大変だなこれは。 といっても、driver, recpt1, epgrec, epgdumpr の4つか。 お前らあとは任せた。 Linuxディストリの系譜みたいな壮大なやつを期待してるぞ!
429 :
login:Penguin :2012/09/09(日) 02:53:19.27 ID:AaY4FRkb
epgdumpはPiro77版がいいなあ、軽いから。
432 :
429 :2012/09/09(日) 03:14:57.47 ID:AaY4FRkb
>>429 私の理解だと本家はチャンネル情報をEPGから取らないので、
CSの頻繁なチャンネル番号の変更に追随できないんですよ…
STZ版はこれに対応してくれてるので助かっています。(
>>301 参照)
あと、recpt1 は
http://hg.honeyplanet.jp/pt1/ 版は
httpストリームに対応していないので、テレビ代わりに使う人には
やはりダメですね…
となると、やはり up0319.zip+up0307.zip+up0340.zipか。
最新版にhttpストリーム機能があればありがたいんだけど。。。
>>432 >私の理解だと本家はチャンネル情報をEPGから取らないので、
>CSの頻繁なチャンネル番号の変更に追随できないんですよ…
>STZ版はこれに対応してくれてるので助かっています。(
>>301 参照)
UNA版もずいぶん前から対応してるよ
STZ版は、チャンネルの並び替えが出来ないんだよね・・・
前スレでepgrecの中の人がepgdump Piro77版に対応させると言ってたから
UNA版を参考にしてCSの再編追従するようにしてくれるといいね
>>429 >* BSの場合
>CHANNEL="XXX", SID="hd"
BSも SID="YYY"だよ
434 :
sage :2012/09/09(日) 22:12:48.87 ID:UeknMjb5
>>433 茨の道をrecpt1 DLNA版で歩かない?
明日少し手を入れます。
テレ朝録画できないー。とか、地デジのNHKも出来ないのかよ。
とか言われると大変心苦しいのでありますが。
435 :
301 :2012/09/10(月) 11:04:25.08 ID:YBBJaJtQ
>>429 403氏のrecpt1へのパッチは
* BSの場合
CHANNEL="BSXX_X", SID="YYY"
* CSの場合
CHANNEL="CSXX", SID="YYY"
で録画できるようにするためのパッチなので、
STZ版のepgdump、epgrecは現状のままで良いのです。
一応、up0319.zip+up0307.zip+up0340.zip+
>>403 を
適用したリポジトリも作成しましたので参考までに。
https://github.com/stz2012/recpt1/ ※実機がないので動作は確認できてません。
>>403 パッチありがとうございます。取り込んで試験してみました。
BS17 の指定をすると、BS19 にtuneされてしまう模様。
29x あたりを指定した場合もそうなるので、ドライバ側?(PT2)のバグかも。
PT3では試験できていないのでどう動くか不明です。
・recpt1 で BS1_1 形式を受け付けるようにした ・epgdump (Piro77版を使う前提)でトランスポンダとスロットはTSからリアルタイムに取れる ということで、チャンネルスキャンスクリプトの出力する形式も 101,BS15_0,NHKBS1 102,BS15_0,NHKBS1 103,BS15_1,NHKBSプレミアム 104,BS15_1,NHKBSプレミアム こんな感じにしてみました。
それなんか良さそうですね
442 :
login:Penguin :2012/09/11(火) 11:13:01.03 ID:RHka5goP
>>435 うーん、このパッチをあてたrecpt1だと、httpストリームが
従来のURL指定だと BS, CSともにストリームが流れてこなくなる?
CSの場合は、ショップチャンネルとか一部のは従来どおりのURLで
大丈夫なんだけど、多数のCSチャンネルが動かなくなった。BSは全滅。
これってうちだけのローカル事情なのか分からない。
URLの書式を変えれば大丈夫なのかはまだ未チェック。
スレの流れとは全然違うんだけど、epgrecの録画プロセス(recorder.php)との通信って > $ipc_key = ftok( RECORDER_CMD, "R" ); > $ipc_key = ftok( RECORDER_CMD, "W" ); とか複数同時録画を気にしてないような気がするんだが… キャンセルするとどの録画プロセスがキャンセルされるんだろう… $ipc_keyは$reserve_idとかから生成しないとダメじゃなイカ?
>>443 msg_send( $msgh_r, (int)$rec->id, "terminate" );
これで特定の録画IDのみ消される仕組みです。
# 最近、録画機不調でこのスレの最新の流れについていけてなくて申し訳ない
# いつの間にかfriioスレが落ちたようだけど、このスレと統合でいいのかしらん?
>> 444 おっと、これははやとちりでした すいません
446 :
403 :2012/09/11(火) 22:33:18.62 ID:7BnypILu
>>432 http://hg.honeyplanet.jp/pt1/の最新版 (pt1-b14397800eae)にhttpサーバ機能を
追加するパッチです。
いま私が使用しているrecpt1から差分を取ったのでkatauna氏が公開されたパッチも
内包しております。
パッチ内容
・BSチャンネル指定追加
・httpサーバ機能追加(httpサーバ版RC4を元に再構成)
・EPG用TS出力モード追加
・recpt1ctlとのインターフェイスの修正・拡張(英字を含むチャンネルの対応・サービスID対応)
mq_recv()内の受信変更処理については、未着手(使わないのでさじを投げました。誰かやってください)
・recpt1ctlの"--extend"にて負数を指定できるように修正
447 :
403 :2012/09/11(火) 22:34:30.42 ID:7BnypILu
449 :
login:Penguin :2012/09/12(水) 08:51:35.36 ID:l6Bji6Wp
>>447 サンクス!!!!出勤直前にコンパイルだけしてみたけど
decoder.h:26:5: error: unknown type name ‘uint8_t’
というエラーがでる?
>>449 unsigned charに置換して対応したけど、これでいいのかね..
stdint.h typedef u_int8_t uint8_t; /* u_int8_t is defined in <machine/types.h> */ typedef u_int16_t uint16_t; /* u_int16_t is defined in <machine/types.h> */ typedef u_int32_t uint32_t; /* u_int32_t is defined in <machine/types.h> */ typedef u_int64_t uint64_t; /* u_int64_t is defined in <machine/types.h> */
ホーム直下にいくつもファイルはつくるな ディレクトリ一個掘ってその中でやれ
ひとに作ってもらったものに改善をお願いする態度じゃないな、クズが
今更ながらPT3買ってきたので
>>429 や
>>446 あたりを参考にさせてもらって無事録画できたんだが、
/dev/pt3video?ってpt1video?と違って0,1が衛星2,3が地上という割り振りなんだな。
そのせいか知らんが、PT2の時はrecpt1でdeviceオプション指定せずに録画できてたのができなくなったけど、
そういうもん?
457 :
login:Penguin :2012/09/13(木) 14:16:27.26 ID:YR/S9k9g
>>456 recpt1のpt1_dev.hのbsdevとisdb_t_devへの追加してる?
#pt1videoでも0,1衛星で2,3地上だと思うけど
>>457 ありがとう上手くいった。というかpt1_dev.hでスレ検索したら頻出だったようで…すまんかった。
pt1videoもそうだったっけ?でも確かにpt1_dev.hを見る限りそのようだし、勘違いしてんだろうか
sage
461 :
login:Penguin :2012/09/14(金) 23:54:47.67 ID:buQ4/zE5
>>435 このrecpt1だとBS番組取得はうまくいったけどhttpストリームがなぜか動かな
い番組がほとんど。原因は不明。
>>446 この新しいrecpt1だと、httpストリームはうまくいくし、BSの番組取得もうま
くいったが、以下のような録画の場合、TMPGEnc も、ffmpeg も、保存したファ
イルからmpeg2ストリームを検出できない、というエラーが出る。
recpt1 --device /dev/pt3video1 --b25 --strip --sid 362 CS24 1795 > output.ts
ひょっとしたらARIB B25 デコード失敗しているのかもしれんが、うまくいく
保存ファイルもあるし、詳細は今のところ謎。
ところで、映画を保存するとき、2chから5.1chに切り替わるときにVLCViewerが
止まる現象、どうにかならないかなぁ…
PCを完全にLinuxに移行したんだが 今までWindowsでPlexチューナ+spinel+tvtestで見てた Plexチューナ+spinelの環境は残ってるからtvtestのLinux版とBondriverSpinel のLinux版があれば見れそうだけど Linuxでの地デジ視聴の環境の普通ってどういう環境なの? tvtestのLinux版とSpinelのLinux版ってあるの?
ない。知らんけどVLCくらいじゃね。 Linuxは録画専用にしか使ってない人おおそうだが
http版拾ってきて適当にすれば良いんじゃないの。
PXシリーズのドライバが無いんじゃないかな
tvtestのLinux版は無いのか。。 spinelに生ts出させてvlcで見るのが良さそうだな 常用PCをLinuxに転向したのが失敗かw だが貫き通してみる ありがと
早速調べてたらspinelって待ち受けポートにtcpするとWindowsのRPC吐くのか こらめんどくせえな。
>>468 いやPlex+spinel+B25decodeのwindowsサーバはあるんだ
spinelから吐かれたスクランブル解除済みtsストリームをLinuxで再生できれば良いのよ
だがspinelはWindowsのRPCかなんか良く分からんプロトコルで通信してるみたい
誰か良い方法知らない?
wine のビデオ系の実装はかなりダメげだよ 試すことを否定はしないけど あれはゲームを動かすためのAPIのセット
LinuxでのTS再生だとVLCぐらいだと思うが、TVTest並みの機能/性能には遠く及ばない spinelは.確かNETのWCF使ってたと思ったたが、 例え、苦労してプロトコルを合わせたとしても 所詮再生の方が今一だからな。 再生だけは素直にWindowsにした方が良いと思うよ。
DVBアプリ集のパッチの当たったmplayerで特には困ってない
spinelのプロトコル実装しても需要すくなそうだしなー
Linuxは録画に専念させて放送中の再生はWindowsがいいよ つまり録画用に2枚、再生用に1枚必要と Linuxの録画鯖は1回つくったらあとはラックにぶちこんでおけばOK
メインで使ってるマシンも録画鯖もLinuxだけど、動画再生/エンコとかのマルチメディア系と ゲームだけは別にWindowsのマシン用意してやってるわ。アニメとかよく見るんだけど VLCやmplayerじゃ逆テレシネすらどうすりゃいいのかよく分からなかったし… spinelやらplexやらの事はよく分からないんだが、 1.spinelはRPCで通信するからVLCが使えない 2.plexのLinuxドライバがないからLinuxに挿しては使えない ということかね?こりゃどうしたものか…
VLCやmplayerは色空間もBT.601だし、再生環境としては最低限かな エンコはとりあえず ffmpegでデコード、30pでCMカット、yadifとhqdn3dを通してx264でエンコードといった手順 手動逆テレシネなんてやってられんので妥協してる 60iでカットしたいがこれもまた妥協してる まだUIを作ってないけど、ブラウザでCMカット出来れば楽になると信じてWindowsのエンコ環境は捨てた 録画鯖でCMカットしてる人いないかな?
エンコはスレ違い TS用のスレ立てるかって話もあったようだけど
>>476 その方法良いね。チャンネル変更はVNCでWindowsマシンのRecTaskを操作するかw
だがtvtestも含めあらゆるDTV関係のファイルがもう手に入らんのね。。。
なんだこの惨状ww
RecTaskうpしてくれよ
>>482 あれ昨夜は両方ともダメだったのになぁ。。
安定してないだけかな
ありがとう!
>>473 「GNOME DVB Daemon」のこと?
プラグインチェック入れてアドレスを入れたらストリーミング再生できました。
長年方法はないか探していました。ありがとう。
バッファ10秒位指定できると最高なのですが。
↑なんか、デジタル放送チューナ用のコントローラのようですね。録画予約までできるようですた。
plex+spinel+rectaskのwindowsマシンから linux機のvlcでudp再生できた。 ありがとう チャンネル変更がVNCでRecTestを操作するっていう部分が面倒くさいが とりあえず見れる状態にはなった。
487 :
login:Penguin :2012/09/17(月) 01:40:59.43 ID:+LBmmee1
通報されたら確実にパクられるなw
Fedora17上のepgrecでの話なんだが、 たまにrecorder.phpのmsg_get_queueがエラーを吐くことがある。 > PHP Warning: msg_get_queue(): failed for key 0x570020e7: File exists in /var/www/html/epgrec/recorder.php on line 154 みたいな。良く調べたらまったく同じ時間から複数番組の録画が開始される時っぽい。 同時に同じキーでメッセージキューを作ろうとして失敗した? 単にリトライ処理を入れれば良い気がするんだが…ということで、現在修正して&様子見中。
良いようなのでパッチ投下 diff --git recorder.php recorder.php index e00c048..bf33496 100755 --- recorder.php +++ recorder.php @@ -148,10 +148,14 @@ function epgrec_termproc( $p ) // メッセージハンドラを得る $ipc_key = ftok( RECORDER_CMD, "R" ); -$msgh_r = msg_get_queue( $ipc_key ); +do { + $msgh_r = msg_get_queue( $ipc_key ); +} while ( ! is_resource( $msgh_r ) ); $ipc_key = ftok( RECORDER_CMD, "W" ); -$msgh_w = msg_get_queue( $ipc_key ); +do { + $msgh_w = msg_get_queue( $ipc_key ); +} while ( ! is_resource( $msgh_w ) ); try{ $rrec = new DBRecord( RESERVE_TBL, "id" , $reserve_id );
491 :
301 :2012/09/19(水) 18:49:42.78 ID:qwINP6ad
mplayer の一連のパッチをリリース版 mplayer ver 1.1 に当てられるようにしてみた。
http://www1.axfc.net/uploader/Sc/so/379555 一連のパッチを作成した当人ではないので、内容は無保証。
ベースの変更が大きく、そのままでは当てられないために外したパッチも多し。
r34010 ベースのままでいいという人は敢えて乗り換える必要は無し。
mplayer は mplayer2 やら vaapi 版やら fork してしまっていているが、
できればオリジナルのパッチを作成してくれた方がリリース版 v1.1 に
rebase してパッチを見直してくれるとありがたいなぁ…
Freenetにあるやつはr35113 でv1.1より新しいよ
Virtualboxでrecfsusb2n使って録画鯖立てたいんだが、ホストだと正常に録画できるのにゲストだとb25での復号に失敗する。 お助け...
Freenetは起動している人が他にいないと流れてこないからなぁ…
496 :
sage :2012/09/20(木) 23:29:19.70 ID:hT2z4Akg
>>492 これまで何度かvaapiのpatchは投げられてるんだけど、
いまだにcommitされてないのよねぇ
Intelさんも一時期書くぜ。って言ったっきりどっか行っちゃったし。
MPlayer2はあんまり活発じゃなくてメリット無い感じかな
Patchは本家にマージの方向で誰か動く?
Autherとかどうするのよ?とか色々めんどくさそうだけれど。
パッチ集にして別個に当てるよりいいかなーと思いますが。
>>494 ホストとゲストの環境の違いにヒントがあると思う
>>497 ホストはubuntu12.04desktopでゲストはubuntu server12.04だから、サーバー用のパッケージインスコしまくった以外は変わらないと思うんだけどなぁ・・・
あ、でもそういやGuest Additions入れるためにカーネル入れ替えたな
カーネル変えずにやってみるか・・・
サーバもホストもLinuxじゃん なんでそんな無意味なことを
500 :
301 :2012/09/21(金) 16:32:32.12 ID:IaVOapOM
>>499 外部公開とローカルで分けたかったんだよ
公開する方は割と多人数に権限与えて運用したいから分けた方がいいかと思って・・・
あとけっこう環境変わるからスナップショットとかコピペできるのは割と便利だしな
>>498 ホストとゲストで入れるバージョンが逆だろw
カードリーダが認識されてねーんじゃねーの? USB機器はホストとゲストどっちかでしか占有できなかったりするし。 pcsc_scanとかで見つかるかどうか確認しないと。 (けいあんリーダはb25では使えなかったと思うから) 外部リーダー不要環境にしてるなら全然関係ないけどね。
やっぱだめだったorzクリーンインストールしてコンパイルしてもb25->put failed. code=-3エラー吐いて0バイトのts作る・・・
>>503 そうかも。Generic USB2.0-CRWっていうのをゲストに渡してるんだけどpcsc_scanしてもWaiting for the first reader...という表示で止まる
あとUSB渡すとAsking cache data failed
Assumig drive cache: write throughエラーを定期的に吐いてるんだけど関係あるかな
>>502 そうなのか、常識無くてスマソ
今も知識不足で割と詰んでるしな。。。
やっぱ知識無い奴は無理しない方がいいかなぁ
>>496 パッチの大半は AAC 周り,つまり ffmpeg なので mplayer に送るのは筋違い.
ARIB B25 descramble みたいなのはマージされることはないでしょう.
mplayer 本家に送って価値があるのは DVB S2API 位?
ところで,なんでまた r35113 という半端なリリースをベースにしたのかな….
SVN だと ffmpeg とのバージョン同期できてないと思うし,tarball のある v1.1 を
ベースにすればやりやすかったと思うのですが….
…とは言っても,未だ Freenet の方は全くデータが落ちてこないので真偽確認できず.
>>505 ffmpegの方ならパッチ投げてみる価値あるんでないの?
Electronic Arts Multimedia Formatなんてサポートしてるくらいだし。
ある程度コード固まっちゃったら仕様が変更になる見込みも殆ど無いし、将来的にメンテナンスし続けることにもならんと思うぞ。
>>505 違うよ
以前ffmpeg関係でパッチ当たってた部分は本家で対応済みになってたりして
現在 ffmpegへのパッチはdualmono関連の1つのみ (& これも既に本家gitレポにマージ済み)
DVB関係は可能性は0ではないかもしれないけど、
カードの番号付けを0スタートにしてDVBデバイスの番号と合わせるとかは「何で?」って言われかねない
S2APIは 独自channel.confフォーマットの使用が受け入れられるか...
プログラム選択やPES選択の改良部分は
BCAS復号とかと共通のコード部分がある + ISDB独自のPSI情報を使うし....
あとv1.1にもパッチは当たるんじゃないかな
そんなにリビジョン離れてないと思う
>>504 暗号化されたtsは取れてるのか?
例えば暗号化されてないepgとか1segはちゃんと見られるか。
ffmpeg関連はそこまで進んでたのかー 関係者乙と言わざるをえない ありがたやー
>>508 ffmpeg を除けばパッチは当たると思う.
…が,ffmpeg は対応前なんじゃないかな?
>>509 -bvオプション無しでやるとusb ctrl failed: 110ってエラー出しながらもまともなサイズのtsができる。
mplayerで見てみると見れたもんではないがグレー背景に輪郭っぽい映像が再生されるんだけど・・・
ホストだと普通にワンセグが再生できるな・・・ってことはカードのせいじゃないのか
VirtualboxがUSB渡すの失敗してるってことだろうか
513 :
login:Penguin :2012/09/22(土) 10:45:23.44 ID:mKwj512N
>>511 rm -r ffmpeg して git clone --depth 1 git://git.videolan.org/ffmpeg.git でいいんじゃないのかな
>>512 以前、ホストMac、ゲストLinux(Ubuntu)でrecfsusb2nを使って
ゲスト側のLinuxでTS保存をやってみたことあるけどエラーでて
まともなTSは保存できなかった。もうエラー内容は忘れたし、
原因を追究する気もないけど、VirtualboxのUSB対応が完全で
ないのじゃないの?
WindowsならMulti2DecあたりでTSファイルのエラーをチェック
してみればまともなファイルが保存されているかぐらいはわかると
思うけどLinuxだとどうするもの?
それより、外部公開するマシンにTS抜きできるチューナーをつける
予定なんだ、すごいな…。
もう栗の出荷か 栗ってモンブラン食べる時ぐらいしか、口に入れる機会ないな しかしこの時期になると、モンブラン食べたくなるわ 昔の黄色のスパゲッティぐるぐる巻のって見なくなったな
あ・・・あぁぁ〜 とんでもないところに誤爆してしまっただ ごめんやで
びっ栗したぜ
【審議中】 _,,..,,,,_ _,,..,,,,_ _,,..,,,_/ ・ω・ヽ/・ω・ ヽ,..,,,,_ ./ ・ω_,,..,,,,_ l _,,..,,,,_/ω・ ヽ | / ・ヽ /・ ヽ l `'ー--l ll l---‐´ `'ー---‐´`'ー---‐´
>>515 そうか・・・わかった。とりあえずあきらめるよ
みんなアドバイスありがとう。
いやむしろ今まで公開してる鯖にチューナー付いてたことが問題だったw
(ローカルの方と合同にしてたから)
外部公開の方を仮想化してUSB渡さなきゃいいんだよな
>>513 STZ版ってそれで関連コマンド入れたら
epgrecの方はなにも変えないでいけるの?
522 :
301 :2012/09/23(日) 02:35:50.34 ID:ZsHWpKbG
>>513 本家の最新のものからのrecpt1では残念ながらございません。
up0319.zip+up0307.zip+up0340.zipがベースですね。
今週の金曜日に、pt1_dev.hへPT3エントリーは組み込んだのだけど
間違っていたら教えて下さい。
>>521 地上波のチャンネル設定(gr_channel.php等)は必要ですが、
BS/CSの設定は全て不要です。
pt2にpt3追加してm-tsudo-pt3-5d78838のドライバとpt1-b14397800eaeのpt1_dev.hとrecpt1.hを書き換えて使用、 checksignalは8つ起動できるけどrecpt1はT、Sとも4つ目でCannot tune to the specified channelとなってしまう。 よく判らない現象が発生しちゃったので環境依存のチラウラかも知れないけど報告 MCJ G31T-M、Memory 4G、Linux version 2.6.32-5-686-bigmem (Debian 2.6.32-45) #1 SMP
>>523 pt1_dev.hにキャラクタデバイス追加するときカンマ忘れるとそうなるかも
syslog側のエラーメッセージはどんなかんじ?
>>524 まさにご指摘の通りで、解決しました。ありがとうございます
糞環境なのは俺でした
syslogのメッセージには何も表示が増えている様子は無かったです
そういやみんなはepgrecの「録画開始の余裕時間」と「録画コマンドの切り替え時間」どのくらいにしてる? 連続予約をONにしてる設定で前者を5秒、後者を3秒に設定してるんだけど、実際どのくらいかかるもんなのかわかんなくて困る。 これって電波状況に左右されるもんなのか、それともチューナー性能によるものなのかすらわかんないわ。
どっちかっていうとPC上の時刻誤差の対策の意味が大きいような。
それで問題になるのってCMの無いNHKとEテレくらいだけどね
やはり予定もないのに対応予定とか宣伝してたのかw
要は、機器に対応する予定ではなく、出たドライバに対応する予定だったと。 まあ完全に他者依存なんだから、「予定」じゃなくて「見込み」だよね。 Linuxドライバが開発されるであろうと見込んで、そのドライバに対応する予定なんだから。
発売予定をPT3と被せた事に対しての謝罪が必要だよね 普通ならw それともなにかな foltiaALの発売が遅れたのはPT3ドライバの中の人の責任とな?
ライセンスがどうたら言ってたのが犯人だな
v3にするのにえらく文句言ってる奴いたな。
USBメモリにLinux突っ込んだだけの1万円強する録画ソフトもあるらしいなw 開発してくれた本人がフリーライドでも構わないならいいけど、AGPLにするって手もある
そもそもこの商品は10月以降でも法的に問題ないのか
pt1とpt1.oyamaってどう違うんだ ググってみたがさっぱりでございました
遊園地〜
ffmpeg 1.0がリリースされたみたいだけど,これには全部のパッチ相当が反映済み?
他力本願な人には使いこなせないんじゃない
>>537 DLNAでチャンネル変更が出来たり、録画ファイル名の接尾語が設定できたり
>>539 1.0のソース確認したけど もう入ってるね
全部っていったって1つ(デュアルモノ関係)だけだけど
あとは本家のほうで以前から対応済み
>>500 乙。
ところで、libalib25は、x86_64環境だとgccのオプションに-fPICつけてやらんとビルド通らんと思う(ubuntu 12.04にて確認):
- $(CC) -MM $(OBJS:.o=.c) td.c > $@
+ $(CC) -fPIC -MM $(OBJS:.o=.c) td.c > $@
>>542 素晴らしい
これで今後は各ディストリビューションも取り込んでいくだろうから、
TS再生のトラブルは無くなっていくかな…
>>544 コーデック(ffmpeg)だけでの対応には限界があるから
再生アプリ側で対応が必要なケース(映像サイズの変化とか)も多いよ
>>493 結局 mplayer-patches-1.00 は Freenet に流れていたんだろうか?
ここ数週間何度か終夜で Freenet / frost 起動していたけど、何も流れて来ないまま
9/29 に mplayer-patches-1.01 の情報だけが引っかかった。
元々過疎っていたから、当人がアップしたつもりでも拡散前に消え去ってしまったような…
ドライバが入ってないなんてことはないよな、普通。 なんだろ。
>>548 github.com/m-tsudo/pt3.git はビルドできた
>>549 lspciでも出てこないです
>>550 1)このマザーに他のボード挿したら認識する?
2)他のマザーにpt3挿したら認識する?
そういう階層の問題な予感
>>551 1)
他にボード持ってないので分からないです
ここは怪しい
2)
他人のPC(windows7)借りてやってみたら認識された
>>550 FPGAのアップデートしないとだめなのかも?
555 :
login:Penguin :2012/10/02(火) 11:37:59.00 ID:q0o8O5M/
>>546 > 元々過疎っていたから、当人がアップしたつもりでも拡散前に消え去ってしまったような…
たぶんそうだね
1.01って 1.00から+1パッチ (バグfix)して -1パッチ(...)されてるだけだよ
1.01は ワンセグを見る人のための清く正しいmplayerパッチです
>>553 他人のPCにつないだときに回路の更新も確認した
>>554 $ lspci
00:00.0 Host bridge: Intel Corporation N10 Family DMI Bridge (rev 02)
00:1b.0 Audio device: Intel Corporation N10/ICH 7 Family High Definition Audio Controller (rev 02)
00:1c.0 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 1 (rev 02)
00:1c.1 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 2 (rev 02)
00:1c.2 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 3 (rev 02)
00:1c.3 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 4 (rev 02)
(途中略)
04:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 03)
05:00.0 PCI bridge: PLX Technology, Inc. PEX 8608 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ba)
06:01.0 PCI bridge: PLX Technology, Inc. PEX 8608 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ba)
06:04.0 PCI bridge: PLX Technology, Inc. PEX 8608 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ba)
06:05.0 PCI bridge: PLX Technology, Inc. PEX 8608 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ba)
06:06.0 PCI bridge: PLX Technology, Inc. PEX 8608 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ba)
06:07.0 PCI bridge: PLX Technology, Inc. PEX 8608 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ba)
06:08.0 PCI bridge: PLX Technology, Inc. PEX 8608 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ba)
06:09.0 PCI bridge: PLX Technology, Inc. PEX 8608 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ba)
$ lspci -xvvv
長いので
http://ix.io/356 に
557 :
login:Penguin :2012/10/02(火) 15:50:22.09 ID:70gK6lyi
>>556 BIOS最新にしてみるとか?
#MBの型番でググルとRAIDカードだけど相性問題で認識しないって情報がでてくるね。
>>557 BIOSも
AT5IONT-I 0502 BIOS
Improve eSATA compatibility
っていうのにアップデートしてる
PT3でrecpt1動かしてるとたまに受信失敗らしい映像の乱れと途切れがあるんだけど、これはLNBで解決できる問題? ドライバは2012-08-31 rev.81でLNBはデフォの値(0:OFF)。 あとPT3一切関係ない件だけど、もうひとつ質問したい。 録画用のHDDって回しっぱなしがいいのかそれともhdparmで止めておいたほうがいいんだろうか? 一回も録画しない日にずっと回してると故障確率上がりそうで嫌だけど、 HDDにはスピンアップが一番悪いとも聞くんで何回も録画するような日はなんか嫌な感じがする。 気にし過ぎなんだろうし、バックアップしろって言われりゃそのとおりなんだけど、詳しい人いたらおねがいします。
10月になってもPT3は普通に売ってんだな。。。
>>559 何本もPT3の同じドライバで録画してるが、そういう現象は一回も見てないな。
純粋に電波が弱いんちゃうん?
使わない時にHDD止めとくことに情熱を燃やしてる人間も多いらしいが、
実際の今までのHDDの故障の傾向からいってまったく関係ないと思える。
同じモデルのHDD使ってるのに24時間稼働のサーバより1日に何時間も
使わないセカンドマシンの方が先に壊れたりすることも珍しくない。
(使ってるHDDの台数は24時間稼働サーバの方が圧倒的に多いんだが…)
ついでに、HDDの温度も関係ないなぁ。
真夏に何度も温度上がりすぎて強制電源オフされるようなマシンのHDDが
もう6年以上も元気に動いてるしな。この辺はGoogleが何か論文出してたな。
lspci貼れって言われてどういう判断で中略したん?
レスは最後まで読みなさいよ
リンク先見ればいいじゃん。
>>560 LNBは関係無いですか。
アンテナはアパートの共用アンテナだから改善するとしたら自力での設置か・・・
HDDの温度に関するGoogleの論文っていう話は聞いたことあるし、
実際真夏にファンつけてないHDDを全力で読み書きさせても問題なさ気なのは一応認識してる。
HDDはやっぱり運なんだろうか?
システムでバリバリ使ってるHDDよりも外付けのほうが先に死ぬっていうのもあったりするし、
なんかあまり気を使っても意味無いような気がしてきた。
途中切ったのは字数制限って言われたのでようわからんから適当に略してしまった なんか無理っぽいなあ
>>558 ていうか lspciに該当しそうなデバイス見当たらないけど?
ちゃんと挿さってるのかな
HDDの温度は極端に低い場合と50℃超えると故障率が跳ね上がって危ないという話だね 普段はケースファンで冷やしていて間隔なくHDDを設置しなければ大丈夫 真冬に暖房なしで使うならケースファンを止めた方が良い場合もある WDが出しているEFRXシリーズは少し高いけれど比較的高温でも大丈夫だとメーカーは言っているね
新しいMB買うのが一番早い気がするが、それじゃつまらんな
しかしハード側の問題だとすれば手の出しようが
BIOSの更新待つとか
まず、そのマザーに
>>113 でも入れてみて、ちゃんと認識できるか確認してみたら?
もしWindowsでも認識できないなら、ハード的な問題だと確定できるし。
>>572 挿すスロットを変えてみたらどうでしょ?
別のカードを挿しても認識しなかった……
いや このM/Bだと駄目なんだと思うよ PCIeボード認識しないってレポートが山程あがってて しかもDVBのボードが大半 フォーラムでもボードの設計がおかしいんじゃないかって言われてるし... PLXのPCIブリッジをわざわざコスト掛けて入れてるのが仇になってんじゃないの
>>576 うぐぐ……
このマザボは諦めて別ので試すことにします
皆さんどうもありがとうございました
ASUSに文句つけて 別のマザボに変えさせるとかできるといいのにね PCIeスロットほとんどすべてのボードで使えないなんてひどすぎるよ
ボードが認識されないM/Bとかあんのか BOXDN2800MT ぽちったけど大丈夫かな
さすがにリコール対象だろ
安物買いの銭失い、っていう
リコールというが件のママンはそこまで最近のじゃないし、ここまで何もないならもう無理なんじゃないか?
>>581 ION載ってるしCPUもAtomには変わりないが廉価モデルではないし、でかいヒートシンクや
MiniITXとしては十分なI/Oを見る限りあたりマザー自体もたぶん廉価モデルじゃないんだろう。
一昔前ピゴキュウでやらかしてはいるが一応は信用されてるASUSだし、当時買ってたものなら
安物買いってほどではないと思うが…。(値段重視ならそれこそF○×c○nnとかのが大抵安いし)
もし最近入手したものだというならPCIeの情報をつかめなかった下調べ不足が悪いということなんだろうな。
いい加減スレ違いだし
PT3 ubuntu epgrec環境で、地上波のW録設定のとき Tuner GR0だけ失敗して録画できないという状況なんですが、 他に同じ症状の方いらっしゃいませんか? どうしたらいいかわからず困っています。
>>585 ジョブが走ってるのか確認
pt3のドライバをdebug=1でロードしてログ確認
あたりから始めたらどうかな
epgrecで、録画ディレクトリーのtsをエンコードしたあと 不要になったtsを削除するように運用しているんですが… 自動か半自動でepgrecのデータベースから 本体が無くなっている録画エントリーを削除する方法ってありますか? 現状、サムネイルを削除した上で サムネイルが再作成されないところは 手動で一覧から削除という手を使っていますが… ほっといたら、膨大な録画エントリーになって 重いし、たまにウェブインターフェイスがクラッシュします orz
逆に消さずに録画の履歴として残しといて 別口で現在あるファイルの一覧からリストのページでも作ったら
590 :
login:Penguin :2012/10/07(日) 01:09:14.80 ID:0iyyoD3a
>>588 スクリプトの中で
export reserve_id=録画ID
export delete_file=1
cancelReservation.php
みたいな事をすれば良いんじゃない
recordedTable.phpで予約情報を取っているところでファイルの有無を確認して配列にpushしないようにする。 このとき同時にレコードを削除しない場合レスポンスが返るまで時間がかかるかもしれない。
50件ぐらいづつ出るように改造汁。
>>588 > 自動か半自動でepgrecのデータベースから
> 本体が無くなっている録画エントリーを削除する方法ってありますか?
まだ途中なのですが、一応この部分はできているので書いておきます。
録画済一覧で複数選択を可能にし、
「動画の無い録画番組」で番組を選択できるようにしています
半自動になりますが、これで情報だけ残ってしまっている番組を削除できるようになります。
…まだgitに上げられるような状態にもなっていないので時間はかかると思います。
今しばらくお待ちください。
あっ、ブラウザがクラッシュするほどの量だと、上記のはJavascriptで選択なのできついかも。
「録画された動画が無い番組情報は表示しない」というオプションも検討してみます。
とりあえず、一番簡単そうな対応という事で、 (実機がないところで書いているので未検証です) recordedTable.phpの67行目の array_push($records, $arr); を以下のように変更します if (file_exists(INSTALL_PATH.$settings->spool."/".$r->path)){ array_push($records, $arr); } これで録画された動画が無い場合は一覧に表示されなくなります…きっと:)
epgrep と空目。 pgrep -E のことかー!!
grep派生のegrepがあるんだし、pgrepからepgrepができてもおかしくないと思う。 いやまあスレチなんだけどさ。
597 :
588 :2012/10/08(月) 04:22:32.26 ID:Uhk8x9sT
>>593 おぉ、ありがとうございます。
自分では作れないので、手動整理しつつ
お待ちしておきます。
KTV-FSUSB2/V3でUbuntuのvlcで視聴してます。 [0xb4d04770] ts demux error: MPEG-4 descriptor not found とかエラーが出て音声が出ないのですが 対処方法はないのでしょうか? ググりながらコーデックを入れまくっても音声が出ない番組があります。(NHK総合で確認) MPEG AAC Audio(mp4a) の音声が出ないようです。
>>599 Ubuntu-12.10 Beta 入れて、
MPlayer の最新のSVNで再現するか試験
>>600 HDDの空きがないからすぐには実行不能です。すみません。
tsファイルは保存したので今からwindowsで試してみます。
tsファイルをWMPで再生しても音は出なかった・・・ なぜだ
PC上でのts再生環境として、日本の放送波に最もうまく対応しているのは 間違いなくWindows上のTVTestだよ。 WMPなんかだと不具合がポロポロ出てくる。 TVTest+TvtPlayあたりを用意して確認してみるのが確実じゃないかな。 0.8.0だと、スクランブル解除周りがちょっと面倒くさいけど 解除済みTSの再生には影響ないはず。 ちょっと前にこのスレでも5chのダウンミックスがうまくいってないとかあったね。 F1の放送でCMとの切り替えでへろへろみたいな。
>>602 もしかして、windows 7 SP1のWMPじゃない?
それなら「win 7 SP1 WMP ts」でググればいいよ。
>>604 ビンゴでした。ありがとうございました。
でもLinuxで視聴できる方法は無いものか・・・
とりあえず12.10で確認するしかないのか
>>603 TVTest+wineでなんとかならんか過去レス読みつつ色々やってみようと思う
CRT・win32api・GDIは大丈夫だろうけどCOMいくつか呼んでるのがどうなるか…
DShowは×だろうからとりあえずBonTsEngineまででストリーム殺して録画専用か。
>>599 たぶん、このエラーは通常放送から2か国語放送(NHKのニュースなど)に
切り替わるときに起きるんじゃないかな?
確か昔2senのDTV板に、MPlayer向けパッチがあったはず。
今は2senが無いので、代わりの別サイトにバックアップが上がってるかも。
608 :
599 :2012/10/09(火) 09:35:08.71 ID:C2vOv7oh
>>608 VLC1.1.8用のパッチでup0617.zipってのを持ってるけど、
どこから持ってきたものかよくわからない……。
faad.c, mpeg4audio.c, decoder.cに対する差分で、
音声チャンネル構成切り替え対応だそうで。
一応、2.0.3にも当てられた。
612 :
599 :2012/10/09(火) 16:05:30.13 ID:C2vOv7oh
>>611 ありがとうございます。
ソースからパッチ当てた状態でビルドできました。(2.0.3)
昨日保存したtsファイルを見てみたのですが
やっぱり音が出ませんでした。
NHKを9時前後に見つづけて確認してみます。
recfsusb2n --b25 27 - - | vlc -
というコマンドで地デジ視聴しているのですが
recfsusb2n側の不具合かも、という気もしてきました。
もうちょっと調べてみます。
>>612 デコーダーがfaadじゃなくてffmpegになってね?
614 :
599 :2012/10/09(火) 18:12:25.55 ID:C2vOv7oh
>>613 ありがとうございます。
libfaad-devとlibfaadをインストールして
vlcを
./configure --enable-faad
でコンパイルし直したのですが、やはり音は出ませんでした。
どこか設定しなければならないのでしょうか?
615 :
599 :2012/10/09(火) 18:58:55.22 ID:C2vOv7oh
何度もすみません。 vlcの代わりにmplayerでtsファイルを再生したところ、 左スピーカから日本語、右スピーカから英語が流れてきました。 vlcでは完全に無音だったので進歩ではありますが これから対処方法を調べてみます。
だから パッチ済mplayerならデフォで主音声だけ再生するのに...
617 :
599 :2012/10/09(火) 22:43:56.04 ID:C2vOv7oh
Freenetというツールをインストールして N_158337を探せばいいんですよね? ツールの使い方が分からなくて試行錯誤しています
Linux初心者かと思ったんだがインターネット初心者の方でしたか 逐一書き込んでないで一通りぐぐってみればいいんじゃないでしょうか
>>615 どこから拾ってきたMPlayerどのリビジョン使ってるんだ?
>>508 でffmpegはdual mono対応済(本家gitに入ってる)って書いてあるから、
SVN最新版のMPlayerをダウンロードしてコンパイルしてインストールして、
mplayer -afm ffmpeg TSFILE.ts
とかつけて再生させればうまく行くんでないの?
残念ながら mplayer本体にパッチ当てないと駄目 ffmpegのパッチは dual monoの時にどっちを選んで出力するかのオプション(AV_PKT_SIDEDATA)を ユーザが*指定*できるようになるだけで、自動的にどっちかを選んで出力するのではない (というかデュアルモノって日本独自のものだから ffmpegのコーデックが指示なく勝手にどっちか一方しか出力しないようにはできないので)
stz版checksignalでBSを調べたいんですが checksignal BS01_0 とやってもinvalidと怒られるのですが チャンネルの指定をどうやればいいかわかるかたいます?
624 :
301 :2012/10/10(水) 11:42:53.07 ID:43/wQnFi
>>623 修正して、githubに上げましたので、試してみてください。
>>624 checksignal できました。ありがとうございます。
文字化けも直ってました。
epgdumpでBSの番組表を取り出すには
何分くらいのtsが必要です?
一分のtsでは二三日分くらい取り出せてるみたいです
なんか書いてて自分で試せよ、みたいな感じが
地デジはチャンネル毎に1分 BSは211(全チャンネル分)で3分 これで1週間分取れてると思う。長すぎ?
なるほど結構時間が必要みたいですね テストしてみます 手動でjobを登録する仕事が始まる。
628 :
588 :2012/10/12(金) 23:43:46.57 ID:JTKfncSY
なんか、録画一覧表示不能状態になったので 普段使っていたchromium-browserからfirefoxに変えてみて そっちでは落ちないので、古い録画エントリーをガンガン消してみました。 chromiumで表示できるようになった時点で 1940のエントリーがありました。 TSの検索数と、2012と2011の検索数の合計が同じっぽいので たぶん、これがエントリー数でいいと思います。 そんなに放置していたかと、ちょっと反省。 実際の録画ファイルは…今400弱。ほとんど見ないんで ただただ、積ん録しているんですけどね…ファイル数5桁あるみたい…
なんかごちゃごちゃになってきたのでepgrecを一度削除して入れ直したいんだけど /var/www/epgrec/以下とMysplのDatabaseを消せばいいのでしょうか? ちなみにOSはCentOS6.3です。
もう遅いかもしれないけどcronの設定も
>>630 補足ありがと、ちなみにatのジョブも予約一覧から消しておかないとダメだったらしい
ダメだったんでOS再インストールしましたが……
ついでなんで動作ログについても頼むよ
編集ってどうしていますか?色々試していますがなかなか決め手が…現状としては avidemux 2.5.xだと、 b25 → TSSplit → そのまま編集だと映像はカットできても音声がカットされず b25 → TSSplit → avidemux2 --video-codec COPY --audio-codec AC3 --output-format TSで音声を圧縮しなおすと編集できるけど音が1秒弱ズレる MurdoccutterやHDTVtoMpeg2で編集すると、シーンチェンジ時に切断面にBフレームがくるから2-3コマ程度ブロックノイズが入る。 手元の環境だとコンパイルが通らずインストロールできないからavidemux2.6.xでは未確認
Linux で編集できる環境の情報は自分も欲しい 現状は Windows 環境下でやっている
>>635 音ズレはあるけどLinuxで編集自体は出来ているので、参考までに
DST=`basename $1 .ts`_ac3.ts
b25 $1 /tmp/work/GOMI.ts &&
wine ~/bin/TsSplitter.exe -1SEG -OUT /tmp/work/ /tmp/work/GOMI.ts &&
avidemux2 --autoindex --load /tmp/work/GOMI_HD.ts --video-codec COPY --audio-codec AC3 --output-format TS --save ${DST} &&
avidemux2 --autoindex --load ${DST} --quit
って感じのシェルスクリプトで"元ファイル"_ac3.tsを自動生成。
後は、avidemuxでプロジェクトを作成&保存しておいて後でatdでバッチ処理で再圧縮。
(wine TsSplitter.exeを使っているけど録画時にsplitしちゃえば不要になる)。
問題としては、音ズレがある(編集時は余分にカット&再圧縮後に手動で補正する必要がある)ことと、
音声を再圧縮しちゃうのがちょっともったいないこと。
もうWidnowsでエンコはやってるから記憶が曖昧だけど b25 ↓ tssplitで指定サービスのみ残す。 ↓ BonTSDemuxをwineで動かしてm2vとaacに分離→aacの音ずれだけメモる ↓ m2vをavidemuxでエンコ フィルタかけて解像度を変えたりアニメや映画なら逆テレシネしたりする。 bフレーム入れると音ずれする。特にあとでCMカットするなら絶対入れない。 ↓ mp4とaacをMP4Boxでくっつける。ここ曖昧だがさっきのaacの音ずれ(delay)をオプションで指定しておくはず。 ↓ 完成。 CMカットしたい時はmp4をavidemuxを使ってカットして出力。 だいたいこんな感じだったはず。 avidemuxはaac入力だと音ずれがひどく使いものにならないのでエンコ作業が非常に面倒くさい。
>>478 でスレチとか言われたが、需要がありそうなので詳しく書いてみる
ffmpeg -async 1でy4m、wavとしてデコード
自前のスプリッタでy4m、wavをそれぞれ、フレーム単位、サンプル単位で分割、catで結合
yadif、hqdn3dを通してデインタレース
x264とneroAacEncでエンコード
MP4Boxでコンテナに入れる
コンテナレベルでの音ズレ補正は後々、面倒なことになるとおも
10月からの新番組をひたすらCMカットしてるが今のところ問題はない
フィールド単位でのカット、色空間、逆テレシネ、L字除去、ロゴ消しの情報があれば教えてくれ
やはりエンコスレ立てるべきかな?
自分もエンコ興味あるので、別スレででもいいからどんな風にやってるのか詳しく知りたいなあ。 CUI環境しかないので、自分はもういきなり編集も分離しないで ffmpeg で x264, neroAacEnc でエンコードしてます。 失敗してたらTSで見ればいいやーという運用です。改善できそうなら改善したい。。。 最近 MX を録画すると最初のCM部分しかエンコできてないことが多々あってハマってる(たぶん映像か音声が切り替わってる境目でもあるのかなと
>>639 逆テレシネはavidemux以外は知らない。
ロゴ消しはavidemuxについてたけどモザイクみたいな感じになるだけ。
L字除去みたいなマニアックな機能はaviutlじゃないとむりぽ。
2年間位色々試行錯誤したが現状Linuxのマルチメディア系のソフトが不十分。
でもアニメみたいに高画質を求めるのは厳しいがドラマ程度なら適当でも十分見れる画質。
個人的にはLinuxでのハードウエアエンコが気になる。
あれが使えたら家電レコーダーの使い勝手に近づく。
MXで失敗といえば、わかさトラップだろう
643 :
login:Penguin :2012/10/18(木) 07:33:23.79 ID:rgWeUbHT
wine上でこんな流れでやってますけど.batをシェルスクリプトに書きなおすだけで windows上で動かすのとほとんど同じですよ。 逆テレシネ,デインターレース,リサイズ,クロップ等はavisynthでやってます。 tssplitter->dgmpgdec->出力した.avs編集->avs2pipemod->x264 ffmpeg neroaac->mp4box | aviutl(カット編集のみ)
スレチなんだからよ、やるなら別スレか専用スレ立ててやれよ
>>634 ffmpegで音声を48000HzのWavにして適当なWav編集ソフトでカット。
頭のほうで時間差があるので、CMが出てくるところのフレームや喋りのタイミングを見て頭のギャップを調整する感じ。
相当面倒臭いけど一番精度出せる。
>>641 yadifが24fps/30fps混在でも綺麗なのでyadifで30にして妥協してる
LinuxでTSの字幕表示できるソフトってあります? MPlayer(dev-SVN-r35127-4.6)やffmpeg(1.0)では字幕が不明なコーデックとして検出されてしまいました。 MPlayerでは-lavfdoptsでanalyzedurationやprobesizeもためして見ましたが、ダメでした。
vlcにパッチがあるから当てれば出そうな希ガス。
>>649 一応vlc-aribのgitリポジトリは見つけたのですが三年前からコミットが止まっているようで、
ffmpegのAPIの変更に追従する必要があり、さすがにこれはちょっと・・・
Windows用の字幕抽出ツールは見つけたので、Wineで抽出してみようかと思います。
>>652 コレでした!
VLC2.1の方はパッチの段階でこけたんで2.0でパッチ当ててビルドしたら字幕表示されました。
githubでこっちはREADMEしかなくてこれからのプロジェクトなのかと思ってましたが、まさかSkyDriveの方にファイルがおいてあるとは。
確認は先日放送された博士の異常な愛情で行いました。
問題があるとすれば、ホームディレクトリ内でビルドしたcheckinstallでRPM作ってインストールしたらホームディレクトリが
rootに乗っ取られて本来のユーザーがホームディレクトリにアクセス不可能になったことぐらいですかねw
>>653 レポthx.
大丈夫なようなら、Ubuntu+XBMC+VLCでHTPCクライアントつくろうかな。
まだマシンがないけど。
>>642 ありがとう!わかさトラップでググったらいっぱい出てきました
wine 導入はあまりしたくなかったのですが、sd分離で解決できそうです
以降は誘導してくれたffmpegあたりを見て頑張ります
>>643 >>647 の誘導先でも構わないのでavisynthやらavs2pipemodのあたり詳しく
ubuntu12.04amd64 KTV-FSUSB2/V3 recfsusb2n 無事、視聴(mplayer)&録画&編集(avidemux)出来た〜
乙
FreeBSDドライバまだ?
ubuntu12.04から12.10に移行 したいんだけど、みんなうまくできてる? 64bitだと、pt3のドライバインストールで止まる なにやら、・・・・/build がないよって、言われた 32bitだと、pt3はOKで $ OUTPUT=test.ts CHANNEL=29 .........../do-record.shもOK でも、番組表が、9時間前にズレてて、予約できるけど、 録画されない PC構成は core i5 3470T MSI B75MA-E33 メモリ8G 16GB-USBメモリにシステムインストール
>>661 9時間ずれるのはphpのtimezoneの設定じゃないかな?
>>662 どもです
/etc/php5/apache2/php.iniに
date.timezone=Asia/Tokyoを追加してみます
>>662 openSUSE12.1だけど、俺もそれでハマったわw
date_default_timezone_setするかマニュアルに書いてくれればよかったのに。
Apacheのmod_php読み込むphp.iniとコマンドラインのphpで読み込むphp.iniが違うのが原因なんだよな。
666 :
login:Penguin :2012/10/29(月) 07:57:03.17 ID:yDjEJ60l
すみません。 px-s3u2を買ってしまいました。 ubuntu12.10なのですが、 どうやったらテレビが見れるのでしょうか?
>>666 見れない。
サポートにubuntuに対応しろと要望を送って下さい。
668 :
login:Penguin :2012/10/29(月) 17:30:44.09 ID:2+aD7avs
おくりました
wineでtvtest使えてる方はいらっしゃいませぬか? ffdshow入れても、mpeg2でまるちぷれくさーがーと言われる。
PT3でカードリーダがSCR-3310NTTComの場合って、やっぱりカードリーダの ドライバ(pcsc)は古いものをいれなくてはならないのでしょうか? 前スレあたりで対応されなくなったと書いてあったのですが。 debianなのですが、lennyあたりのリポジトリにあるのなら大丈夫なのでしょうか?
671 :
login:Penguin :2012/11/04(日) 19:52:39.13 ID:irpOtHjn
頑張ってやってみて下さい、結果の報告も忘れずにおねがいしますね
>>670 libccid 1.4.8-1 で動いてる。
実はpcscdのヴァージョンはあんまし関係なくてlibccidのヴァージョンが関係してる。
lennyだと1.3.11じゃないかな?
>>671 頑張って下さい!
稀にファームウェアをWindowsドライバから解凍する必要があるチップもあるので(昔のem28xx系とか無線LAN系のチップとか。今は既に添付されるようになったけど)そこら辺を気をつけてみて下さい。
675 :
671 :2012/11/04(日) 20:45:11.89 ID:irpOtHjn
677 :
670 :2012/11/05(月) 09:42:42.55 ID:nJmkuVqG
>>673 >>676 レスありがとうございます。wheezyリポジトリの最新版を入れてみようと思います。
>>676 Ubuntu-12.10 も 1.4.7 だから動かなかった。
apt-get source してパッチ当てて対処できたよ。
libccidはsidに1.4.8-1がきてる。 wheezyは1.4.7だからだめぽ。
arib25をコンパイルしようとしたら、 gcc -O2 -g -fPIC -Wall `pkg-config libpcsclite --cflags` -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c -o b_cas_card.o b_cas_card.c /bin/sh: 1: pkg-config: not found b_cas_card.c:12:22: fatal error: winscard.h: No such file or directory compilation terminated. というようなエラーが出てしまいました。 libpcscliteのバージョンは1.8.6-3です。 詳しい方おられましたらご教示ください。カードリーダまわりの問題だとは思うのですが、 よくわかりません。
>>680 pkg-configパッケージが入ってない
どのみち デスクランブルすること自体が違法になったんだから はじめから libsobacas や libyakisoba 使えばいいんでないの?
ソフトCASとかじゃなくてB-CASカード使っていても違法なの?
さあどうなんだろう なんにしてもコピーコントロールを無視するからなあ
http対応版recpt1+vlcでリアルタイム視聴しようとしているのですが、 recpt1を正常に終了するにはどうすればよいのでしょうか? vlcを終了してもstill listening portなんとかとでて終了されていないようなのです。 exitと打ってコンソールを終わってもrecpt1は終了されないようです。 正常に終了できないとgnomeのサスペンドで失敗してしまうようなので不便なのですが、 どうにかならないのでしょうか? また、vlcでチャンネルを変えるにはプレイリストを作成するのが一番簡単な方法なのでしょうか?
まる的には保存しないでリアルタイム視聴ならいいじゃんみたいになってるね
【ディストリ】Debian Squeeze
【PT】PT3
【epgrec】新BS対応版
【recpt1】新BS対応パッチ版
【epgdumper2】新BS対応パッチ版
epgrec,recpt1,epgdumper2はすべて
ttp://sourceforge.jp/projects/epgrec/releases/?package_id=12517 より取得したもの
getepg:: 正常な/tmp/__temp.xmlGRXXが作成されなかった模様(放送間帯でないなら問題ありません)
というログをたまに吐きます。
ここ4日ほどで、以下の頻度です。
GR26:3回(2時台・4時台に発生)
GR25:1回(0時台)
GR22:1回(18時台)
CS2 :4回(2時台・6時台・10時台・16時台)
(他にも放送時間外で幾つか出ていますが無関係なので割愛)
録画自体はepgrecより問題なくできていますが、エラーが出るのが気持ち悪いです。
/tmpの権限を疑ってみましたが、そもそも他のチャンネルではエラーが出ないので問題ないはずです。
どなたかこの症状の原因はご存じないでしょうか。
recfsusbで似たようなエラー頻発してたが、 初期ストリームを捨てるパッチ当てたらなくなった。 recpt1にも同様のパッチを当てればいいんじゃないかな?多分。
>>685 録画開始のときにセットしたシグナルマスクが録画終了してもほったらかしなんで
kill -9しないと終わらなかったと思う
>>687 うちではTBSがそういう症状だった。
PT3につなげていた分波器の調子が悪かったのか、
苦しまぎれに分配器へ変えたら改善した。
691 :
685 :2012/11/10(土) 15:30:16.10 ID:W8xHgTHX
>>689 やっぱkill -9しかないんですか。。。
どうもレスありがとうございました。
>>691 とゆーかHTTPサーバになるモードなんだから、
プロセスが残るのは挙動としては正しいんじゃない?
本当にSIGKILLでしか死なないのならその点はちょっとどうかと思うけど、
残ってほしくないのなら、たとえばシェルスクリプトを書いて、
vlc 'udp://127.0.0.1@:1234' &
vlcpid=$!
とかやってから、recpt1とかをこれもバックグラウンドで起動して、
wait "$vlcpid"
として返ってきたら
pkill -P "$rppid" -x recpt1
とするとか(rppidはrecpt1のPID)。
>>692 一つ訂正。以下は間違い。
> pkill -P "$rppid" -x recpt1
自分のとこではシェルスクリプトかませてrecpt1を起動しているので、
recpt1は、そのスクリプトのさらに子供になるために-Pオプションを付けている、
というわけだった。
recpt1 て、ふつうに kill -TERM で死ぬけど、勘違いでないの。
http版のhttpモードの場合接続前なら普通に死ぬ。 接続中なら録画スレッドが死んで接続待ちになる。 その後SIGTERMやSIGINTでは死ななくなる。
地域によるのかもしれないけど、需要ないかもしれないけどまたMXトラップにかかったので共有します。
昨日くらいまでは普通に録画できてたんだけども、今日あたりから東京タワーの電波が弱くなったみたいで GR20 では 12dB くらいまでしかあがらなくなって実質録画失敗状態でした。
ttp://s.mxtv.jp/skytree_iten/change.html epgrec の config.php で
"GR20" => "20",
↓
"GR16" => "16",
mysql は
update Recorder_channelTbl set channel = 16, channel_disc = 'GR16' where channel = 20;
で修正したんだけども、まだいじる所あるかな・・・?
これからどんどん弱くするって言ってるしな
ほんどだ助かった C/N = 19.111167dB C/N = 39.483878dB
>>696 ch16と20では送信されているビットストリームは同じに見える
なので、物理チャンネルの指定を行っている箇所をすべて変更するだけでいいと思うよ
piro77/epgdumpをmakeしようとすると以下のエラーを吐いて中止される ”make: *** ターゲットが指定されておらず, makefileも見つかりません.” configure的なのがあるのかとも思ったけど./configureは存在しないしでよくわからない 低レベルな質問で申し訳ないんだけど、どなたかpiro77/epgdumpのビルドの仕方を教えてください… 当方の環境はubuntu11.10です
>>694 ./autogen.sh
./configure
make
autoconf とかの version は調べて、必要なパッケージいれればいいよ。
これがわからないレベルなら諦めろ
>>701 ありがとうございます
教えてもらった方法で出来ました
すみません。できたら教えていただきたいのですが、 [環境] ubuntu 12.04 32bit PT2 maverickのpcsc関連のパッケージ hg.honeyplanet.jp/pt1 133:b14397800eae + 73:c44e16dbb0e2 大抵はubuntuストック版のvlcで問題なく概ねきれいに再生できるのですが、 時々再生が乱れる回があります。 再生が乱れる回は、録画開始から終了まで症状が続きます。 概ね乱れない回は、開始から終了まで(問題ない)症状が続きます。 2012/11/17 21:00 NHK総合を1時間録画した時には、 開始から映像と音声が?微量飛び飛びになっていて、 しまいには40分程経過したあたりで、音が完全にずれてしまっていました。 原因をご存知ありませんか? ubuntu10.04(pt1 116:38a793ac3d9d)とubuntu11.04(pt1 119:7662d0ecd74b)では、このようなことは起きませんでした。
途中で音声チャンネル数が変わると音ズレを起こすことはある
40分程経過したあたりまでは音ズレは起きていませんでした。 その時点で音声チャンネルが変わってもいないと思います。 途中でニュースを挟むあさイチ等の番組と違って 1時間の長さのドラマでしたので。
まず保存されたビデオがおかしいのか再生がおかしいのか切り分けたら? 例えば別のマシンとか、MPlayerとか別のプレイヤーでも再生がおかしいか? 再生してみておかしいようだったら、保存されたビデオがおかしい。 これは原因の切り分けは難しいかもしれないけど、たぶんPCかなにかから生じたノイズが乗ってるパターン。 開始時からずっとおかしいということだし問題のあるときとないときがあるみたいだから、 問題のある時間帯だけ動いてる機械が周囲にないか確認してみたら? そのマシンのVLC以外ではちゃんと再生できるようなら、ちゃんと再生できる環境で見る。 こんなかんじでどうよ?
ffmpegでh264に変換した後も再生の不具合が継承されるので、再生ではなく保存されたビデオがおかしいと思います。 2012/11/18 21:00のNHK総合は不具合があり、 2012/11/18 23:30のNHK教育は不具合がありませんでした。 その時々で周囲で動いている機会に差異は無いように思います。
×機会 ○機械 2012/11/18 23:30のNHK教育の再生は 「概ね」という表現は不適切でした。「完璧」に再生できています。
それから、2台の(スペックがけっこう異なる)パソコンそれぞれで動かしていますが、 どちらのパソコンでも時々発生します。 OS等は同じに設定してあります。
TSのエラーレートが0.1%程度で結構ノイズ出るよ 雨とかで受信感度悪くなっているとか可能性ないかな CountinutyCounterによるチェックだと雑なチェックにならざるを得ないので、 きっちりかっちり判定は出来ないかもね
>>712 家は受信状態悪いけど音ズレとかはないな。盛大にブロックノイズ入ったり、音声が途切れたりはあるが。
>>704 >maverickのpcsc関連のパッケージ
これがいけなかったのかな。
maverickの
libccid=1.3.11-1 libpcsclite1=1.5.5-3ubuntu2 libpcsclite-dev=1.5.5-3ubuntu2 pcscd=1.5.5-3ubuntu2 pcsc-tools=1.4.16-1
にしていたのを
ubuntu 12.04のに戻しました。
libccid libpcsclite1 pcscd 以外はapt-get purgeしました。
pcscdはrecpt1実行中のみ起動し、recpt1が終了すると、しばらくして終了するようですね。
Gemaltoカードリーダのランプもrecpt1実行中のみ点灯し、recpt1が終了すると、点滅になり、しばらくすると消灯するようです。
/etc/init.d/pcscdは変更していません。
udevの設定も変更していません。
万が一問題があったとしても、
基本的に、apt-get purge libccidしてから、(pcscdもpurgeされる)
apt-get install pcscdすれば直るような気がします。
この状態で、しばらく様子見します。
暗号化解除の失敗ならパケットは暗号化されたまま保存されるんじゃなかったか。 上に出てるtsselectでそのパケット数も調べられる。
https://github.com/shesee/tsselect-linux をmakeしてみましたが、私のスキル不足で、うまく動作しませんでした。
dvbsnoopで調べてみたところ、問題のTSファイルで
Transport_error_indicator: 0以外
transport_scrambling_control: 0以外
は、ほとんどが同パケットで現れているようでした。
14491095個のパケットのうち、
Transport_error_indicator: 1 (0x01) [= Packet has uncorrectable errors]
が639912個ある中に、
transport_scrambling_control: 0 (0x00) [= No scrambling of TS packet payload]
は8726個だけでした。
pcscd関連をubuntu 12.04公式のものに戻した後に録画してみたファイルだと、
dvbsnoop -s ts -if input.ts -n 100000 -pd 3 | grep '^Transport_error_indicator: [^0]' | wc -l
23
なので減っているように見えますが、
これらはすべて、
transport_scrambling_control: 2 (0x02) [= TS packet scrambled with Even Key]
でした。
つまり、依然として、暗号化解除の失敗自体は起きているということになるでしょうか。
このような復号化失敗のパケットが増大するような場合があるとすると直ってないことになりますね。
トランスポートエラーは復号化の前の段階で起こってるはずなので、 受信レベルやノイズの問題かPT2の故障じゃないか。
checksignal 21〜27 C/N = 26〜29dB程です。 2台のパソコンそれぞれのPT2が同時に故障するものでしょうか。
エラーが出てるときに測定した値ですか? 標準エラー出力をリダイレクトしてしばらく記録しとけばいいんでない
しばらくの間記録してみましたが、 checksignal 27 C/N = 25〜29dBでした。 この時に録画してみると、問題のファイル程ではないにしても、 ブロックノイズが出ます。 (時折、微量ずつ音が飛び飛びになる=ニュースキャスターの言葉遣いが、中国語を母国語とする人が日本語を発音した時みたくなる) 100000パケット中に、 ^Transport_error_indicator: [^0] が29個で、これらはすべて ^Transport_error_indicator: 1 でした。このうち、 ^transport_scrambling_control: [^0] は28個でした。
721 :
login:Penguin :2012/11/23(金) 14:10:06.65 ID:voa0rRi2
すみません、ご教示ください。 foltia anime lockerの評価版をインストールしたのですが、 録画がワンセグ(320*180)になってしまいます。 チューナーはpt3で、カードリーダにCASもつけています。 またEPG番組表の取得も不安定で「データが取得できませんでした」 と言われることがあります。 他のテレビではきちんと受信できているので、電波強度は問題ないと思うのですがー。 こちらを解決し、フルセグを受信するにはどうすればいいでしょうか、、、。 お手数をおかけしますがよろしくお願いいたします。
さらに記録し続けていたところ、 checksignal 27 C/N = 23dB まで低下することもあるようでした。 さらに記録を続けて、22を下回る場合があるかどうかを確認します。 結局、ドライバなどの問題ではない、ということのようですね。 ubuntu 12.04に移行した直後から気になり出したので、混同してしまいました。 失礼しました。
anime lockerは公式に質問すればいいんじゃね?
>>722 現在までに、22dB以下は確認できませんでしたが、
recpt1での録画中に、
Rescan PID
Rescan PID End
Rescan PID
Rescan PID End
Rescan PID
PMT reading..
Rescan PID End
のような出力が出ている時に、
23dBに落ちたりしているようで、ブロックノイズが出ているようでした。
そういやrecpt1ってトランスポートエラーのチェックしてなかったような。 んでtssplitterはエラー無し前提だったような。
教えて質問で申し訳ありません。
ubuntu のバージョンを 10.04LTS から 12.04 に上げたら recfriio の
make ができなくなりました。
recfriio も以前使っていた r4 から最近のカーネル対応という r5 に
変更し、ググりながらソース に include を追加したり、
http://irukano.blogspot.jp/2011_03_01_archive.html を見てカードを認識させながら通そうとしたのですが、
gcc `pkg-config libpcsclite --libs` -lm -o b25 arib_std_b25.o b_cas_card.o multi2.o td.o ts_section_parser.o
b_cas_card.o: In function `get_pwr_on_ctrl_b_cas_card':
/usr/include/i386-linux-gnu/bits/string3.h:52: undefined reference to `g_rgSCardT1Pci'
辺りから undefined reference to が続き、collect2: ld はステータス 1 で
終了しました、とか言われてしまいます。
pcsc_scan させると
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)
と出るのでカードは認識しているようですが、Possibly とかいうのがそもそも
怪しい気もします。
make はこの部分を通してもすぐ先でつまづくかもしれませんが、現時点でどこに
問題点があって何を試せばいいか分からなくなってしまい、ここで質問することに
した次第です。
こうなるのが面倒で今まで 10.04 のまま我慢してきたので、OS を戻すという
最終手段も残ってはいますが、やれるだけのことはやってみたいと思います。
ああ、ubuntu10.04デスクトップ版のサポートは2013-04までか
>>726 ちょうど一昨日、ほとんどあんたと同じで、Ubuntu 10.04からMint 13(Ubuntu 12.04相当)にインストールし直して、
recfriioもr4からr5に変えてコンパイルし直したけど、ソースを変更するようなこともなく、
普通にmakeして使ってるよ?
最近のはtssplitterまで内蔵しちゃったのね〜、これでwineともお別れだわ〜、とか思いながら。
だいたい、どっからrecfriioのソースを持って来たのさ?
初心者ながらEPGRECでこの一ヵ月地デジ快適に録画できてたんだけど、 BS/CS入れてスレ参考にepgdump.c、xmldata.c、config.php書き換えて番組は取得できたけどとたんに録画失敗が発生 なんかCSって初心者には面倒な上にハードル高いのね このスレ読んでるとSTZ版とかが良さげだけど、CS環境快適にするには亜流しかないんでしょうか
>>728 返信ありがとうございます。
私の場合は b_cas_card.o の make でエラーが起こるのでカードリーダーの認識で
躓いているのだろうと推測していますが、
>>728 さんが使われているカードリーダーの
機種は何でしょうか。
私は2010年頃購入したフリーオ白を使っており、カードリーダーも内蔵のものをそのまま
利用しています。
あれから ccid のバージョンを 1.45 から 1.48 に上げてみたりしましたが、やはり同じ
ところでエラーを吐いて停止します。
ところで、おっしゃるように recfriior5 はいくつかのソースに分岐しているのですね。
いつの間にか 2sen のソースはなくなっていたので、私は避難所
http://www2.wazoku.net/2sen/friioup/ にあったup1210.zipをビルドしました。
https://github.com/stz2012 の friio-master (tsspritter内蔵判)を使うと
ソースをそのまま使ってもビルド可能でしたが、やはり同じところで停止するのでカード
リーダーの認識が甘いのだと思いますが、プログラミングの知識が全くないのでよく
わかりません。
カードリーダーを認識させるため、/etc/libccid_Info.plist には lsusb 情報から
各項目の末尾に
<key>ifdVendorID</key>
<string>0x058f</string>
<key>ifdProductID</key>
<string>0x9520</string>
<key>ifdFriendlyName</key>
<string>EMV Certified Smart Card Reader</string>
を追記しました。ちなみに、arib25 同梱の libccid_Info.plist を使ってもリーダーは
全く認識できません(ubuntu10.04 では何もしなかった部分です)。
前に書いたように pcs_scan の結果は B-CAS カードを一応認識しているようですが、
不十分という理解です。。
IT 音痴の私は次に試すべきことが思いつかなくなってきました。
コンパイルにそんなもん関係ねーよ。 もうあきらめろ。
過去グロにあったようなきが
-devel パッケージが入ってなかったとかのオチじゃないのか
>>731 この場合の深刻な問題というのは、
2ちゃんねるをSNSやコミュニティサイトと同列に見なしたユーザが、
2chに「とりあえず」記事を投稿し、フォローを受ける。
そのフォローが予想もしなかった(2chの参加者から見れば当然のものであるが)
厳しいものであったために、「2ちゃんは怖いところだ」という誤解を招き、
それが拡大再生産されているのではないと思います。
ある人が、「2ちゃんは怖いところだ」と思ったのなら、それは誤解じゃなくて正しい認識だと思います。
怖いケースと、怖くないケースがあって、そういう両面とか全貌を見てない、視野の狭い人が、
怖いところだと認識するのは、良くある話で、それは深刻な問題という程でもないと思います。
>>731 エラーが発生している b25 の readme に「使用ライブラリは
PCSC-Lite(
http://pcsclite.alioth.debian.org/ )で、カードリーダが
使用可能な状態になっていることが必要です。」とあるので、私は
リーダーを正しく認識していることが make の条件になっているのかと
思い込んでいましたが、カードリーダーが使用可能になっていることと
いうのは b25 が動作する条件のことで、make だけなら PCSC-Lite
さえインストールしておけばmake は通る、途中のエラーは純粋に
ソフト的な条件からではないか、という意味ですか??
とすれば
>>733 さんも同じことをおっしゃっていることになりますね。
念のため、昔 friio を買った頃お世話になった
http://bj-linux.blogspot.jp/2009/10/ubuntufriio.html の方式で、
synaptic でキーワードを入れて出てくる候補を片っ端から入れてみました
が、今のところ同じところで止まってしまいます。
>>732 その過去ログにもあたっていますが、今ひとつヒットしません。
今はなくなった linux で friio とかのスレにあったのかもしれないですね。
>>734 私が
>>731 を見て「2ちゃんは怖いところだ」と世間で触れ回り、
悪いイメージが広がってしまうのが深刻な問題だって言ってるんですか?
文章も支離滅裂だし、頭おかしいんじゃないの?
IT音痴な人がLinuxで録画しようってのがそもそも(ry コンパイルの意味するところが分かってなければどうにもならんだろうて。
>>736 Windows7 も持っているのですが、なぜか頻繁に壊れる vm のゲストで録画する
気にもならないのです。
コンパイルはテキストのソースコードからバイナリ実行ファイルを生成することだと
思っていましたが、全然違うのなら是非教えてください。
>>735 Cを基礎からやり直してこい。
/usr/include/i386-linux-gnu/bits/string3.h:52: undefined reference to `g_rgSCardT1Pci'
っていうのはg_rgSCardT1Pciっていうオブジェクトが参照されてるけど、そいつの本体が見当たらないってことだ。
つまり単純にリンクに失敗してるだけで、カードの認識とか1ミリも関係ない。
ここで問題なのが
gcc `pkg-config libpcsclite --libs` -lm -o b25 arib_std_b25.o b_cas_card.o multi2.o td.o ts_section_parser.o
っていうところ。
ちゃんとpkg-configが実行されれば
gcc -lpcsclite -lm -o b25 arib_std_b25.o b_cas_card.o multi2.o td.o ts_section_parser.o
ってなるはずなんだが、b_cas_card.oがpcscliteの定義を参照しているのに-lpcscliteがb_cas_card.oよりも先に来てる。
Cではリンカに渡される順番ってものがあって、これは後ろの方からどんどん突っ込んでいくから、エラーになるのも当然。
>>738 多分cを勉強した人には親切丁寧な解説なのだと思いますが、残念ながら私は
プログラミングの経験がないので、仮に現象が理解できたとしても対処方等は
さっぱりです。
引用部以下、g_rgSCardT1Pci を筆頭にオブジェクトらしきものの参照が軒並み
転けているので、上の文章だけで想像するなら libpcsclite がきちんとインストール
されていないか、Makefile かソースに記述された順番が環境にあっていない
ので入れ替えてやればいいということでしょうか。
試しに libpcsclite1 と libpcsclite-dev に dpkg-reconfigure して make
してみましたが、同じところで停止したので、うまくいかせるとしたらソースの書き
換えでしょうか。 それとも、上の文章は別の作業を示唆しているのでしょうか。
`pkg-config libpcsclite --libs`はpkg-config libpcsclite --libsを実行して帰ってきた文字列を代入するから 問題なければ gcc -lpcsclite -lm -o b25 arib_std_b25.o b_cas_card.o multi2.o td.o ts_section_parser.o になるって言うのは知ってる
わかったから質問に適した別のスレで聞いてくれ
おとなしくWin7使ってればTVTest/RecTestっていうすばらしいものがあるのに何でepgrec使おうとしてるのか。 まぁ俺も人のことは言えんけどね。
>>739 >>738 のレスをもらっても理解できない人に対して
理解できるまで解説しようという親切な人は
少なくともこのスレにはいないのだと思っていいよ
というか良く知らない人に解説するのって非常に大変なんだよ
じゃなきゃ解説書がクソ高い値段で売れるわけないっしょ?
ていうか
>>738 はものすごく良い奴だな・・・。
こんな匿名掲示板で初心者相手に時間を取ってこんなに丁寧に。
というかconfigure とか Makefile とか使ってれば こんな問題起きないのでは?
>>726 非常に今更感があるけど、まあ参考のため。
要するにPC/SC Lite向け開発用パッケージがないんだろ。
g_rgSCardT1Pciは、PC/SC Liteのソースにある変数で、pcsclite.hにあるものだから。
多分、
>>733 が正解じゃないかな。
多くの場合、ライブラリなんかは、単にそれを使うだけの場合に必要な最小限のものと、
それを使ってソフトを作る場合に必要になってくるものが別パッケージになっている。
コマンドラインで、
pkg-config libpcsclite --libs
を実行してみ。まさかpkg-configというコマンドがないとは思えないから、
きっとlibpcsclite.pcというファイルがないというエラーが表示される。
でも多分pcsc-liteは入っていて、pcsc-lite-devがない。pcsc_scanが動いているから。
#パッケージの名前はちょっと違うかも。
それはそうと、まさかとは思うけど、/usr/includeの下の.hをいじったりしてないよな?
748 :
728 :2012/11/26(月) 15:09:09.48 ID:fJ/kBxFD
>>730 うちで使ってるFriioは2011年ころ買ったやつかな。
一回ぶっ壊れて買い換えたから。
カードリーダも内蔵のものをそのまま使ってるよ。
で、持ってきたソースはあんたも試したという、
https://github.com/stz2012/recfriio これだよ。これの zip アーカイブ。
でも、ほかのみんなも言ってるけど、
Friioやカードリーダを認識してるかどうかは関係ないよ。
そもそも、うちでコンパイルしたのは、Friioがつながってるマシンじゃないし。
別マシンでコンパイルして、
できあがった実行ファイルをFriioマシンに持って行って動かしてる。
最適化オプションを好みのものにするためにMakefileはいじったけど、
特にそれ以外に何かした記憶はないがなぁ……。
コンパイルエラーで、必要なライブラリが足りないことに気づいて、
apt-getで入れてから改めてmakeし直し……みたいな試行錯誤はあったけどね。
まぁ、Mint 13とはいえ、うちでは動いてるんだから、
あんたがどうしてもLinuxで動かしたいんなら、
相応の知識をつけてコンパイルに挑むしかないんじゃないかな。
>>726 IT音痴発言とかホントはそう思ってない感じがすごいするな…。
それはそうと、これだけ優しい住人からの懇切丁寧な解説レスがあっても解決しなければ、
諦めたほうが無難ですよ。解説したその内容がわからないのでは、
極端な例えで気を悪くするかもしれないが、方程式がわからないという子供に丁寧に説明したら
実は四則演算がまともにできていなかったというようなもの。
色々ありがとうございます。端末からやってみて分かりました。 差し込み印刷したらフィールド名が出てきたというか、pkg-config は 帰ってくる文字列を代入する関数のようなものなので、端末に pkg-config がそのまま表示されるということは、必要な開発用の ライブラリがインストールされていない可能性が高い、ということですね。 pkg-config が表示されるのを問題視していなかったため気にしていま せんでしたが、私の場合 make の最初からほぼ全部出ているようです。 ところが、同じコマンドを端末から単独で実行すると $ pkg-config --cflags glib-2.0 -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include $ pkg-config libpcsclite --cflags -pthread -I/usr/include/PCSC $ pkg-config libpcsclite --libs -lpcsclite となり、これは恐らく正常なんでしょう。 make のときだけ 追跡情報が引き継がれない? ubuntu10.04 以前は こんな部分で引っかからなかったので、根本的な何かが足りないか、 OSのインストールで手順を誤ったのかもしれません。
>>750 何を言ってるのかよくわからないのだが、バッククォートのコマンド展開(←正式な名称かは知らん)を知らないで話してるのか?
だとすれば
>根本的な何かが足りない
というのは、あなたのUnix/Linuxに関する知識が致命的に足りないということになるな。
752 :
738 :2012/11/27(火) 03:09:10.02 ID:5JpiLnI7
>>750 ごめん、俺の書き方が悪かったのかな。
ターミナルに表示されてるのは別に間違ってないんだ、なんの問題もない。
調べるべきはそこじゃなくて
・オブジェクトの結合順序
・Cにおけるリンクとは何か
なんだ。
これはLinux使いを続けるなら避けては通れない問題だと思うんで、気力があるなら頑張って欲しい。
いやだからもうここで聞くなよ。 完全にスレチだろ。
どこで聞くべきかもわかってないんだ。仕方ないだろう。
>>752 スレチの指摘の中で申し訳ないが、ちょっと突っ込み。
>>738 のリンク順序の指摘、逆じゃないか?
参照されるライブラリが先にあるのが正しいんじゃないかな。
それと、順番が問題になったのは結構昔で、今のリンカはその辺り考えてくれる。
実際、今GitHubにあるソースで、Makefileを書き換えて
リンク順序を入れ替えたりして試してみたけど、どっちが先でも通った。
更に言うと、Cの問題じゃないという気もするが、まあ細かいことだからいいか。
あと、
>>750 は
>>738 の書き方が悪かったんじゃなく、
>>747 に応えたんじゃないかと。
>>755 の続き。すんません。
結局、
>>726 の前段で何をしたんだろう。ソースに全く手を加えていない状態で、
recfriio5のディレクトリでおもむろにmakeを実行するとどうなるか、
それが気になるんだけど。
たぶんPTx買ってrecpt1使ったほうが幸せになると思うぞ
>>704 >>714 >>724 $ dvbsnoop -s ts -if bad.ts -N 1000000 -pd 3 -ph 0 -nohexdumpbuffer >bad.txt
$ grep '^continuity_counter:' bad.txt | wc -l
1000000
$ grep '^continuity_counter:' bad.txt | grep 'continuity error' | wc -l
1147
$ dvbsnoop -s ts -if good.ts -N 1000000 -pd 3 -ph 0 -nohexdumpbuffer >good.txt
$ grep '^continuity_counter:' good.txt | wc -l
1000000
$ grep '^continuity_counter:' good.txt | grep 'continuity error' | wc -l
2
俺もそうだけど、フリーオ使ってる奴って、まだある程度いるよな
>>748 は動いてるらしいし、やっぱ質問主のやり方がおかしいんじゃね?
あきらめてwindows使えってこった
fsusb2nも持ってるけど動作がいいんでfriioの方使うことが多いや 羊羹剥がしてからやたら調子いい
自分はfriioじゃないけど、同じようにUbuntu12.04にしてからb25で躓いたことがあるんで、もしかしたらMakefileのgccオプション問題じゃないのかな。 CC = gcc -Wl,--no-as-needed に書き換えてみたらどうでしょう?見当違いだったらごめんなさい。
>>714 ubuntu 12.04のだと、まれにpcscdの起動に失敗することがあるっぽい。
次期バージョンのpcsc-liteでは、systemdを利用するらしい。
ubuntu 12.04でそれぞれを利用するには、
以前: /etc/init.d/pcscdのexitをコメントアウト
現在: udev(標準なので、何もしていなければ、コレ)
次期: systemd(下記の方法になると思うが試していない)
ubuntu raringの1.8.6のpcscdとlibpcsclite1バイナリパッケージをdpkg -iすることは依存関係的には可能っぽい。
ただし、suggestsのsystemdバイナリパッケージが存在しないらしい。
pcsc-liteソースパッケージからビルドするには、
libusb2-devが存在しないらしいが、FreeBSDでないから存在しないように見えるだけかな?
systemdは、debianの方にはあるみたい。
debian sidのsystemdソースパッケージからビルドするには、libkmod-devが無いが
debian sidのkmodソースパッケージからビルドできる。
1. kmodソースパッケージからビルドする
2. systemdソースパッケージからビルドする
3. ステップ2でビルドできたsystemdバイナリパッケージとraringのraringの1.8.6のpcscdとlibpcsclite1バイナリパッケージをdpkg -iでインストールする
ラインブースターを設置してみていますが、
checksignalの値に変化はみられませんが、continuity errorの発生件数が明らかに減少しました。
今まで録画可能か否かの境界線がぼやけていたのが、ブースターによって境界線がはっきりしたようなイメージでしょうか?
>>762 これは、pcscdの起動に失敗しているわけではなく、
単に受信レベルが低下していただけのように思います。
Seq1. 録画の開始に成功するも、途中から失敗
Seq2. 録画の開始自体に失敗
Seq1の録画の回では、recpt1が
PMT reading..
と多量に出力していました。
その後の、
Seq2の録画の回が開始され、recpt1が
b25->put failed
b25_decode failed (code=-4). fall back to encrypted recording.
と出力していました。ARIB_STD_B25_ERROR_NO_PAT_IN_HEAD_16M
Seq2の録画の回では、確認できた11043個のパケット中の6158個がcontinuity errorでした。
後から、b25を使おうとしても失敗します:
$ b25 -s 1 -m 0 -p 1 -v 1 eseq2.ts dseq2.ts
processing: 0.26% error - failed on ARIB_STD_B25::put() : code=-4
最初からencryptedな録画をしてみても、このようなエラーは確認できませんでした:
$ b25 -s 1 -m 0 -p 1 -v 1 egood.ts dgood.ts
processing: finish
no EMM receiving request
epgrecで自動キーワード予約をするとatに同じ予約をいくつも登録されてしまうのですがこれはうちの環境のせい?
Chinachuの開発途中のベータ版使ってみた。 ブラウザから予約するUIがまだきちんと動いてなかったりするけど、 インストールや設定が簡単で、WebのUIはかなりよくできてる。
kernel 3.6のDVBドライバーを使っていて、以下の様なメッセージが出てる人いますか? earth-pt1 0000:01:06.0: dtv_property_cache_sync: doesn't know how to handle a DVBv3 call to delivery system 0 kernel 3.2の時は、こんなメッセージも出ず地デジ・BSも問題なかったです。、 kernel 3.6にしたら地デジがダメになって、BSは前と変わらず問題なしで使えてます。 PT1ドライバーが、kernel 3.6に対応して無いんだろうけど更新停止してるからなぁ〜。 どうにか修正する方法無いですか?
>>767 自分も同じメッセージが出るのでkernelは3.2で凍結してる。(地デジonly)
PT1ドライバも他のkernel付属のDVBドライバと同様な修正は入ってるみたいだけど
根本的な作り方に問題があるのか動かないね。
修正にトライしようかと思ったけど、自分の実力じゃ歯が立ちませんでした。。
再度作者様の降臨に期待かな?
769 :
login:Penguin :2012/11/29(木) 23:51:21.56 ID:mM0i/SJX
stz2012版のepgrecなどひと通りセット揃えて インストールしたんだけど、なぜか録画すると9時間ずれる。 (夜12時に録画を設定したらなぜか朝9時に録画される。) なぜなんだろう…? OSはubuntu 12 Linux 3.5.0-18-generic x68_84。 どうもUTCとJSTの違いかと思うんだけど、そんなことって あるのかなぁ…?
>>769 おい、x68k版があるのかと思って
ときめいちまったじゃねーか
>>767 Fedora 17 kernel 3.6.7 x86_64 だけど出てないな
でもサスペンド・レジューム対応の修正を当てた版を使ってるから
vanillaなドライバじゃないけど
>>767 >>773 現在のソース見たら ちょっと変更されててやっぱりだめみたいだよ
最近の修正で(複数の伝送システムを切り替えられるボードが出てきたので)
ドライバ側で受け付けるdelivery system をきちんと明示・限定するようになって
アプリ側でも使用するdelivery system を(v5のAPI中で)指定するようになってきてる
普通はv3のAPIを使ってもうまく動作するように内部でうまくdelivery systemを推定するんだけど、
pt1の場合 v3への対応が現状不完全だったのでうまくいってないみたい
pt1/va1j5jf8007t.c の .delsys = { SYS_ISDBT }, を .delsys = { SYS_ISDBT, SYS_DVBT },
に変えたらうまくいきそう
あと もしv5のAPIが使えるアプリならば(BS使えてるのでそうだと思うけど)
そっちを使って チューニングの時に
DTV_DELIVERY_SYSTEM のプロパティを8 (SYS_ISDBT)に設定するようにしたらいいと思う
776 :
767 :2012/11/30(金) 16:47:01.54 ID:yr0tJmqm
みなさん返信ありがとうございます。
>>772 Fedora 17では、DVBドライバーにパッチ当ててるんですかね?
>>773 このパッチの件はググって知っていたのですが、現在の最新Git版では別の修正がされているようです。
'-------------------
ncaps = 0;
while (fe->ops.delsys[ncaps] && ncaps < MAX_DELSYS) {
if (fe->ops.delsys[ncaps] == desired_system) {
delsys = desired_system;
break;
}
ncaps++;
'-------------------
>>774 MythTv 0.24.3(ISDBパッチ済)+fuse_b25 0.4.8で運用しているので、
頂いた情報を元に色々試してみます。
ありがとうございます。
>>774 早速ですが、教えて頂いた最初の手順を試したところ
無事に地デジ・BS共に視聴することが出来ました。
以下、手順を書いておきます。
mkdir -p v4l-drivers
cd v4l-drivers
git clone git://linuxtv.org/media_build.git
cd media_build
./build
vi ./linux/drivers/media/pci/pt1/va1j5jf8007t.c
'----------------------
431行目を修正して保存
誤) .delsys = { SYS_ISDBT },
正) .delsys = { SYS_ISDBT, SYS_DVBT },
'----------------------
make
sudo make install
後は、念のため再起動したらOKでした。
ありがとうございました。
ちなみに2番目の手順は、まだ検証出来ていません。
※後は、CSを映るようになれば完璧なんだけど・・・orz
>>777 >>307 使って PT1ドライバ単体でコンパイルする方が
全ドライバをビルドするより楽じゃないかと....
>>775 ななんと、そんなことが起きていたのか。知らなかった。
ウチには関係ないけど、参考になったよ。
780 :
777 :2012/12/01(土) 17:07:56.61 ID:k289deB2
>>778 確かにそうですね・・・改造版ドライバ公開されてるの忘れてましたorz
同じ修正方法で、DVB改造版ドライバv0.1でも地デジ・BS共にOKなのを確認しました。
こちらの方がBS関連の修正も入ってるので、安定して運用できるかも
ありがとうございました。
781 :
726 :2012/12/01(土) 23:11:29.75 ID:xp0cFHIO
>>761 >>775 年末モードに入ってしまい、平日はなかなか自宅pcに触れなかったのです
が、貴重な情報ありがとうございました。教えていただいた Makefile の
修正で b25 のバイナリができあがりました。同じ所で引っかかっていた
人は多いのではないかと思います。
とはいうものの、その後 recfriio のディレクトリに入るとリンカー
コマンドラインに boostsystem のパスを加えろとか警告され、シンボルが
読めなかったと言われてステータス1で終了してしまいます。
Makefile は b25 のものだけでなく recfriio のものも修正したので、
10.04 の頃からはいろいろな変化があるのでしょう。
何をいじったかわからなくなったのでシステムディスクをフォーマットして
osを再インストールして試しましたが結果は同じです。
まだまだ気が長い話になりそうです。
>>781 試行錯誤してなんとかrecfriioのmakeもできたので報告します。
ちなみに当方friioユーザーではないので、やったのはmakeまでです。
まず、up1210.zipは修正すべき箇所が多いのでstz2012を選択。
arib25のMakefileの5行目に-Wl,--no-as-neededを付加。
recfriio5のMakefileの33行目と34行目にも-Wl,--no-as-neededを付加。
(本当はLDFLAGSに書いた方が良いのでしょうが、説明が面倒なもので)
39行目を
http://www.dazzlingworld2.com/post_5371.htmlを参考に LIBS = -lpthread -lboost_system -lboost_thread-mt -lboost_filesystemに変更。
でrecfriio5ディレクトリでmakeすると、b25とrecfriioのバイナリができるはずなんですが。
Recpt1 httpサーバー版とTVTest使用して視聴してますが、BonDriver_HTTP.iniには100チャンネル以上は登録できないんでしょうか 3桁入れるとTVTestでチャンネル表示されないのですが またBS、CS全チャンネル記述するのに手間かかりますが手軽に登録する方法ないでしょうか エクセルで変換してますが、頻繁にチャンネル変わるので・・
784 :
726 :2012/12/02(日) 22:58:53.20 ID:DIyp5h6O
>>782 あっさり make が通りました。
ありがたいやら申し訳ないやら、いや、本当にありがとうございます。
ユーザーやロックファイルの設定後録画テストもうまく行ったので
(なぜか一回目はリアルタイムで b25 に渡せませんでしたが二回目は
OKでした)、バイナリもちゃんと動いています。
ubuntu 12.04 が出て既に半年経とうとしていますから、ネット上で
まとめて書かれた手順は
>>782 だけになるかもしれませんね。
--no-as-neededを追加するよりも
>>738 の指摘のように
Makefile中でライブラリを指定する順番がおかしい方を直すべきじゃないのか
>>785 でリンク順の話がまた出てきたので。
>>755 だけど、あれは間違い。
>>738 が正しいようだ。
長いこと順番を気にしなくていい状況が続いたので記憶が逆になっていた。
申し訳ない。
>>785 是非ともubuntu(11.04以降)で検証して正解へ導いてください。
検証すると
>>726 氏がエラーの状況をちゃんと伝えていないのも判りますので。
ここ最近、dmesg上に以下の様なエラーが表示されて、 mythbackendが落ちることで悩んでいます。 mythbackend[2077]: segfault at ef81beef ip b70af5ef sp a1cf8270 error 5 in libmythtv-0.24.so.0.24.0[b6d8b000+99e000 mythtv 0.24.3 (ISDBパッチ済み) + fuse 0.4.8で使用しているのですが、 どの部分の不具合でmythbackendが落ちてるのか特定する方法はあるのでしょうか? とりあえず、mythbackend -v allで詳細なログを取ってみるとEIT関係が怪しいのですが・・・
>>788 自分の環境ではmythbackendよりもfuse_b25(0.4.8)のほうが
落ちる頻度が高いな。といっても数週間に1度だけど。
録画時間中に落ちてる訳じゃないので、やはりEIT関係かなと思ってる。
>>789 確証は今のところ無いのですが、やはりEIT関連が怪しそうですね。
まだ特定は出来てないのですが、NHK総合の番組データを受信時に落ちてる可能性あり。
NHK総合のエアガイドのチェックをOFFにしたら、安定しました。
ARIB外字関係なのかなぁー
>>783 同じ環境で、自分はちょうど100チャンネル登録してる。
試しに1チャンネル追加して101チャンネルにしてみたけど、問題なく視聴できた。
チャンネルの更新は、自分はPerlスクリプトでやってる。実行すれば ini ファイルが作成(上書き更新)されるように。
スクリプトが参照するチャンネルのデータ を更新する手間は省けないので、それ以上簡単な方法を求めているのなら
自分はわからないけれど。
どこかからデータ自体を取ってこれたらもっといいんだけどね。epgdump で取得できる BS、CSのEPG情報(?)から
チャンネル情報を取得する方法が考えられるかもしれない。
792 :
login:Penguin :2012/12/05(水) 07:57:06.35 ID:VuEkCakb
stz版epgrec+recpt3で録画を実験しています。 最初は予約したチャンネルが録れないことに悩んでいたのですが、 avconv でTSファイルを調べたところ、複数のチャンネルがまとまって 入っていることに気づきました。(馬鹿ですね。) avconv の -mpegts_service_id オプションで、TSファイルをチャンネル 毎に分割しようとしてたところ、 [mpegts @ 0x174d760] aac bitstream not in adts format and extradata missing av_interleaved_write_frame(): Operation not permitted というエラーで怒られてしまいます。これ対処方法あるのですかね? do-record.sh では、MODE=0 のときは、SID指定なし、MODE=1 のときは、SIDを 指定するようにしていたので、MODE=1で録画するようにすれば問題は解決なのでしょうが、 今まで録りためたTSファイルをどうしたものか… stz版では、do-record.sh.pt1 の MODE=0 は、"-sid epg" が入っているんですが、 これを指定したほうがいいのでしょうか?
793 :
792 :2012/12/05(水) 08:30:08.30 ID:VuEkCakb
avconv でTSが分割できなくても、tssplitter_lite でできること 気づきました。 でも、avconv -i でts を見ると、 Program 55 ... Program 218 ... Program 219 ... Program 326 ... と出てくるのですが、どれが所望のプログラムIDなのかわかりません。 epgdump.c には、たとえば「衛生劇場」は static STATION csSta[] = { .... { "衛星劇場", "1005.ontvjapan.com", 28768, 7, 222}, .... とあるんですが、この222は関係あります…?
>>789-790 最近EITの文字列中に制御文字(0x01..0x19など)が入ってると変換エラーになることを発見しました
意外なことに文字の大きさ変更などで結構な頻度で入ってます。
gstreamerの方で気付いて修正したのですが fuse_b25にも同様の問題があるはずなので
多分これが原因で落ちてるんではないかと思います
どちらもまだリリースしてないのですが fuse_b25自体が違法になったっぽいので
近々誰か奇特な人が例のネットにでもごにょごにょしてくれるのを期待しましょう;)
>>794 GJ! 修正内容だけでも上げてほしいな
どこの部分かは自分で見付けるから
797 :
790 :2012/12/05(水) 22:11:15.63 ID:pr5cI4G0
>>794 なるほど!
これからfuse_b25のソースを追ってみます。
パッチの形で上げるなら、たぶんセーフなんじゃないのかなぁ?
798 :
794 :2012/12/06(木) 00:46:35.80 ID:5v7hTpQF
>>796-797 すみません 最近のソース眺め直したところ、制御文字の件については既に対応済みのようでした
b24str.c::aribstr_to_utf16() で
<code>
if (!(source[i] & 0x60)) /* skip C0 or C1 */
continue;
</code>
になってる場所がそうです
後 テキストの頭で変換できない(エラーが起きる)と
'\x11 \0' というちょっと妙な文字列が返っちゃうことが問題になってるのかも...
(\x11は移行の文字列がUTF16BEであることを示すマーカ)
MythTVを使ってないので はっきりしなくてすみません
>>792 epgrecのstz版使っているなら、epgdumpもrecpt1(pt3もドライバさえ用意すれば動くよ)も
同じstz版使えば済む話では?
ちゃんとsidを自動で指定して録画してくれるし、なんでavconvをわざわざ使おうとするかが謎。
暗号解除キタ━(゚∀゚)━!
fukumen版 mythtvで、きになる点があるので知っている方がいらしたら教えて頂きたく・・・
ttps://github.com/fukumen/mythtv/wiki このページに記述のある
'----------
将来mysqlが4バイトのUTF-8を通すようになった場合は、mythtv/libs/libmythtv/mpeg/isdb_decode_text.cのコメントアウトされている
USE_UNICODE_SQUAREDCJKを有効にすれば当初予定していたUnicode準拠の変換になります。
'----------
なんですけど、指摘部分を有効にしてビルドすればすぐ使えるのですか?
mysqlは、5.5.3以降で4バイトのUTF-8が利用可能なようです。
しかし「utf8mb4」じゃないとダメらしいので、mythconvergを変更しなくては対応できない?
>>801 だいぶ前に、mysqlがutf8mb4で4バイトutf対応したのでためしにやってみた。
そんときに、mythwebあたりだったかでphpがutf4に対応しきれてなくて番組表が正常表示できなかったのと、
eitスキャンの番組情報の分割が正常にできてなくて使いもんにならなかったと記憶している。
>>802 なるほど、下手にイジらない方が良さそうですね。
>>798 と言うことは、
>>788 の件は制御文字の処理関係でエラーが出てる可能性は低そうですね。
MythTVて、gdbみたいに何処で落ちてるのか特定する方法無いのかなぁ〜?
804 :
803 :2012/12/08(土) 23:04:10.87 ID:lNlGb+gY
ちゃんとググったら、gdb使ってデバッグ出来るらしいです。
※公式wikiに出ていた・・・orz
ttp://www.mythtv.org/docs/mythtv-HOWTO-22.html $ vi ~/gdbcommands
handle SIGPIPE nostop noprint
handle SIG33 nostop noprint
set logging on
set pagination off
set breakpoint pending on
break qFatal
set args -l myth.log -v all
run
thread apply all bt full
set logging off
$ gdb mythbackend -x gdbcommands
>>803 ulimit -c unlimited を実行したシェルでmythtvやfuse_b25動かしてコアダンプが取って
gdbでそのcoreを読み込んで落ちる場所を教えてもらえれば デバッグが捗ります
mythtvやfuse_b25を-gオプション付きで再コンパイルする(CFLAGS=-g make)必要があるので
ご面倒ですが できればよろしくお願いします
806 :
803 :2012/12/09(日) 18:19:21.65 ID:aTWXxYE5
>>805 返信ありがとうございます。
当方、ISDBパッチを当てたMythTV0.24.3野良rpmを使っているため、specファイルを以下の様にして再ビルドしてみました。
'----------
make %{?_smp_mflags}
↓
make %{?_smp_mflags} CFLAGS=-g
'----------
$ rpmbuild -ba mythtv.specしたところ、libavformat/mpegts.oの所でビルドエラーが出ました。
CC libavformat/mpegts.o
libavformat/mpegenc.c: In function 'flush_packet':
libavformat/mpegenc.c:924:9: warning: passing argument 4 of 'av_fifo_generic_read' from incompatible pointer type [enabled by default]
./libavutil/fifo.h:77:5: note: expected 'void (*)(void *, void *, int)' but argument is of type 'void (*)(struct ByteIOContext *, const unsigned char *, int)'
CC libavformat/mpegtsenc.o
libavformat/mpegts.c: In function 'pmt_cb':
libavformat/mpegts.c:1131:5: error: 'for' loop initial declarations are only allowed in C99 mode
libavformat/mpegts.c:1131:5: note: use option -std=c99 or -std=gnu99 to compile your code
libavformat/mpegts.c:1367:22: warning: initialization discards 'const' qualifier from pointer target type [enabled by default]
make[1]: *** [libavformat/mpegts.o] Error 1
make[1]: *** Waiting for unfinished jobs...
make[1]: Leaving directory `/home/hoge/rpm/BUILD/mythtv-0.24.3/mythtv-0.24.3/external/FFmpeg'
make: *** [external/FFmpeg] Error 2
エラー: /var/tmp/rpm-tmp.xMh99p の不正な終了ステータス (%build)
CFLAGS=-gを外してmakeすると、ビルドは通ります。
MPEG-TS関係が正常にビルド出来てないのが落ちる原因でしょうか?
>>806 mythtvはautomakeに対応してないみたい
%configure の行に --extra-cflags=-g
をつけてやってみてください
おとなしく指示通りに CFLAGS=”-g -std=c99” にすればいいんじゃなイカ?
811 :
803 :2012/12/11(火) 18:02:17.37 ID:qY5EUVBw
返事が遅くなり、申し訳ございません。
>>807 とりあえず、fuse_b25 0.4.8(CFLAGS=-g追加)とMythTV 0.24.3(--extra-cflags=-g追加)の
rpmを作成して、現行分と差し替えしました。
そして、以下のとおりに実行
$ ulimit -c unlimited
$ sudo /etc/init.d/fuse_b25 start
$ sudo /etc/init.d/mythbackend start
この後は、具体的にどうすればよろしいでしょうか?
>>808 gitの0.24.3用の標準specにISDBパッチを当てる箇所を追記して使っています。
そのspecを使うと、--enable-debugがONの状態でrpmが出来上がります。
$ rpm --eval '%{optflags}'
-O2 -m32 -march=i686 -mtune=generic -fasynchronous-unwind-tables -fno-strict-aliasing -fno-schedule-insns2
で、-gは無いようです。
>>809 それをそのまますると、今度は別の場所でビルドエラーになります。
そのため、%configureに--extra-cflags=-gする形でrpmを作りました。
813 :
803 :2012/12/13(木) 09:52:06.24 ID:+uA9/LPz
>>812 >>811 のulimitを使った方法ではcoreファイルが作られなかったので、
>>804 の方法で実行しmythbackendが停止し、gdbの入力待ちの状態で
btとinfo threadsを実行してみました。
※この時、作成されたファイル「gdb.txt」と「myth.txt」を以下にアップしておきます。
gdb.txt:
ttp://kie.nu/CQW myth.txt:
ttp://kie.nu/CQY btとinfo threadsの実行結果は以下です。
↓
814 :
803 :2012/12/13(木) 10:01:49.03 ID:+uA9/LPz
※直接貼り付けようとしたのですが、文字数が多いためダメでした。
そのため、同じようにアップしておきます。ご参照ください。
bt_info_threads.txt:
ttp://kie.nu/CQ_
bt見ました > #4 parse_dvb_event_descriptors (list=std::vector of length -418576961, listの長さがおかしいし、 dvb_decode_text()へ渡されてるテキストもおかしい(変換前の文字列としても)ので これ以前に EITのディスクリプタを壊してるのが原因みたい fuse_b25側のせいかどうか もう少し調べてみます
816 :
803 :2012/12/14(金) 17:15:39.59 ID:xAniYbCg
817 :
815 :2012/12/14(金) 23:33:26.57 ID:Sm2MBJbC
やっと原因がわかったので報告 EPGでの表示される番組内容とかの情報は、 EIT内で「拡張形式イベント記述子」というデータ構造を使って記述されているんだけど、 1つの記述子に指定できるテキストの長さが220Byteに制限されているので、 最大2つの「拡張形式イベント記述子」に分割して送ってもよいことになっている(計440Bまで)。 このとき分割して記述した後半のテキストは テキスト変換の"呼び出し状態"も引き継ぐこととなっている[ARIB-TR-B14 31.3.2.11 (項目記述の運用) p.4-333 参照] で、これは実装するのがちょっとややこしいからか、この変態仕様自体が見過ごされていたためか、 現在のMythTVの変換ルーチン(fuse_b25もだけど)では呼び出し状態は引き継がれていない。 そのため正規のデータでは本来起こり得ない変なデータ列を処理することになって、 isdb_decode_text.cの中ではそこまでエラーチェックをしてないので配列外にアクセスしてSEGVで落ちる ということみたい 今回実際に落ちてる例では (見えてる番組内容でググったところガンダムSEED: PHASE-29「さだめの楔」と思われる) 番組内容記述の"ガンダム奪取作戦に遭遇し…。"という部分の"戦"と"に"の間で分割されている。 より正確には"戦"の字の後に"\x19"(SS2)という制御文字(次の1文字のみ「1Byteひらがな」であることを指示)までが前半に含まれているんだけど、それが後半部分に引き継がれないので、 先頭の文字が(1Byteひらがなでなく)通常の2Byte漢字だと思って処理して、 1文字ずれた上におかしな値のデータが現れたりしてしまって12文字目の\x89というデータで isdb_decode_text.c::convert_str_kanji() line 1409 でアンダーフローを起こし 1417行でSEGVとなります 私自身はMythTVは使用しておらずパッチにも関与してないので 作者さんの方に(gdb.txt と)これを連絡して 対応をお願いされるといいと思います # fuse_b25の方でも対応したいと思いますが、 どのみちこのMythTV (fukumen版?)を使ってMythTV側で変換している人は、 fuse_b25での変換機能は使わないはず
819 :
803 :2012/12/15(土) 21:50:55.14 ID:D8qJusK2
>>817 解読作業お疲れ様です。
MythTV側で適切に処理するためには、呼び出し状態の処理を
追加しないとダメなんですね。
ISDB対応版の元を作成したfukumenさんが、更新を2年前から行ってないので
連絡すら取れるかどうか・・・。
テキスト長が220byte超える場合はそこで処理をスキップさせるか、
fuse_b25で対応して頂けるならEIT処理はまかせて、処理したデータだけ受ける形が良いのかなぁ〜?
とにかく、素人の私にはお手上げですね・・・orz
>>819 一応分割したイベント記述をスキップするパッチを作ってみました
http://www1.axfc.net/uploader/so/2716510.zip 解凍して
cd mythtv/libs/libmythtv/mpeg
patch -p0 < PATH/TO/skip-split-desc.diff
make
か, RPMを使う場合はskip-split-desc.diffをSOURCES/に置いて.specファイルを編集して
Patch100: skip-split-desc.diff
をSource.... のしたあたりに追加、
%setup -q -c -a 1 の下に
pushd mythtv/libs/libmythtv/mpeg
%patch100 -p0
popd
を追加すれば多分おkのはず
821 :
803 :2012/12/16(日) 03:10:27.25 ID:UNzeqqCf
>>820 パッチを作成頂きありがとうございます。
パッチを当てた状態でrpmを作成し差し替えしました。
1時間ほど動かしましたが、今のところmythbackendが落ちることはありません。
イベント記述子をスキップしたため「番組内容」部分が尻切れトンボになるのですが、
安定動作のため致し方無いですね。
これから、2〜3日様子をみたいと思います。
>>820 のパッチをもう少し改良しました
http://www1.axfc.net/uploader/so/2719467.zip 分割されたイベント記述を (後半部分をスキップするのではなく)
つなげてテキスト変換するようにしてみた
パッチ当ては、ソースのtopdirで
patch -p1 < PATH/TO/mythtv-split-itemdesc.diff; make
か、RPMの場合はSource...のしたあたりに
Patch100: mythtv-split-itemdesc.diff
%setup -q -c -a 1 の下に
%patch100 -p1
を追加で。
あと相変わらずこちらでテストしてないので あくまでご参考に、ということで。
パッチエラーやビルドエラーが出たら適宜修正してみて
823 :
803 :2012/12/18(火) 03:17:59.63 ID:wy4SBIZz
>>822 とりあえず新しいパッチを当ててmakeした所、ビルドエラーが出ました。
In file included from mpeg/dvbtables.h:9:0,
from mpeg/dvbtables.cpp:6:
mpeg/dvbdescriptors.h: メンバ関数 ‘QString ExtendedEventDescriptor::ItemText() const’ 内:
mpeg/dvbdescriptors.h:1083:36: エラー: ‘ItemDescription’ was not declared in this scope
make[2]: *** [dvbtables.o] エラー 1
make[2]: ディレクトリ `/home/hoge/src/mythtv-0.24.3/libs/libmythtv' から出ます
make[1]: *** [sub-libmythtv-make_default] エラー 2
make[1]: ディレクトリ `/home/hoge/src/mythtv-0.24.3/libs' から出ます
make: *** [libs] エラー 2
libs/libmythtv/mpeg/dvbdescriptors.hの1083行目を、修正してビルド完了しました。
誤) left -= 2 + ItemDescription + ItemLength;
正) left -= 2 + ItemDescriptionLen + ItemLength;
以上、報告まで・・・動作テストは明日行います。
824 :
803 :2012/12/20(木) 15:49:56.17 ID:s6ykY6VJ
前と全く同じ所でSEGVで落ちてるみたいなんだけど
もしかしてパッチの方を修正せずにrpmbuildしてませんか
rpmbuildを実行する際には先に以前展開したソースツリーを削除しているので
>>823 のようにパッチを当てる先のファイル(dvbdescriptor.h)でなく
パッチ本体(mythtv-split-itemdesc.diff)の方を修正しないと無意味になっちゃいます
と思ったけど よく考えたらパッチのほうが修正されてなきゃrpmbuild通らないよね 失礼しました もう少し見直してみます
829 :
803 :2012/12/21(金) 20:26:32.62 ID:FLDqoMre
>>828 ご対応頂きありがとうございます。
こちらとしては、パッチを作って頂くだけでも助かっております。
いま
>>828 のパッチを当てて動作テストをしております。
1〜2日程度は様子を見て結果をご報告致します。
UNA版使ってみたけどめちゃくちゃ便利だなこれ 分かりやすい導入サイト無くて躊躇してたけど、もっと早くに移行してれば良かった STZ版とかいろいろ亜流あるし、比較サイトとかあればいいんだけどな 俺が作ればいいんだろうけど、知識なさ過ぎて作者に怒られそうだし誰か作ってw
お前が作ったら適当につっこみいれてやるから 心配せずに作っていいよ
wikiにすればええやん
833 :
803 :2012/12/22(土) 20:10:22.43 ID:qbmwzJqt
>>828 のパッチを当てて約1日程度動かしてみました。
mythbackendが落ちることも無く、番組内容の尻切れも無くなりました。
ありがとうございました。
あとは、MythTV環境じゃ現状CSが見られないのと、
fuse_b25に変なエラーメッセージが続いて、落ちはしないけど少し安定感が無いのが気になるかな。
BSのひだまりと武装神姫録画したらひだまりだけ多重音声のトラックが消えてたorz こういうイレギュラーな放送はtssplitter通しちゃダメだね。
ubuntuでsoftcasを使えるようにする方法はありますか?
>>834 tssplitterの種類を詳しく
ちなみにめだかのときは、liteで問題なかった。
録画後、ffmpegで圧縮して圧縮後、元のTSファイル(〜.tmp.ts)を消すためdo-record.shにrm $TEMP_TS記述してるんだけど 一部のCSの番組はTSが削除されず残ってしまいます(圧縮はうまくいきます)。 TSが残る番組はAT-X、日テレプラス、残らない番組は地上波全番組、CSはFOXムービー、ムービープラスHDなどです。 うまくTSを削除する方法がありましたらご教示願えないでしょうか。
すっごい初歩的な所でダブルクォーテーションじゃないの? rm "$TEMP_TS" ほかffmpegもしくは常駐プロセスがキャッシュ作っててロックしてるとか
"" だと囲んだ文字そのものが文字列として渡されてしまうが。 Boune Shell なら ${TEMP_TS} だな。 でもたぶんここじゃないと思う。 よく分からんがエスケープ文字とか空白文字の扱いがうまくいってないんじゃないの? echo $TEMP_TS >> /tmp/hoge.log みたいなのを入れて、ログ吐かさないと何とも言えないね。
>>839 そのものが渡されるのは↓のほうだと思うのだが…
rm '$TEMP_TS'
${TEMP_TS}みたいな記述は単に変数名をそれにつづく英数字と分離するための記述かと
実際のとこ
>>837 がdo-record.shをどう改変してるか分からんし
最近のディストリは"#/bin/sh"の解釈が厳密になる傾向にあるので自信はないが。
>>838-839 ありがとうございました、rm "$TEMP_TS"にしたら、AT-Xでtmp.ts削除されました!!
(
>>839 さんごめんなさい。${TEMP_TS}ではうちの環境では削除されないようです。ちなみにcentos6.3です。)
""がなくても地上波他ほとんどの番組でtmp.tsファイル削除されてたので、まさかそれが原因とは思いもよりませんでした。
(書式間違えてたら全番組削除されないだろうと思い込んでました。)
すっごい初歩的な話しですんまそん・・。はーすっきりしたー。
ファイル名のスペースが展開されちゃって別引数になってたとか
シェルスクリプトでは、特別な理由がない限り常に変数は "" でくくっておくのがいいよ。 あと、"$*" と "$@" の違いも理解しておくといいと思う。
>>839 なんというかepgrecのサンプルスクリプト自体がそれと同じ誤解をしてるようだな
Linuxだと空白つきのディレクトリ・ファイル名は避ける傾向が強いから気づかないのも止む無しか
シェルの単語分割と{パラメータ,変数}展開についてbash(1)を見ればいいと思うよ
>>836 >>2 の一番上のドライバに確か3ch←→1ch切替ののパッチを当てたような当ててないような感じです。
最新版にしてる?
Mythweb + sambaな環境で、WMP12を使って視聴しています。 Mythweb上から4GB以下のファイルは問題なく再生できるのですが、 4GB以上だとファイルが開けなくて再生できません。 ネットワーク上のsamba共有フォルダを開いて、直接録画ファイルをクリックすれば 4GB超えていても普通に再生できます。 こういった場合、どこを修正すれば良いでしょうか?
samba経由に対して、webブラウザは何を通してアクセスしているか考えてごらん というか、スレ違いでしょこれ
>>849 それはブラウザーの設計に依存。
ちょっと古いieを使ってたりするとそーなる。
ちなちゅいいな デーモン登録してjsonいじるだけで使えるじゃん systemd用のサービスファイル作る必要があるけど ステマする
epgrecで久しぶりにキーワード予約しようとおもったら、 何を入れても予約内容がが「*、使わない、すべて、すべて、すべて、なし、なし、Full TS」になっちゃう・・・。 どなたか経験のある方いらっしゃいますか? 46、47番目登録して、48番目からそうなってるから予約数の問題なのだろうか・・・。
>>853 登録した直後のページの表示がおかしいね。うちもそうなる。
データベースに登録が終わる前にデータを読んでいる様な気がするが…
とりあえず、再表示させてみればきちんと登録されてるので、大丈夫。
>>855 バージョンがGit最新版ならバグだよ
登録直後にupdate()が必要
このバグ、他の個所にもいくつかあるよ
>>854-856 なるほど、それなら安心しました。
実際に読み直したら直ってますね。
ありがとうございます。
確かにgitから持ってきた奴です・・・はい。
PT3を2枚録画サーバーに刺してRecpt1 httpサーバー版+epgrecを稼働させ、2台のWindows7機からTvtestで視聴しています。 一方の7機で視聴してる時、もう片方では視聴できないのですが、そういうもんなんでしょうか? また、2台のPCで視聴するようになってから(といっても交互にですが)epgrecで番組情報が取得されなくなることがよくあります。 どなたかアドバイスのほどよろしくお願いいたします。
859 :
login:Penguin :2013/01/02(水) 23:38:46.46 ID:S55AwZZW
tssplitter_lite Ver.0.0.0.1で変換すると、bitrateや音声のkb/sの値が変わりますが、こういうものなの? <<変換前>> Input #0, mpegts, from 'before.ts' Duration: 03:53:59.10, start: 9550.420533, bitrate: 16127 kb/s Program 4120 Metadata: service_name : service_provider: Stream #0:0[0x111]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p, 1440x1080 [SAR 4:3 DAR 16:9], 20000 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc Stream #0:1[0x112]: Audio: aac ([15][0][0][0] / 0x000F), 48000 Hz, stereo, s16, 190 kb/s Stream #0:2[0x116]: Unknown: none ([6][0][0][0] / 0x0006) <中略> Program 4121 <<変換後>> Input #0, mpegts, from 'after.ts' Duration: 03:53:59.01, start: 9550.514711, bitrate: 12042 kb/s Program 4120 Stream #0:0[0x111]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p, 1440x1080 [SAR 4:3 DAR 16:9], 20000 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc Stream #0:1[0x112]: Audio: aac ([15][0][0][0] / 0x000F), 48000 Hz, stereo, s16, 200 kb/s Stream #0:2[0x116]: Unknown: none ([6][0][0][0] / 0x0006)
札幌市なんだけど急に地デジだけ録画できなくなった。CS,BSは問題なし。 TVに刺してるB-CASかーどでもダメ。 何か思い当たりますか?
checksignal で電波は確認できる?
>>861 ありがとです
切り分けてみたら「!」のつく番組名が悪さしてたみたいです。
do-record.shで対策してみたので様子見ます。
ちなちゅにしてみたんだけど ルール設定で削除も更新もできん json直接編集しかまだ対応してないのかな?
>>858 httpサーバ版は2台で同時に見ようと思うとデーモン2つ起動しないと駄目なんじゃないかな
で、epgrecで番組表の取得に失敗するのは視聴に使ってるデバイスとepgrecで使うデバイスがバッティングしてるんじゃないかと。
http視聴版のrecpt1って他のepgrecなんかのツールと相性悪くて使い辛いよね 録画コマンドが実行されたらhttp視聴ストップする機能とか欲しい
>>867 そういえば、CLIで指定する方法もありましたね。
chinachu updateを1回実行したっきりでした。
ジョブ管理が独自実装だから画面で自動予約の取り消しができないときは焦ったけど、
設定したルールに従って予約登録済みのジョブまで一括して整理してくれるのは助かった。
(逆に予約済みの内容が整理されちゃうから予約ルールの定義には要注意って事ですが)
>>864 ありがとうございます。
ポート変えて(8888と、もう片方は8889にしてみました)デーモン2つ起動したところ2台のPCで同時視聴できるようになりました。
両方のPCで別番組が見れて快適です。
epgrecに関しては、今のところ番組表取得も録画もエラーは出ないようです(まだ半日ですが)。
しばらくこの状態で使用してみて不具合が出るようだとまたご報告いたします。
助かりました(__)
debian の 2.6.32-5-686-bigmem で PT2 を pt1-7662d0ecd74b のドライバで使っています。 checksignal 22 するとC/N比が29〜31dBから20dBくらいに瞬間的かつ不定期に落ちます。 これが起こるのは22ch(TBS)だけなのですが、ソフトが原因でこういうことが起こる可能性はありますか?
普通に考えたら電波の問題
うちではLANケーブルとアンテナケーブルを近づけるとCN低下あった
>>868 WUIからルール設定できるようになっとるで
おいらはフェライトコア付けまくり プラシボかもだけど
うちは共用アンテナ、フェライトコア、ケーブルぐちゃぐちゃの条件でBS-TBSがC/N平常15前後、たまにブロックノイズだよ。 受信失敗して音声すら出せなくなったところを飛ばしたりするとスタジオが爆笑してたりとかもザラ。 近々引っ越す予定だけど、ほんと嫌になるわ。
>>873 ほんとだ、早速更新してみる
>>875 ブースター入れたほうがいいんじゃないの?
ケーブル引かれてるところくらいじゃない?よく安定することろって
でもうち(埼玉)はTVKが時と場合によって完全にアウトだったりするけど
>>876 ブースターってC/N改善したっけ?
信号強度が弱い時にそれを増幅するものってことぐらいしかわかんないんで、
正直PT3からのLNBとの違いがいまいちよくわかんない。
checksignalではC/N以外の情報が出てこないんで、そのへんの数字は出したこと無いんだよね。
アナログ時代はノイズのパターンで原因が特定できたりしたもんだが
chinachuがどんどん成長してる。
ちなちゅ最新にしたけど ルール設定のフォームはメニューから下の編集関連のとこさわっても 反応しなくなったな…
>>880 メニューから下の編集関連とは?
普通に動いてるぞ
>>881 設定済みの項目と新規作成、
スケジュール更新の場所をクリックしても反応しないのね
作業したのが出勤前で時間無かったから
家帰ったら調査してみるけど
git pullで更新したのがダメだったのかと思って一旦、
config、ruleだけ退避して新規作成してもダメだった
ほほう、データベース面倒だからチナチュには期待してるのだが
>>882 ブラウザが古いJSキャッシュ読んでるせいかもしれないな。
一度クリアしてから試すんだ。
これで治らなかったらー... ブラウザ?
browser localの環境を疑うのであればシークレットウィンドウで試すのがよい
>>881-884 アドバイスありがとうございます。
どうもブラウザキャッシュが原因ようです。
会社から帰ってきてPC起動してみたら普通に操作できた・・・orz
887 :
login:Penguin :2013/01/13(日) 00:39:01.82 ID:bYbSEnL9
epgrec を使用していて、SQLに詳しい人がいたら教えていただきたいんですが epgrec の storeProgram.inc.php 内の 140行目あたり(storeProgram関数内) 「"WHERE program_disc = '".$program_disc."'"」で引っ掛けるのと 「"WHERE channel_disc = '" . $channel_disc . "' AND program_disc = '".$program_disc."'"」 見たいな感じで、早急に場合分けできる、チャンネルで分けて、引っ掛けるのはどちらがSQLの処理的によいのだろう… (※program_disc、channel_discにはインデクスを張っている前提で) 最近SQLにちょっと興味が出てきたもので、詳しい人の意見が聞いてみたくなったもので… よろしくお願いします。
インデクス有りならprogram_discだけでいいだろ channel_discはカーディナリティが低いだろうし
>>887 WHEREの条件の順番なんてカンケーネーよ。
それよりもプレースホルダ使えや、いつSQLインジェクションの
脆弱性が発生してもおかしくないだろ。素人にしか見えんぞ。
MySQLで明示的ににインデックス使いたいならuse indexとか使う MySQL以外だと他の指定方法になるからDBごとにコーディングしないといけない ほんとに興味出てきたならここでなくDB板の初心者スレとか行ったほうがいいと思われ
whereの順番は関係あるぞw
クソみたいなコードだなw
>>890 > use indexとか使う
普通は使わない。オプティマイザの判断が
明らかに間違っているという時にだけ使う。
>>891 関係ねーよ。オプティマイザが勝手に判断するだろ
なんのためのオプティマイザだと思ってるんだw
>>893 だから明示的に使いたいならって書いてあるじゃねーか
あとデータの件数って1000件程度じゃねーの? その程度ならインデックス使わないほうが速い。 とはいってもインデックス作るなということじゃない。 作ってていい、インデックスを使うか使わないか データベース自身が統計情報使って勝手に判断するから ANALYZEやOPTIMIZEも忘れずにな 本気でやるのならEXPLAINとか使ってちゃんと調べてみろ。
896 :
887 :2013/01/13(日) 16:39:49.43 ID:bYbSEnL9
>>888-895 レスありがとうございます。
真面目にSQLの勉強をしようと思います。
>>395 >あとデータの件数って1000件程度じゃねーの?
番組の件数を調べてみたら35628件ってでました。
以下はEXPLAINの結果です。
WHERE だけの場合
+------+------------------+------------------+---------+-------+------+--------------------------+
| type | possible_keys | key | key_len | ref | rows | Extra |
+------+------------------+------------------+---------+-------+------+--------------------------+
| ref | idx_program_disc | idx_program_disc | 386 | const | 1 | Using where; Using index |
+------+------------------+------------------+---------+-------+------+--------------------------+
WHRERとANDの場合
+------+---------------------------------+----------------+---------+-------+------+-------------+
| type | possible_keys | key | key_len | ref | rows | Extra |
+------+---------------------------------+----------------+---------+-------+------+-------------+
| ref | program_ch_idx,idx_program_disc | program_ch_idx | 386 | const | 1 | Using where |
+------+---------------------------------+----------------+---------+-------+------+-------------+
出力結果については、今ひとつピンと来ませんが、
理解できるように勉強しようと思います。
以上、スレ汚しすいませんでした。
速さもいいけど、プレースホルダ使ってくれ。 基礎がちゃんと抑えてないコードを見ると よくたくなくなる。
>>897 こんな所でぐだぐだ言ってないで
自分で修正してパッチを投げろや
中の人は、セキュリティ関連の修正はしないぞ
聞かれたからソース見ただけ、 俺がパッチを投げるのは 俺が使いたいと思ったアプリだけだ。
地デジの23だけ録画できない・・・ これってもしかしてPT2の寿命きた?
PDOでプリペアドステートメント使うようにしたことあったけど、 全然速くならなくて調べたら使ってたmysqlのバージョンでは キャッシュが効かないことがわかってがっくりきたので捨てた。
プリペアドステートメント使わなかったら めんどうじゃん。
そもそもPHPに録画予約任せるのが常軌を逸している
ディストリの種類を問わず安定な環境構築の資料が山ほどある組み合わせで筋はいいと思うがなぁ 通例攻撃の最前線に晒されるとこで使われる言語だしこれで飯食ってるのも多いから ちょっと変なコード書くとまあ叩かれる叩かれる
>>877 今更ですが、うちもchecksignalしてみたら、16.876797dBでした。
でも録画失敗したことはいまのところないですね。
chinachuは録画中止しても履歴まで削除すると録画がまたスタートしちゃうんだな。
あと直近修正からかわからんけど、時間帯設定が0時またがりできなくなってる。
例えばsampleの23-4という設定だと0-4に修正されちゃうから要注意。
ところで、chinachuにしたことでdlna関係も極力mySQL使いたくないからできればmediatomb以外にしたいけど
他にオススメってありますかね?
906 :
803 :2013/01/14(月) 19:45:38.46 ID:gmw1aQ75
>>905 WUIでの設定で0時またがりができないバグがあったので修正しました。
どんな録画サーバ構築しても、録画の一番底辺のrecpt1がずっと古いままだから 大したシステムは出来ない。PCで録画するならlinuxは諦めてWindowsにするんだな。
>>907 あら入れ違いで修正かな
対応早い
>>906 minidlnaは対応フォーマットが分から
なかったから二の足踏んでたけど
試してみます
recpt1に足りない機能は自身が全チューナの使用状況を網羅的に把握することだな 外部からの制御で出来ないこともないが複雑になりがちで気持ちが悪い
>>905 なんと。C/N悪くても録画安定するもんなのね。
引越し先でも同様の症状に見舞われたら嫌なんで、ブースター買うことにしてみます。
>>914 B25入ってるみたいだけどセーフなのかこれ
これUSBチューナのドライバしか入ってないような・・・
Linux対応ドライバ : 2013年2月8日予定になってるけど
昨日見たときはDLもできてたけどな。 ただしUシリーズのんだけやった
>>916 ,918
W3U3とかのページからはダウンロード出来たから、PLEXの中の人が間違えたんだろ
昔っからだけど、wowowの録画でたまーに冒頭のタイトルだけで録画が終わってしまうのは 何が原因なんだろう・・・。
>>920 似たような現象が・・
eogrecのキーワード録画でDOG DAYS(AT-X)録画したら、いつも1分程度しか録画されてないんだけど
手動録画だとちゃんと録画されるんだけどなんでかな?
キーワードをDOGだけにしてチャンネルと曜日を条件にしても同様
予約一覧見ても、17:00:00-18:00:00(01:00:00)となってるのに、もう3回連続で同じ現象が
ログにもエラー出てないし、なんで???
WOWOWの問題、PIDが変わるからだったかな? Full TSで録るのが吉
今はWOWOWもHDだけだし、recpt1のtssplitter_liteもPMTの変更に追従するようになってなかったっけ
do-record.shでエラーコードとかエラー出力をファイルに吐くようにして調べてみたら?
>>923 それがHDだけじゃなく、未契約者向けの広告みたいなの入ってるんだよね。
最新のrecpt1使ってるけど、俺も冒頭だけになるの、ついついやってしまう。
あと、TokyoMXもなるよね。
ちなちゅにDLNAが えっ
>>922 bs/csはsidオプションを削って様子見してみます・・・。
サーバー版でリアル視聴してたら録画失敗してた テスト録画はいつもうまくいくのにいざ本番ではたびたびある やっぱ怖くておちおちリアル視聴できんわ
>>925 見るとしたらrecpt1のログだろうと思って--helpで見てみたのですが
それっぽいオプションが見当たりません
どうやって吐かせたら良いでしょうか?
とりあえず、recpt1が落ちたかどうかログ取ればいいんじゃね?
chinachuのdlnaはサービス登録したけどまだpcとかps3から見えないや。
>>931 recpt1のログ=標準出力
でも、ドロップとか、スクランブルのカウントがみたいなら、ドライバの出力だから
syslogのほうかな
pt1/2じゃなくてpt3使ってるならドライバの標準設定だとなんも出さない設定だから
自分でソースいじってね。
>>930 テストでは視聴中に録画2つくらい同時に始まっても平気なんだが、本番ではたびたび録画失敗したりしなかったり
recpt1 http+epgrec+tvtest+pt2+pt3
どういう条件で失敗するか分からへんわー
やっぱ視聴専用にもう一枚pt3買うべきやろか
>>935 PTxを2枚なら失敗がどちらかに偏ってないか確認した方がいいぞ
特にPT2は、チューニングに失敗するとボード内の他のチューナも巻き込む事がある
まあMBとの相性とかあるかもね
>>936 d
ハードは全然疑ってなかった
しばらく確認してみるわ
そういえば、昔、PT2は 2チューナーのcloseがミリ秒単位で同時になると、片方が使えなくなるとかって話があったね。 ただその場合は、再起動するまでその後もずっと使えないから、この話とは違うけど。 それもあって、個人的に(PT2だけでなく)録画開始時刻は数百ミリ秒程度はずらすようにしてる。
>>932 ,933
ファイル自体を調べてみたところ更新日時と録画長は正常な値なのでrecpt1が落ちてる訳ではなさそうです
ただ再生しても映像も音も出ず解像度が720x480になってしまっている不思議な状態です
PT3なのでソース弄らなくてはいけませんね…
>解像度が720x480 マルチ編成の切り替えタイミングで何かが起きてるのかも。 Eテレとかで頻繁にマルチしてるからテストしてみたら。
>>940-942 回答ありがとうございます
>>942 のURLによるとMBSが正常に録画出来ないとのことでしたが
同じTBS系列のCBCだけ先の症状が起きていることが分かりました
CBCだけsidオプションを外して試してみます
WOWOWの問題、無料・有料の切替でも落ちてたな、そういえば。
PATの変更に追従しないからかな?
ちゃんとrecpt1の最新版つかってる? B25を0.2.5にしてる? SD<->HDでも問題ないし有料・無料の切り替えでも大丈夫だよ
>>946 最新版って
>>2 のどれの事?
recpt1で録画or視聴中にepgをリアルタイムで出力させて数時間分だけでもepg情報の更新掛けられたらいいなあ。
録画中のTSにepgdumpでもかければいいでしょ。3分でだいたい全部取れるよ
エスパー募集です。 ほぼepgrecがうまく動いているのですが、do-record.sh で「MODE=1 で ffmpeg でエンコードしたときだけ」 at のキューの、do-record.sh の次の recomplete.php と gen-thumbnail.sh が実行されないのです。 (この3つが本来実行されるものです) at や sh の仕様がよくわかっていないのか、どうも原因が探り当てられません。 試しに at に出すキューを書き換えて、wrap.sh という /install/path/do-record.sh /install/path/recomplete.php $1 /install/path/gen-thumbnail.sh ラップだけにしてみたらうまくいきました。 ffmpeg のコマンドも do-record.sh も $? は 0 が返っています。 ffmpeg 部分は >/dev/null 2>&1 したりしても同じでした。 do-record.sh終了時でatが終了してしまう原因、何か思い当たりませんでしょうか。
エスパーです! 時給いくらでしょうか?
エスパーです! atにwww-なんとかをオケにした?削除するだけだけど
目には目を エスパーにはエスパーを こうですか?><
wwwかapacheにメールが来るだろう。 なんか書いてないか。
recpt1とepgrecの最新かつ亜流のナイス機能を誰かまとめて (´・ω・)
>>949 at のキューに、do-record.sh recomplete.php gen-thumbnail.sh が登録されてるってことだから、
指定時刻になると、それらが実行される。
例えば、それぞれ 19:00 にキューが入っていた場合、
1つずつ解決されるわけでなく、19:00 に一斉に実行される。
recomplete も gen-thumnail も do-record 実行後に実行されることを想定してるから、
うまく動いてないように見えるのかと。
なので、do-record.sh 内から、recomplete などを呼び出す用にすればいいのでは?
と、エスパーしてみる
queue のクラスを明示すると順次実行されますよ。 b (小文字)は、除く。
エスパーです エンコの元ファイルを削除・リネームしてるから
>>955 おれも0.2.5だけどでるんだよね
ソース比較してみるけど
960 :
949 :2013/01/22(火) 10:47:32.17 ID:5lcgClIn
たくさんのエスパーの皆さんありがとうございました。
一応、"printfデバッグ"(echoデバッグ)やりまくりはしていたつもりで、
そうすると at が標準出力に出したものは wwwrun からのメールとして root にメールがきていて
それで確認していました。(同時に >> $LOGFILE も)
それによるとffmpegでエンコードをしたときだけ2、3番目のコマンドを実行していないように見えるのです。
>>956 この at の仕様が理解できていなかったのかもしれません。
1つのキューの複数行は/bin/shなスクリプトとして上から順に実行されるものとばかり思っていましたが
そうではなく、いっぺんに実行されるんですね。コマンドで&をつけて実行したように。
ご提案の do-record.sh 内から他の2つを実行する方法というのも、結局今の wrap のように
epgrec自体を書き換えないといけないわけですね。
ともかく実験してみます。ありがとうございます。
>>957 なるほど at のクラスを(現在は a のようです)指定する方法も試してみます。
ありがとうございます。
961 :
949 :2013/01/22(火) 10:50:49.66 ID:5lcgClIn
>>958 そこは考慮できているつもりで、
config.php で mode 1 を
1 => array(
'name' => 'low mp4',
'suffix' => '.mp4',
),
としており、do-record.sh では一旦 .tmp.ts に出力後、mp4 へエンコード、その後.tmp.tsは削除としています。
$RECORDER --b25 --strip $CHANNEL $DURATION ${OUTPUT}.tmp.ts >/dev/null
/usr/bin/nice -n 19 $FFMPEG -loglevel quiet -y -i ${OUTPUT}.tmp.ts 中略 ${OUTPUT} >/dev/null 2>&1
atの-qオプションは優先度だけの問題じゃないか。 仮に順次実行してなかったとしたら、do_recordの前のsleepも同時実行されて 録画開始、終了時刻がずれてるはず。
963 :
949 :2013/01/22(火) 14:29:30.31 ID:5lcgClIn
>>962 確かにそうですね。
録画されたファイルを見ると、do-record.sh の $RECORDER の開始自体は
/bin/sleep 177 の後にきっちり実行されているようです。
epgrec使ってないし どういう風にatのジョブが入ってるのかわからんけど ffmpegでの変換が完了するまで時間がかかるから 残り2つのジョブの実行時間を過ぎちゃってるんだと当てずっぽ
質問。 recfsusb2n+epgrec+ubuntu 12.04上で録画環境を構築したのですが、実際に予約を行った後時間になっても録画が始まっていないのか、サムネもTSもできません。 do-record単体の録画視聴はできました。 atqで予約がwww-data名義で入っていました。
まずepgrecのログを見る
>>966 ログをみたところ、録画ジョブが登録されたメッセージはありましたが、録画開始の旨は吐かれていませんでした。
録画済みリストに書き込まれてはいますが実際のファイルが作成されていません。
リストから削除するとログに「未実行の予約を削除といった旨が書き込まれます。
見た感じatで登録されたジョブが実行されないのが原因みたいですが、それ以上はなんとも…
>>967 に追記
/etc/at.denyからwww-dataは外しました。
/etc/passwdのwww-data行も/bin/sh(nologinは無い)となっています。
Ubuntu12.04を使用していますがwww-dataユーザでdo-record.shを走らせると 以下のメッセージが表示され録画したtsファイルが再生できません bcas->init failed Cannnot start b25 decorder fall back to encrypted recording ドライバ周りを固定していないとこの類のメッセージが表示されるそうですが recpt1を直接叩いての録画は正常に行えたので原因が掴めず困っております ちなみにrootでdo-record.shを走らせるとメッセージは表示されませんが tsファイルは再生できないです
んじゃ、まず、do-record.shが起動しているのかどうかから順番に調べたら。
do-record.sh内に、どっか適当なところにlogを吐くようにして、
適当な番組を録画してそれが出てるのかどうかとか。
起動しているというなら、パーミッションとかも怪しいし。
>>970 カードとカードリーダは用意しているか、pcsc_scanでちゃんと出るのかとかを確認してから。
>>972 do-record.sh単体の実行ではログが正常に記録され、tsファイルの再生も可能でした。
録画予約の場合では、ログすら記録されていないので、おそらくdo-record.shは起動していません(atで呼び出せていない
もう少し調べて見ます。
だから、do-record.shの先頭にあるechoを どっかのファイルにtimeと共にリダイレクトで追記していくだけで 動いているかどうかくらいわかるだろ? あるいは、実際にRECORDERを動かしてる行をechoで>>logとかするだけでも充分。
そうそう、俺のやったミスをいくつか挙げると logファイルを置くディレクトリに書き込めなかったとか do-record.shが、www-dataに実行権限がなかったとか。 後のやつは、手動と自動でgetepgが出来たり出来なかったり。 do-record.sh直接実行され、ユーザーが書き換えた後権限を変え忘れると実行できないので . 等を使って別のファイルに書いた本体を読み込むようにした方が安心かも。 読むだけなら別ユーザーのものでも可能にしていることが多いだろうから。
>>974 後者の方法でテストしたのですが…
結果的に原因判明。 dev/nullと/dev/urandomのパーミッションをとりあえず777にすると録画が始まりました。
様子見ます。
phpのtimezone設定漏れだとエスパーしてみる
978 :
955 :2013/01/23(水) 23:43:17.28 ID:hRYfIEzV
>>959 あー、やっぱ出るな。
Full TSじゃないとだめか。
>>978 まだソース比較できてないけど
やっぱりでちゃったのね
まぁ自分の使ってる0.2.5とhgの0.2.5は
ちくたく関数の修正の仕方が違うくらい
だったはずから実質的な差はないし
980 :
970 :
2013/01/24(木) 19:51:57.02 ID:Gp4Ky5BV >>972 rootでdo-record.shで作成したtsが再生出来なかったのは
mode0の記述がデフォルトでSID=epgになっていたからみたいです
rootでpcsc_scanの確認,recpt1の動作確認,do-record.shの動作確認
行いましたが番組表から録画したtsが再生できませんでした
www-dataユーザでpcsc_scanを試してみたらWaiting for~で停止します
www-dataでもドライバのインストールが必要ということなんでしょうか?