1 名前:login:Penguin mailto:sage [2008/12/30(火) 14:48:32 ID:mhuHq0Rz] Linuxでデジタル放送を見たり録ったり。
637 名前:612 mailto:sage [2010/03/14(日) 02:51:06 ID:13Xnr+dd] 北海道でHTBをとるなら、recpt1 --b25 --strip 23 --sid hd 3600 tideji.ts ってなわけで、$RECORDER --b25 --strip $CHANNEL --sid $SID $DURATION ${OUTPUT} でもって今のdo-record.shを載せてみる。pt1ドライバとrecpt1はpt1-d89f0da0a7e4、epgrecは3月日1日版。 俺みたいな超初心者のために残してみる。参考になれば幸だ。 これでepgrecでATXのサービスIDを333、ヒストリーチャンネルに342とかCS16のサービスIDを全て登録したらCSもバッチリだったよ。 ちなみに、epgdumpが正常に動作してるか未確認。 以前みたいに録画後のスプリットで負荷が大きくなることもないし、スクリプトは超短く済むし、スプリットが原因っぽいドロップ?での録画中断もなくなったし今のrecpt1とepgrecはマジ最高 #!/bin/sh echo "CHANNEL : $CHANNEL" echo "DURATION: $DURATION" echo "OUTPUT : $OUTPUT" echo "TUNER : $TUNER" echo "TYPE : $TYPE" echo "MODE : $MODE" echo "SID : $SID" RECORDER=/usr/local/bin/recpt1 B25=/usr/local/bin/b25_bcas FILENAME=`basename "${OUTPUT}"` DIRNAME=`dirname "${OUTPUT}"` #まずはREGZAで再生不能になるファイル名を修正。 〜 を _ に置き換える FILENAME=`echo "${FILENAME}" | sed -e "s/\〜/_/g"` if [ ${FILENAME} = "__temp.ts" ]=0 ; then #epgdumpなのでスプリットしない $RECORDER --b25 --strip $CHANNEL $DURATION ${DIRNAME}/${FILENAME} else $RECORDER --b25 --strip $CHANNEL --sid $SID $DURATION ${DIRNAME}/${FILENAME} fi
638 名前:login:Penguin mailto:sage [2010/03/14(日) 03:26:56 ID:BOZIAkRP] >>637 このスクリプトだと必ずelse側が実行されるぞ
639 名前:login:Penguin mailto:sage [2010/03/14(日) 04:27:08 ID:SBvEr3+g] > 北海道でHTB どうでしょう
640 名前:594 mailto:sage [2010/03/14(日) 05:11:42 ID:1IxdmQGq] >>595 ドライバー最新にしたら録れました ありがとう
641 名前:login:Penguin mailto:sage [2010/03/14(日) 14:15:26 ID:13Xnr+dd] >>638 そうなのか
642 名前:login:Penguin mailto:sage [2010/03/14(日) 15:19:56 ID: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 mailto:sage [2010/03/14(日) 15:56:26 ID:9MmcKVfC] >>637 これってファイル名変えてもepgrecから削除とか大丈夫なの?
644 名前:login:Penguin [2010/03/14(日) 16:21:29 ID: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 mailto:sage [2010/03/14(日) 18:44:22 ID: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 mailto:sage [2010/03/14(日) 19:04:45 ID: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 mailto:sage [2010/03/14(日) 20:06:59 ID:QMJgYMHX] >>644 またtrunkの方が変わったのかも. 後でちょっとまた修正してupしなおします. 別の方法として(お勧め) svn checkout svn://svn.mplayerhq.hu/mplayer/trunk mplayer -r 29813 で最初からrev29813のソースを持ってくる(その後パッチ当て)という方法もあります up0266は必要ない はず;)
648 名前:login:Penguin mailto:sage [2010/03/14(日) 21:03:38 ID:9MmcKVfC] ほんとだ。テレ朝は放送によってsidが違うお。 ダメなのをvlcで見たら1064がEPGになってて273がメインストーリームになってたお。 とりあえずチャンネルが24だったたらsidオプション無しにしたお。
649 名前:630 mailto:sage [2010/03/14(日) 23:20:48 ID:QogCJLyf] 馬鹿なりにtssplitter_lite.cを書き換えてrecpt1を作り直してみたけど、 だめだった。 recpt1に問題があるのか、テレ朝だけが意地の悪いことをしているのか 分からないけど、とりあえずテレ朝だけsidオプションを使わなければ いいんだろうね。
650 名前:login:Penguin mailto:sage [2010/03/15(月) 02:03:37 ID:q9zw+3+b] 今日頑張ったけど、結局ES出力するコード作れなかった コードレビュ希望ってことでコードここに晒すのあり? 目標は、recpt1でGOPの区切りでTS出したり、TSではなくPSで出したり、 GOP出力の続きで、簡易lipsyncしたりってコードにしたいなと妄想してます koedo.hanno.jp/~oyama/recpt1.tar.bz2 まだ完全に動いているコードではないので、 ここがおかしいよこれ。って指摘出来る人向けのコードです。 協力してくれる人いたらとても嬉しいです…
651 名前:login:Penguin mailto:sage [2010/03/15(月) 02:51:05 ID:vVqL7+L+] >>642 うん、たしかにそれだとエラーになって bbb って表示されるよね。 今現在上のコードで番組表の更新が実行されているからてっきり正しいのだと思っていたけど、 else以下のコードでepgdumpも実行されているってことだね。 もしかして--sidオプションつけたらepgdumpでの処理かどうか判断してくれるのかな? >>643 ファイル名変えていたころに削除を試してないので分からない。
652 名前:login:Penguin mailto:sage [2010/03/17(水) 15:57:55 ID:2oeejInD] >>627 テレ朝はストリームIDコロコロ変えてる。 A:Vの組み合わせで 0.7:0.8 0.8:0.7 0.2:0.1 の三つ確認してる。 多分、一部のU局やNHKのようにマルチプログラムやるための布石何だろうけど、使うときは注意必要。
653 名前:627 mailto:sage [2010/03/17(水) 21:39:53 ID:Ua1AJVQA] >>652 やっぱりそうなんだ。 情報ありがとう。 今はテレ朝だけsidオプションなしでやっている。 他の放送局がテレ朝に追従しなければいいけど。
654 名前:login:Penguin mailto:sage [2010/03/17(水) 22:05:57 ID:Q3iqr92D] ストリームIDコロコロかわって なんで普通のテレビはちゃんと映るんだ?
655 名前:login:Penguin mailto:sage [2010/03/17(水) 22:17:30 ID:FlnjF6N+] ちゃんとPATやPMTの更新をみて判断すれば問題無い。 Windows用のアプリにもsidオプションぽっい機能あるがテレビ朝日もちゃんと録画している。
656 名前:login:Penguin mailto:sage [2010/03/17(水) 22:32:41 ID:xX0skAM3] どうやって見て判断すれば良いのでしょうか
657 名前:login:Penguin mailto:sage [2010/03/17(水) 22:49:00 ID:uj9fnEU8] ISO/IEC 13818を掲示板で説明させるつもりなのか? 聞いてもおまえにゃ無理だよ。 PATみる(PID=0固定)→PMT一覧を取得する →PMTを取得、プロバイダ知りたければSDTも取得 →自分の意図した*サービスIDの構成から、AV担当のPIDをそれぞれ抜き出す →必要なPIDのAVのみを別ファイルへ こんな感じじゃね?面倒だな。 現状の、*の部分を静的なアルゴリズムで実装してあると、 ルールが変わったらどうしようもないよね。 あと、必要ないからと言って特定のストリームを 落としてしまうとせっかくMUXされて平滑化された ビットレートとSCRが狂うから俺は興味ないわ。
658 名前:login:Penguin mailto:sage [2010/03/17(水) 22:53:19 ID:FlnjF6N+] PATもPMTもバージョンNo.を持っていて内容が変わるときにこのNo.も変えるように決まっている。 だから、前回取得したバージョンから変化があったら内容を読み直して保存対象のPIDを変更すればいい。
659 名前:login:Penguin mailto:sage [2010/03/17(水) 23:17:14 ID:CSorACMK] >>657 特定PIDだけ取り出すのなら、いっそPS化しろよとは思うものなぁ
660 名前:login:Penguin mailto:sage [2010/03/17(水) 23:57:28 ID:LSm3f7R6] >>657 補足 PMT読むときに、ネクストフラグってのが立ってるのがあって、 こいつは、「次の番組」のPMTが入ってる。 録画開始するときに、今の番組を録画するのか、「次の番組」を録画するのか決めて、 判断すればいいのだと思うよ。 ただし、判断の材料にはそれ以外にも、番組の開始時刻情報の解析だとか いくつか判定条件が必要になるかもね。 >>659 PS出力するコードなら脳内で絶賛書き進めているけど、 実際にコード書く時間が作れなくてもうちょっと待ってね 週末に上げたコードはバグが一つ判明した
661 名前:login:Penguin mailto:sage [2010/03/18(木) 00:02:07 ID:7SEcsI7/] recptでのsidってのが何をさしてるのか知らんが 普通はサービスID(=プログラムID)って運用開始後に頻繁に変更しないことってなってて 各PESのPIDはころころ変更されても,サービスIDはほとんどarib tr-14で割り振られてる範囲内で固定なんじゃないの mplayerでもgstreamerでもchannels.confを見て 指定されたチャンネル名に対応するサービスIDを指定する/できるようになってるし recptとかもそうじゃないの? 特定PIDで指定するっていうよりプログラムID(サービスID)で指定するなら PIDが変化したって追従してると思うけどな
662 名前:login:Penguin mailto:sage [2010/03/18(木) 00:13:33 ID:UZFQFXzo] >>661 チャンネルごとに、サービスIDは固定で認識はあってるよ recpt1のsid指定もそういう実装になってます 録画開始前に、PAT解析して、PMTから、A/VのPIDを抽出して、 さぁ番組録画開始だ。ってタイミングで、想定していたPIDではない A/VのPIDが録画しようとしていた番組に割り当てられていた。 というストーリではないかなぁと思っているけど なので、ネクストフラグに話が落ちてくるのではないかなと思ってますけど、 自分の認識が間違ってるかな?
663 名前:login:Penguin mailto:sage [2010/03/18(木) 00:31:04 ID:7SEcsI7/] >>660 , >>662 地上デジタル放送(たぶんBSデジタルも)では current/nextフラグは運用しない(常に1:current固定)ことになってますよ RSTとかも使用しないのでかわりにEITでの出現を元にすることって規定されてたはず それはともかくPMTのアップデートによる(動的?)PID変更は追従すべきだと思うけど サービスIDが固定なら 追従してるんじゃないの? 3xSD編成 <-> 1xHD編成 とかの切り替わりをまたぐならPIDの動的変更は当たり前だし プライマリの番組を(変更されても)自動で選択したいってことなら NITで最初に指定されたサービスID(の変更)を監視しなきゃいけないだろうけど
664 名前:login:Penguin mailto:sage [2010/03/18(木) 00:37:11 ID:UZFQFXzo] >>663 残念な事に、プロセスが起動して、一番最初に認識したPMTしか 認識しない実装になってます>recpt1 なので、常に上書きで追従する実装に変更する必要があるかもしれませんね ネクストフラグ入ってこないのですか。情報提供ありがとうございます。
665 名前:tssplitter_lite [2010/03/18(木) 01:17:05 ID:+afuxeM5] tssplitter_lite 単体での実装は、最初に検出した PMT を解析して残す PID を特定しているはずです。たぶん。 なので stream の途中でこのあたりの情報が変わっていることを想定して 作られていません。 個人的に利用するツールとして作成したので、こういうことを詳しく調査 せずに実装しました。 # 移植作業と自分の使いたいように修正しただけですが。 recpt1 に取り込む際に、既存の処理をそのまま取り込んだのであれば このような実装のままになっていると思います。
666 名前:login:Penguin mailto:sage [2010/03/19(金) 12:45:40 ID:F81yLqkE] 早い話NHK教育の023対応だからとっととやっといたほうが良いかもね
667 名前:login:Penguin mailto:sage [2010/03/20(土) 03:01:02 ID:SDOptfAy] センバツ始まったらNHK教育はマルチやり始めるのかな?
668 名前:login:Penguin mailto:sage [2010/03/20(土) 07:24:40 ID:KTrFLKg4] データ量は減るけど、それなら時間がずれることがないな でも、まだアナログとの兼ね合いでやらないんじゃない?
669 名前:login:Penguin mailto:sage [2010/03/21(日) 20:07:22 ID: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 mailto:sage [2010/03/21(日) 20:12:56 ID:z0RQW1TJ] テンポラリ取る方式で運用したら? パイプはバッファサイズが64KBまでで拡げることもできないから、 パイプでつながずに済む運用方法があるならその方が無難でっせ。
671 名前:login:Penguin mailto:sage [2010/03/21(日) 20:15:39 ID:qzAft9CW] fifo使ってみるとか
672 名前:login:Penguin mailto:sage [2010/03/21(日) 20:25:05 ID:P0c18dIU] ありがとうございます。 >>671 mkfifoを試して見ましたが状況は変わりませんでした。 ついでに、ひょっとして受け渡しが上手くいかずパイプがつまっているのか?と思い b25 Src.ts /dev/stdout | dd if=/dev/stdin of=Fifo.ts bs=100M などもやってみましたが速度は変化なしです。 >>670 テンポラリを使う方法でも問題はないのですが、 変換時間(動画の長さの1/3弱程度)をもうちょっと早くできないかなぁ、と欲を出してしまいました。 あまりヨロシクない方法のようですので、無難な方法でいきます。
673 名前:login:Penguin mailto:sage [2010/03/21(日) 20:55:31 ID:eZoGcIC3] epgrecで作られる番組表ですが、あれをサービスID別で作成する事は出来ないのでしょうか? BS番組表のWOWOWがそのような形になってるようなのですが、他のチャンネルにも 同じような設定ができないかなと思いまして。 使用しているepgrecは2010年3月1日版です。
674 名前:login:Penguin mailto:sage [2010/03/22(月) 01:19:22 ID:gY/K+oPz] >>669 ffmpegの挙動をコードレベルで理解しないままに、 怪しい事をするのはやめておいた方が無難 seekに失敗して無限ループとかしてるかもね
675 名前:epgrecの中の人 mailto:sage [2010/03/22(月) 11:03:18 ID:l1nnHo4q] >>673 番組表はepgdumpで取れる情報をもとに組まれてますから ちと難しいですね。
676 名前:login:Penguin mailto:sage [2010/03/22(月) 12:03:20 ID:KT+5aRf8] >>674 ffmpeg自身、"-i -"をサポートしているのに、パイプはまずいのだろうか?
677 名前:login:Penguin mailto:sage [2010/03/22(月) 12:22:54 ID:BeBN0R5C] ffmpegのmpegts エンコーダって 遅いとかでまだ未完成って状態なんじゃなかったっけ?
678 名前:login:Penguin mailto:sage [2010/03/22(月) 13:55:51 ID:QnhZtt7r] >>676 -i pipe:stdin だったかな?の方が良さそう?
679 名前:673 mailto:sage [2010/03/22(月) 15:06:19 ID:K7anGyye] >>675 さん、レス有難うございます。 最近、やっと録画サーバを構築してみて、非常に便利に 使わせていただいてます。要望等あれば、報告させていただきます。 ありがとうございました。
680 名前:login:Penguin mailto:sage [2010/03/24(水) 19:29:59 ID:MwZR66Pi] 九州限定だけどNHK総合で金曜にプロ野球のマルチ編成があるな 来年の夏にアナログ切ったら高校野球でもやる気なんだろうな
681 名前:login:Penguin mailto:sage [2010/03/24(水) 19:52:17 ID:bhRnvXGI] >>680 もともと数年前にNHK教育はマルチ編成やっていたしねい。
682 名前:login:Penguin [2010/03/24(水) 19:58:24 ID:vMUnn3a8] ubuntu 9.10 64bit PT2+epgrec の環境で録画が終わったらサスペンドになるように するにはどうすればできますか?
683 名前:login:Penguin mailto:sage [2010/03/24(水) 20:12:03 ID:FbdeG3g4] recomplete.php に細工かな
684 名前:login:Penguin mailto:sage [2010/03/24(水) 20:43:55 ID:XR7EKb3y] >>682 録画が終わったらという以前にPT2を差した状態でサスペンドとかハイバネート とかできないんじゃなかったか。 PT2からアンテナに電源を供給する設定をしていたらそうなるのだったかな。 うろ覚え。 少なくともおれはサスペンドもハイバネートもできない。 大して気にならないから放置しているけど。
685 名前:login:Penguin mailto:sage [2010/03/24(水) 21:38:25 ID:6AF7BY7g] >>682 寝ずの番をする
686 名前:login:Penguin mailto:sage [2010/03/24(水) 23:38:14 ID:qnDSn7Jr] >>684 俺のマシンだとPT2ドライバを入れててもサスペンドとハイバネートが出来た ただし、radeonのAMD謹製ドライバを突っ込んだらダメになったわ OSは>>682 と同じ
687 名前:login:Penguin mailto:sage [2010/03/24(水) 23:58:15 ID:XR7EKb3y] >>686 アンテナに電源を供給する設定にしている? それからドライバだけどrecpt1のほう? こっちは32bit版のUbuntuでrecpt1だけどだめだな。 intelのオンボードでもnvidiaでもだめ。
688 名前:login:Penguin mailto:sage [2010/03/25(木) 00:22:31 ID:ENa4ADRq] >>687 地デジだけだから電源供給なし Ubuntu 9.10 64bit、recpt1、epgrec サスペンド出来るときは640x480低解像度のgenericビデオドライバのときだけ あまりにも画面が狭いからサスペンドするのは諦めたけどね
689 名前:login:Penguin mailto:sage [2010/03/25(木) 00:47:36 ID:nR51hild] >>688 やっぱり電源供給ありだとだめなのかな。 その低解像度も厳しいな。 夜中に録画するときはつけっぱにして、2時間後に録画が終わるなら 「sudo shutdown -h +120」とかやっておけばPCも終了してくれるから それで済ましている。
690 名前:login:Penguin mailto:sage [2010/03/25(木) 18:01:43 ID:nR51hild] いつもうっかりするのだが、recpt1はドライバじゃなかったな。 chardev版のドライバを使っている。 DVB版だとサスペンドとかできるのだろうか。 もっともPT2に対応したって話は聞かないけど。
691 名前:login:Penguin mailto:sage [2010/03/27(土) 04:27:06 ID:D226vZ5h] サスペンドって録画中に?
692 名前:login:Penguin [2010/03/27(土) 14:25:03 ID:SUVZAwTm] 録画が終わったら
693 名前:login:Penguin mailto:sage [2010/03/27(土) 15:20:13 ID:T1/2euVv] あるいは録画の前に
694 名前:login:Penguin mailto:sage [2010/03/27(土) 17:25:21 ID:SnEmUWWc] >>692 で電源ボタンを押して、 >>693 で電源ボタン押せばいいんじゃないの?
695 名前:login:Penguin mailto:sage [2010/03/27(土) 18:33:39 ID:lvTnuLq5] 外出中や終身中のときもそれが出来れば苦労はしないが
696 名前:login:Penguin mailto:sage [2010/03/27(土) 21:01:48 ID:YwEqRryJ] 食べる前に飲む。 食間 = 食べてる間に飲む。
697 名前:login:Penguin mailto:sage [2010/03/27(土) 21:19:21 ID:vA35gttt] >>696 がツッコミを待っているような気がするがオレはスルーするぞ。
698 名前:login:Penguin mailto:sage [2010/03/27(土) 22:02:41 ID:YwEqRryJ] >>697 orz