【視聴】Linuxでデジタル放送【録画】at LINUX
【視聴】Linuxでデジタル放送【録画】 - 暇つぶし2ch641:login:Penguin
10/03/14 14:15:26 13Xnr+dd
>>638
そうなのか

642:login:Penguin
10/03/14 15:19:56 BOZIAkRP
>>641
if [ 1 = 1 ]=0 ; then echo aaa; else echo bbb; fi
直接コンソールに打ってみ、エラーになるのが判るから

=0が無ければ、想定通りに動くよ
if [ 1 = 1 ] ; then echo aaa; else echo bbb; fi

643:login:Penguin
10/03/14 15:56:26 9MmcKVfC
>>637
これってファイル名変えてもepgrecから削除とか大丈夫なの?

644:login:Penguin
10/03/14 16:21:29 HlcIRZzQ
DTV関係ツールのup266のlinux mplayer DVBパッチの追加パッチ(trunk用)を当てようとしますが
下記のような事になりパッチ先がわかりません。パッチ先を教えてください。1 out of 1 hunk ignored -- saving rejects to file stream/dvb_tune.c.rej
can't find file to patch at input line 51
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|Index: stream/dvb_tune.h
|===================================================================
|--- stream/dvb_tune.h 2010-02-26 23:53:27.386156383 +0900
|+++ stream/dvb_tune.h.new 2010-02-23 19:33:29.178827297 +0900
--------------------------
File to patch:


645:login:Penguin
10/03/14 18:44:22 K7wGzTrr
不明なカーネルパニックが出てます。 ドライバーは最新版です

kernel:Oops: 0002 [#1] SMP
kernel:last sysfs file: /sys/devices/virtual/net/ppp0/statistics/collisions
kernel:Process recpt1 (pid: 10863, ti=cffc0000 task=c8418000 task.ti=cffc0000)
kernel:Stack:
kernel: cffc1e94 00000000 00000000 f64776a8 f4052cd8 00000000 f6454c00 cffc1ea4
kernel: c04b5006 f4052cd8 cca2ea80 00000000 cca2ea80 f4052cd8 f6454c00 cffc1ec0
kernel:Call Trace:
kernel: [<c04b4ec9>] ? exact_lock+0xf/0x16
kernel: [<c06094a9>] ? kobj_lookup+0xba/0x113
kernel: [<c04b4dc0>] ? exact_match+0x0/0xc
kernel: [<c04b5006>] ? chrdev_open+0x3e/0x12c
kernel: [<c04b1219>] ? __dentry_open+0x116/0x1f9
kernel: [<c04b13a4>] ? nameidata_to_filp+0x32/0x47
kernel: [<c04b4fc8>] ? chrdev_open+0x0/0x12c
kernel: [<c04bb4cb>] ? do_filp_open+0x383/0x624
kernel: [<c049bf69>] ? handle_mm_fault+0x321/0x795
kernel: [<c04c322d>] ? alloc_fd+0x58/0xbe
kernel: [<c04b101f>] ? do_sys_open+0x49/0xbf
kernel: [<c04b10e1>] ? sys_open+0x23/0x2b
kernel: [<c0408474>] ? sysenter_do_call+0x12/0x28
kernel:Code: 89 e5 56 53 0f 1f 44 00 00 8b 58 24 85 db 74 1d 64 8b 0d 28 31 9b c0 31 f6 83 3b 02 74 21 8b 93 50 01 00 00 03 14 8d 80 3c 94 c0 <ff> 02 e8 97 c6 0b 00 85 c0 89 c6 75 07 89 d8 e8 26 10 fa ff 89
kernel:EIP: [<c04b4ea0>] cdev_get+0x2c/0x46 SS:ESP 0068:cffc1e48
kernel:CR2: 0000000004c6f000


646:login:Penguin
10/03/14 19:04:45 K7wGzTrr
上のカーネルは
[ディストリ ] Fedora release 11 (Leonidas) 2.630.10-105.2.23.f11.i686.PAE
[ DE/WM ] GNOME
[ gtkmm  ] 2.16.0
[ glibmm  ] 2.20.0


647:login:Penguin
10/03/14 20:06:59 QMJgYMHX
>>644
またtrunkの方が変わったのかも. 後でちょっとまた修正してupしなおします.
別の方法として(お勧め)
svn checkout svn://svn.mplayerhq.hu/mplayer/trunk mplayer -r 29813
で最初からrev29813のソースを持ってくる(その後パッチ当て)という方法もあります
up0266は必要ない はず;)

648:login:Penguin
10/03/14 21:03:38 9MmcKVfC
ほんとだ。テレ朝は放送によってsidが違うお。
ダメなのをvlcで見たら1064がEPGになってて273がメインストーリームになってたお。
とりあえずチャンネルが24だったたらsidオプション無しにしたお。

649:630
10/03/14 23:20:48 QogCJLyf
馬鹿なりにtssplitter_lite.cを書き換えてrecpt1を作り直してみたけど、
だめだった。
recpt1に問題があるのか、テレ朝だけが意地の悪いことをしているのか
分からないけど、とりあえずテレ朝だけsidオプションを使わなければ
いいんだろうね。

650:login:Penguin
10/03/15 02:03:37 q9zw+3+b
今日頑張ったけど、結局ES出力するコード作れなかった
コードレビュ希望ってことでコードここに晒すのあり?
目標は、recpt1でGOPの区切りでTS出したり、TSではなくPSで出したり、
GOP出力の続きで、簡易lipsyncしたりってコードにしたいなと妄想してます

URLリンク(koedo.hanno.jp)

まだ完全に動いているコードではないので、
ここがおかしいよこれ。って指摘出来る人向けのコードです。
協力してくれる人いたらとても嬉しいです…

651:login:Penguin
10/03/15 02:51:05 vVqL7+L+
>>642
うん、たしかにそれだとエラーになって bbb って表示されるよね。
今現在上のコードで番組表の更新が実行されているからてっきり正しいのだと思っていたけど、
else以下のコードでepgdumpも実行されているってことだね。
もしかして--sidオプションつけたらepgdumpでの処理かどうか判断してくれるのかな?

>>643
ファイル名変えていたころに削除を試してないので分からない。

652:login:Penguin
10/03/17 15:57:55 2oeejInD
>>627

テレ朝はストリームIDコロコロ変えてる。

A:Vの組み合わせで
0.7:0.8
0.8:0.7
0.2:0.1
の三つ確認してる。
多分、一部のU局やNHKのようにマルチプログラムやるための布石何だろうけど、使うときは注意必要。

653:627
10/03/17 21:39:53 Ua1AJVQA
>>652
やっぱりそうなんだ。
情報ありがとう。
今はテレ朝だけsidオプションなしでやっている。
他の放送局がテレ朝に追従しなければいいけど。

654:login:Penguin
10/03/17 22:05:57 Q3iqr92D
ストリームIDコロコロかわって
なんで普通のテレビはちゃんと映るんだ?

655:login:Penguin
10/03/17 22:17:30 FlnjF6N+
ちゃんとPATやPMTの更新をみて判断すれば問題無い。
Windows用のアプリにもsidオプションぽっい機能あるがテレビ朝日もちゃんと録画している。


656:login:Penguin
10/03/17 22:32:41 xX0skAM3
どうやって見て判断すれば良いのでしょうか

657:login:Penguin
10/03/17 22:49:00 uj9fnEU8
ISO/IEC 13818を掲示板で説明させるつもりなのか?
聞いてもおまえにゃ無理だよ。

PATみる(PID=0固定)→PMT一覧を取得する
→PMTを取得、プロバイダ知りたければSDTも取得
→自分の意図した*サービスIDの構成から、AV担当のPIDをそれぞれ抜き出す
→必要なPIDのAVのみを別ファイルへ

こんな感じじゃね?面倒だな。
現状の、*の部分を静的なアルゴリズムで実装してあると、
ルールが変わったらどうしようもないよね。

あと、必要ないからと言って特定のストリームを
落としてしまうとせっかくMUXされて平滑化された
ビットレートとSCRが狂うから俺は興味ないわ。

658:login:Penguin
10/03/17 22:53:19 FlnjF6N+
PATもPMTもバージョンNo.を持っていて内容が変わるときにこのNo.も変えるように決まっている。
だから、前回取得したバージョンから変化があったら内容を読み直して保存対象のPIDを変更すればいい。

659:login:Penguin
10/03/17 23:17:14 CSorACMK
>>657
特定PIDだけ取り出すのなら、いっそPS化しろよとは思うものなぁ

660:login:Penguin
10/03/17 23:57:28 LSm3f7R6
>>657
補足
PMT読むときに、ネクストフラグってのが立ってるのがあって、
こいつは、「次の番組」のPMTが入ってる。
録画開始するときに、今の番組を録画するのか、「次の番組」を録画するのか決めて、
判断すればいいのだと思うよ。

ただし、判断の材料にはそれ以外にも、番組の開始時刻情報の解析だとか
いくつか判定条件が必要になるかもね。

>>659
PS出力するコードなら脳内で絶賛書き進めているけど、
実際にコード書く時間が作れなくてもうちょっと待ってね
週末に上げたコードはバグが一つ判明した

661:login:Penguin
10/03/18 00:02:07 7SEcsI7/
recptでのsidってのが何をさしてるのか知らんが
普通はサービスID(=プログラムID)って運用開始後に頻繁に変更しないことってなってて
各PESのPIDはころころ変更されても,サービスIDはほとんどarib tr-14で割り振られてる範囲内で固定なんじゃないの
mplayerでもgstreamerでもchannels.confを見て
指定されたチャンネル名に対応するサービスIDを指定する/できるようになってるし recptとかもそうじゃないの?
特定PIDで指定するっていうよりプログラムID(サービスID)で指定するなら
PIDが変化したって追従してると思うけどな

662:login:Penguin
10/03/18 00:13:33 UZFQFXzo
>>661
チャンネルごとに、サービスIDは固定で認識はあってるよ
recpt1のsid指定もそういう実装になってます

録画開始前に、PAT解析して、PMTから、A/VのPIDを抽出して、
さぁ番組録画開始だ。ってタイミングで、想定していたPIDではない
A/VのPIDが録画しようとしていた番組に割り当てられていた。
というストーリではないかなぁと思っているけど

なので、ネクストフラグに話が落ちてくるのではないかなと思ってますけど、
自分の認識が間違ってるかな?

663:login:Penguin
10/03/18 00:31:04 7SEcsI7/
>>660, >>662
地上デジタル放送(たぶんBSデジタルも)では
current/nextフラグは運用しない(常に1:current固定)ことになってますよ
RSTとかも使用しないのでかわりにEITでの出現を元にすることって規定されてたはず

それはともかくPMTのアップデートによる(動的?)PID変更は追従すべきだと思うけど
サービスIDが固定なら 追従してるんじゃないの?
3xSD編成 <-> 1xHD編成 とかの切り替わりをまたぐならPIDの動的変更は当たり前だし
プライマリの番組を(変更されても)自動で選択したいってことなら
NITで最初に指定されたサービスID(の変更)を監視しなきゃいけないだろうけど

664:login:Penguin
10/03/18 00:37:11 UZFQFXzo
>>663
残念な事に、プロセスが起動して、一番最初に認識したPMTしか
認識しない実装になってます>recpt1
なので、常に上書きで追従する実装に変更する必要があるかもしれませんね
ネクストフラグ入ってこないのですか。情報提供ありがとうございます。


665:tssplitter_lite
10/03/18 01:17:05 +afuxeM5
tssplitter_lite 単体での実装は、最初に検出した PMT を解析して残す
PID を特定しているはずです。たぶん。
なので stream の途中でこのあたりの情報が変わっていることを想定して
作られていません。

個人的に利用するツールとして作成したので、こういうことを詳しく調査
せずに実装しました。
# 移植作業と自分の使いたいように修正しただけですが。

recpt1 に取り込む際に、既存の処理をそのまま取り込んだのであれば
このような実装のままになっていると思います。

666:login:Penguin
10/03/19 12:45:40 F81yLqkE
早い話NHK教育の023対応だからとっととやっといたほうが良いかもね

667:login:Penguin
10/03/20 03:01:02 SDOptfAy
センバツ始まったらNHK教育はマルチやり始めるのかな?

668:login:Penguin
10/03/20 07:24:40 KTrFLKg4
データ量は減るけど、それなら時間がずれることがないな
でも、まだアナログとの兼ね合いでやらないんじゃない?

669:login:Penguin
10/03/21 20:07:22 lYaLybY9
recpt1で録画したファイルをPSに変換していますが、
テンポラリのファイルなしだと上手くいきません。
何かやり方がまずいのでしょうか?

>>467を参考に以下のようなテンポラリありでの変換は上手くできました。
 b25 Src.ts Tmp.ts && ffmpeg -f mpegts -i Tmp.ts -vcodec copy -acodec mp2 -ab 224k -ar 48000 -ac 2 -y -f vob Dist.m2p
しかしテンポラリなしで
 b25 Src.ts /dev/stdout | ffmpeg -f mpegts -i - -vcodec copy -acodec mp2 -ab 224k -ar 48000 -ac 2 -y -f vob Dist.m2p
とすると変換に異常時間を食ってしまいます(テンポラリなしで10分、ありだと数時間でも終わらず)。
開始直後は60fpsぐらいなのですが、だんだん速度が落ちてきてすぐに1桁前半になります。
変換速度が落ちてもffmpegのCPU使用率は99%に張り付いたままです。

670:login:Penguin
10/03/21 20:12:56 z0RQW1TJ
テンポラリ取る方式で運用したら?

パイプはバッファサイズが64KBまでで拡げることもできないから、
パイプでつながずに済む運用方法があるならその方が無難でっせ。

671:login:Penguin
10/03/21 20:15:39 qzAft9CW
fifo使ってみるとか

672:login:Penguin
10/03/21 20:25:05 P0c18dIU
ありがとうございます。

>>671
mkfifoを試して見ましたが状況は変わりませんでした。
ついでに、ひょっとして受け渡しが上手くいかずパイプがつまっているのか?と思い
 b25 Src.ts /dev/stdout | dd if=/dev/stdin of=Fifo.ts bs=100M
などもやってみましたが速度は変化なしです。

>>670
テンポラリを使う方法でも問題はないのですが、
変換時間(動画の長さの1/3弱程度)をもうちょっと早くできないかなぁ、と欲を出してしまいました。
あまりヨロシクない方法のようですので、無難な方法でいきます。

673:login:Penguin
10/03/21 20:55:31 eZoGcIC3
epgrecで作られる番組表ですが、あれをサービスID別で作成する事は出来ないのでしょうか?
BS番組表のWOWOWがそのような形になってるようなのですが、他のチャンネルにも
同じような設定ができないかなと思いまして。
使用しているepgrecは2010年3月1日版です。


674:login:Penguin
10/03/22 01:19:22 gY/K+oPz
>>669
ffmpegの挙動をコードレベルで理解しないままに、
怪しい事をするのはやめておいた方が無難
seekに失敗して無限ループとかしてるかもね

675:epgrecの中の人
10/03/22 11:03:18 l1nnHo4q
>>673
番組表はepgdumpで取れる情報をもとに組まれてますから
ちと難しいですね。

676:login:Penguin
10/03/22 12:03:20 KT+5aRf8
>>674
ffmpeg自身、"-i -"をサポートしているのに、パイプはまずいのだろうか?

677:login:Penguin
10/03/22 12:22:54 BeBN0R5C
ffmpegのmpegts エンコーダって 遅いとかでまだ未完成って状態なんじゃなかったっけ?

678:login:Penguin
10/03/22 13:55:51 QnhZtt7r
>>676
-i pipe:stdin だったかな?の方が良さそう?

679:673
10/03/22 15:06:19 K7anGyye
>>675 さん、レス有難うございます。

最近、やっと録画サーバを構築してみて、非常に便利に
使わせていただいてます。要望等あれば、報告させていただきます。
ありがとうございました。


680:login:Penguin
10/03/24 19:29:59 MwZR66Pi
九州限定だけどNHK総合で金曜にプロ野球のマルチ編成があるな
来年の夏にアナログ切ったら高校野球でもやる気なんだろうな

681:login:Penguin
10/03/24 19:52:17 bhRnvXGI
>>680
もともと数年前にNHK教育はマルチ編成やっていたしねい。

682:login:Penguin
10/03/24 19:58:24 vMUnn3a8
ubuntu 9.10 64bit PT2+epgrec の環境で録画が終わったらサスペンドになるように
するにはどうすればできますか?

683:login:Penguin
10/03/24 20:12:03 FbdeG3g4
recomplete.php に細工かな

684:login:Penguin
10/03/24 20:43:55 XR7EKb3y
>>682
録画が終わったらという以前にPT2を差した状態でサスペンドとかハイバネート
とかできないんじゃなかったか。
PT2からアンテナに電源を供給する設定をしていたらそうなるのだったかな。
うろ覚え。
少なくともおれはサスペンドもハイバネートもできない。
大して気にならないから放置しているけど。

685:login:Penguin
10/03/24 21:38:25 6AF7BY7g
>>682
寝ずの番をする

686:login:Penguin
10/03/24 23:38:14 qnDSn7Jr
>>684
俺のマシンだとPT2ドライバを入れててもサスペンドとハイバネートが出来た
ただし、radeonのAMD謹製ドライバを突っ込んだらダメになったわ
OSは>>682と同じ

687:login:Penguin
10/03/24 23:58:15 XR7EKb3y
>>686
アンテナに電源を供給する設定にしている?
それからドライバだけどrecpt1のほう?
こっちは32bit版のUbuntuでrecpt1だけどだめだな。
intelのオンボードでもnvidiaでもだめ。

688:login:Penguin
10/03/25 00:22:31 ENa4ADRq
>>687
地デジだけだから電源供給なし
Ubuntu 9.10 64bit、recpt1、epgrec
サスペンド出来るときは640x480低解像度のgenericビデオドライバのときだけ

あまりにも画面が狭いからサスペンドするのは諦めたけどね

689:login:Penguin
10/03/25 00:47:36 nR51hild
>>688
やっぱり電源供給ありだとだめなのかな。
その低解像度も厳しいな。
夜中に録画するときはつけっぱにして、2時間後に録画が終わるなら
「sudo shutdown -h +120」とかやっておけばPCも終了してくれるから
それで済ましている。

690:login:Penguin
10/03/25 18:01:43 nR51hild
いつもうっかりするのだが、recpt1はドライバじゃなかったな。
chardev版のドライバを使っている。
DVB版だとサスペンドとかできるのだろうか。
もっともPT2に対応したって話は聞かないけど。

691:login:Penguin
10/03/27 04:27:06 D226vZ5h
サスペンドって録画中に?

692:login:Penguin
10/03/27 14:25:03 SUVZAwTm
録画が終わったら

693:login:Penguin
10/03/27 15:20:13 T1/2euVv
あるいは録画の前に

694:login:Penguin
10/03/27 17:25:21 SnEmUWWc
>>692で電源ボタンを押して、
>>693で電源ボタン押せばいいんじゃないの?

695:login:Penguin
10/03/27 18:33:39 lvTnuLq5
外出中や終身中のときもそれが出来れば苦労はしないが

696:login:Penguin
10/03/27 21:01:48 YwEqRryJ
食べる前に飲む。

食間 = 食べてる間に飲む。

697:login:Penguin
10/03/27 21:19:21 vA35gttt
>>696 がツッコミを待っているような気がするがオレはスルーするぞ。

698:login:Penguin
10/03/27 22:02:41 YwEqRryJ
>>697
orz


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch