トップページ⇒linux
983コメント390KB

【視聴】Linuxでデジタル放送【録画】

■ このスレッドは過去ログ倉庫に格納されています
0001login:Penguin2008/12/30(火) 14:48:32ID:mhuHq0Rz
Linuxでデジタル放送を見たり録ったり。
0654login:Penguin2010/03/17(水) 22:05:57ID:Q3iqr92D
ストリームIDコロコロかわって
なんで普通のテレビはちゃんと映るんだ?
0655login:Penguin2010/03/17(水) 22:17:30ID:FlnjF6N+
ちゃんとPATやPMTの更新をみて判断すれば問題無い。
Windows用のアプリにもsidオプションぽっい機能あるがテレビ朝日もちゃんと録画している。
0656login:Penguin2010/03/17(水) 22:32:41ID:xX0skAM3
どうやって見て判断すれば良いのでしょうか
0657login:Penguin2010/03/17(水) 22:49:00ID:uj9fnEU8
ISO/IEC 13818を掲示板で説明させるつもりなのか?
聞いてもおまえにゃ無理だよ。

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

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

あと、必要ないからと言って特定のストリームを
落としてしまうとせっかくMUXされて平滑化された
ビットレートとSCRが狂うから俺は興味ないわ。
0658login:Penguin2010/03/17(水) 22:53:19ID:FlnjF6N+
PATもPMTもバージョンNo.を持っていて内容が変わるときにこのNo.も変えるように決まっている。
だから、前回取得したバージョンから変化があったら内容を読み直して保存対象のPIDを変更すればいい。
0659login:Penguin2010/03/17(水) 23:17:14ID:CSorACMK
>>657
特定PIDだけ取り出すのなら、いっそPS化しろよとは思うものなぁ
0660login:Penguin2010/03/17(水) 23:57:28ID:LSm3f7R6
>>657
補足
PMT読むときに、ネクストフラグってのが立ってるのがあって、
こいつは、「次の番組」のPMTが入ってる。
録画開始するときに、今の番組を録画するのか、「次の番組」を録画するのか決めて、
判断すればいいのだと思うよ。

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

>>659
PS出力するコードなら脳内で絶賛書き進めているけど、
実際にコード書く時間が作れなくてもうちょっと待ってね
週末に上げたコードはバグが一つ判明した
0661login:Penguin2010/03/18(木) 00:02:07ID:7SEcsI7/
recptでのsidってのが何をさしてるのか知らんが
普通はサービスID(=プログラムID)って運用開始後に頻繁に変更しないことってなってて
各PESのPIDはころころ変更されても,サービスIDはほとんどarib tr-14で割り振られてる範囲内で固定なんじゃないの
mplayerでもgstreamerでもchannels.confを見て
指定されたチャンネル名に対応するサービスIDを指定する/できるようになってるし recptとかもそうじゃないの?
特定PIDで指定するっていうよりプログラムID(サービスID)で指定するなら
PIDが変化したって追従してると思うけどな
0662login:Penguin2010/03/18(木) 00:13:33ID:UZFQFXzo
>>661
チャンネルごとに、サービスIDは固定で認識はあってるよ
recpt1のsid指定もそういう実装になってます

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

なので、ネクストフラグに話が落ちてくるのではないかなと思ってますけど、
自分の認識が間違ってるかな?
0663login:Penguin2010/03/18(木) 00:31:04ID:7SEcsI7/
>>660, >>662
地上デジタル放送(たぶんBSデジタルも)では
current/nextフラグは運用しない(常に1:current固定)ことになってますよ
RSTとかも使用しないのでかわりにEITでの出現を元にすることって規定されてたはず

それはともかくPMTのアップデートによる(動的?)PID変更は追従すべきだと思うけど
サービスIDが固定なら 追従してるんじゃないの?
3xSD編成 <-> 1xHD編成 とかの切り替わりをまたぐならPIDの動的変更は当たり前だし
プライマリの番組を(変更されても)自動で選択したいってことなら
NITで最初に指定されたサービスID(の変更)を監視しなきゃいけないだろうけど
0664login:Penguin2010/03/18(木) 00:37:11ID:UZFQFXzo
>>663
残念な事に、プロセスが起動して、一番最初に認識したPMTしか
認識しない実装になってます>recpt1
なので、常に上書きで追従する実装に変更する必要があるかもしれませんね
ネクストフラグ入ってこないのですか。情報提供ありがとうございます。
0665tssplitter_lite2010/03/18(木) 01:17:05ID:+afuxeM5
tssplitter_lite 単体での実装は、最初に検出した PMT を解析して残す
PID を特定しているはずです。たぶん。
なので stream の途中でこのあたりの情報が変わっていることを想定して
作られていません。

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

recpt1 に取り込む際に、既存の処理をそのまま取り込んだのであれば
このような実装のままになっていると思います。
0666login:Penguin2010/03/19(金) 12:45:40ID:F81yLqkE
早い話NHK教育の023対応だからとっととやっといたほうが良いかもね
0667login:Penguin2010/03/20(土) 03:01:02ID:SDOptfAy
センバツ始まったらNHK教育はマルチやり始めるのかな?
0668login:Penguin2010/03/20(土) 07:24:40ID:KTrFLKg4
データ量は減るけど、それなら時間がずれることがないな
でも、まだアナログとの兼ね合いでやらないんじゃない?
0669login:Penguin2010/03/21(日) 20:07:22ID: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%に張り付いたままです。
0670login:Penguin2010/03/21(日) 20:12:56ID:z0RQW1TJ
テンポラリ取る方式で運用したら?

パイプはバッファサイズが64KBまでで拡げることもできないから、
パイプでつながずに済む運用方法があるならその方が無難でっせ。
0671login:Penguin2010/03/21(日) 20:15:39ID:qzAft9CW
fifo使ってみるとか
0672login:Penguin2010/03/21(日) 20:25:05ID:P0c18dIU
ありがとうございます。

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

>>670
テンポラリを使う方法でも問題はないのですが、
変換時間(動画の長さの1/3弱程度)をもうちょっと早くできないかなぁ、と欲を出してしまいました。
あまりヨロシクない方法のようですので、無難な方法でいきます。
0673login:Penguin2010/03/21(日) 20:55:31ID:eZoGcIC3
epgrecで作られる番組表ですが、あれをサービスID別で作成する事は出来ないのでしょうか?
BS番組表のWOWOWがそのような形になってるようなのですが、他のチャンネルにも
同じような設定ができないかなと思いまして。
使用しているepgrecは2010年3月1日版です。
0674login:Penguin2010/03/22(月) 01:19:22ID:gY/K+oPz
>>669
ffmpegの挙動をコードレベルで理解しないままに、
怪しい事をするのはやめておいた方が無難
seekに失敗して無限ループとかしてるかもね
0675epgrecの中の人2010/03/22(月) 11:03:18ID:l1nnHo4q
>>673
番組表はepgdumpで取れる情報をもとに組まれてますから
ちと難しいですね。
0676login:Penguin2010/03/22(月) 12:03:20ID:KT+5aRf8
>>674
ffmpeg自身、"-i -"をサポートしているのに、パイプはまずいのだろうか?
0677login:Penguin2010/03/22(月) 12:22:54ID:BeBN0R5C
ffmpegのmpegts エンコーダって 遅いとかでまだ未完成って状態なんじゃなかったっけ?
0678login:Penguin2010/03/22(月) 13:55:51ID:QnhZtt7r
>>676
-i pipe:stdin だったかな?の方が良さそう?
06796732010/03/22(月) 15:06:19ID:K7anGyye
>>675 さん、レス有難うございます。

最近、やっと録画サーバを構築してみて、非常に便利に
使わせていただいてます。要望等あれば、報告させていただきます。
ありがとうございました。
0680login:Penguin2010/03/24(水) 19:29:59ID:MwZR66Pi
九州限定だけどNHK総合で金曜にプロ野球のマルチ編成があるな
来年の夏にアナログ切ったら高校野球でもやる気なんだろうな
0681login:Penguin2010/03/24(水) 19:52:17ID:bhRnvXGI
>>680
もともと数年前にNHK教育はマルチ編成やっていたしねい。
0682login:Penguin2010/03/24(水) 19:58:24ID:vMUnn3a8
ubuntu 9.10 64bit PT2+epgrec の環境で録画が終わったらサスペンドになるように
するにはどうすればできますか?
0683login:Penguin2010/03/24(水) 20:12:03ID:FbdeG3g4
recomplete.php に細工かな
0684login:Penguin2010/03/24(水) 20:43:55ID:XR7EKb3y
>>682
録画が終わったらという以前にPT2を差した状態でサスペンドとかハイバネート
とかできないんじゃなかったか。
PT2からアンテナに電源を供給する設定をしていたらそうなるのだったかな。
うろ覚え。
少なくともおれはサスペンドもハイバネートもできない。
大して気にならないから放置しているけど。
0685login:Penguin2010/03/24(水) 21:38:25ID:6AF7BY7g
>>682
寝ずの番をする
0686login:Penguin2010/03/24(水) 23:38:14ID:qnDSn7Jr
>>684
俺のマシンだとPT2ドライバを入れててもサスペンドとハイバネートが出来た
ただし、radeonのAMD謹製ドライバを突っ込んだらダメになったわ
OSは>>682と同じ
0687login:Penguin2010/03/24(水) 23:58:15ID:XR7EKb3y
>>686
アンテナに電源を供給する設定にしている?
それからドライバだけどrecpt1のほう?
こっちは32bit版のUbuntuでrecpt1だけどだめだな。
intelのオンボードでもnvidiaでもだめ。
0688login:Penguin2010/03/25(木) 00:22:31ID:ENa4ADRq
>>687
地デジだけだから電源供給なし
Ubuntu 9.10 64bit、recpt1、epgrec
サスペンド出来るときは640x480低解像度のgenericビデオドライバのときだけ

あまりにも画面が狭いからサスペンドするのは諦めたけどね
0689login:Penguin2010/03/25(木) 00:47:36ID:nR51hild
>>688
やっぱり電源供給ありだとだめなのかな。
その低解像度も厳しいな。
夜中に録画するときはつけっぱにして、2時間後に録画が終わるなら
「sudo shutdown -h +120」とかやっておけばPCも終了してくれるから
それで済ましている。
0690login:Penguin2010/03/25(木) 18:01:43ID:nR51hild
いつもうっかりするのだが、recpt1はドライバじゃなかったな。
chardev版のドライバを使っている。
DVB版だとサスペンドとかできるのだろうか。
もっともPT2に対応したって話は聞かないけど。
0691login:Penguin2010/03/27(土) 04:27:06ID:D226vZ5h
サスペンドって録画中に?
0692login:Penguin2010/03/27(土) 14:25:03ID:SUVZAwTm
録画が終わったら
0693login:Penguin2010/03/27(土) 15:20:13ID:T1/2euVv
あるいは録画の前に
0694login:Penguin2010/03/27(土) 17:25:21ID:SnEmUWWc
>>692で電源ボタンを押して、
>>693で電源ボタン押せばいいんじゃないの?
0695login:Penguin2010/03/27(土) 18:33:39ID:lvTnuLq5
外出中や終身中のときもそれが出来れば苦労はしないが
0696login:Penguin2010/03/27(土) 21:01:48ID:YwEqRryJ
食べる前に飲む。

食間 = 食べてる間に飲む。
0697login:Penguin2010/03/27(土) 21:19:21ID:vA35gttt
>>696 がツッコミを待っているような気がするがオレはスルーするぞ。
0698login:Penguin2010/03/27(土) 22:02:41ID:YwEqRryJ
>>697
orz
0699login:Penguin2010/03/28(日) 01:07:52ID:kQpcyy3L
なんだ こいつ調教済みじゃねえか
0700login:Penguin2010/04/02(金) 11:21:26ID:mKcpgmiK
こっちにもはっておくか。
HDD の低速病に悩む人は必見。

InfoQ: 4KB セクタのパフォーマンス問題
http://www.infoq.com/jp/news/2010/04/4k-sectors
0701login:Penguin2010/04/03(土) 00:38:26ID:f2Hegqj4
>>700
WDの低速病はこれか。
0702login:Penguin2010/04/03(土) 10:15:03ID:8UXHWFQR
vista/7なら無問題
linux/*BSDはどうか知らん
0703login:Penguin2010/04/03(土) 12:12:58ID:CV8UwMcN
>>701
いや、低速病とは全く別。低速病は一世代前で512bytes/セクタのEADSでも発生する
0704login:Penguin2010/04/03(土) 12:18:54ID:k+3X5yH6
EADSの低速病はWDが悪いけど、EARSの4KBセクタは悪くない。
むしろ次世代的で、ちゃんとすればスピードもディスク効率も向上する。
0705login:Penguin2010/04/03(土) 12:19:51ID:f2Hegqj4
>>703
要するに WD が腐っているということか。
0706login:Penguin2010/04/03(土) 12:22:15ID:f2Hegqj4
>>704
それは同意。
Linuxのドライバなら、そのうち誰か対応するだろうな。
0707login:Penguin2010/04/03(土) 13:07:27ID:iLBixfMP
そもそも512bytes/セクタ決め打ちってのが変だよね

と、おっさんなら思ってたはず。
0708login:Penguin2010/04/03(土) 19:20:22ID:CV8UwMcN
>>704
ただ、WDは物理セクタは4KBなのに、ファームで変換していて論理セクタは
512bytesのままなんだよねい。論理セクタも4KBになるのは各OSの対応が
進んでからかな。

>>705
Data Lifeguard Diagnostic for Windowsがクラスタとバイトを間違えていて
先頭0.5%程度しか検査されず、その報告があっても3ヶ月近く放置されているなど、
WDのソフトウェアはかなり怪しいので、当然ファームもかなり怪しい感じ。
って、スレ違いどころか板違いも甚だしいので、この話題はこの辺で。
0709login:Penguin2010/04/09(金) 11:28:04ID:8jI70NUN
3月版 2TBを超えろ! ATAディスクの4Kセクタ問題とは?
http://www.atmarkit.co.jp/flinux/rensai/watch2010/watch03a.html
わかりやすいね。
0710login:Penguin2010/04/10(土) 14:07:03ID:7ZJDOq89
>>690
亀レスですが規制解除された記念。

申し訳ありませんが、DVB 版ドライバはサスペンド/ハイバーネーションには
対応する予定はありません。
レジュームしてからモジュールをリロードしなおすと動作すると思いますので
お手数ですがそのような運用で対処してください。

PT2 は hg は対応済みで、 upstream は 2.6.36 から対応になる予定です。
0711login:Penguin2010/04/10(土) 14:23:18ID:uk5PGF29
>>710
作者さまですか?
だいぶ前に出ていたS2APIへの対応をお待ちしています
07126902010/04/10(土) 14:28:48ID:ewdCZnsO
>>710
誰に対するレスだろうと思ったら自分だった。
了解です。
0713login:Penguin2010/04/10(土) 14:59:03ID:7ZJDOq89
>>711
こっちに書きましたが、S2APIの規格に問題ある気がするんですよねー
http://pc11.2ch.net/test/read.cgi/linux/1253880711/984n-

まあ本家 linux-media リストで聞くのが一番な気がしてきたので、そうしようかな。
0714login:Penguin2010/04/10(土) 21:49:25ID:D7cwa1pv
最新ビジネスソフト入荷!
激安販売中

http://surp.t35.com
07154432010/04/12(月) 01:24:10ID:rcWiaHfx
>>252
TS -> ES に recpt1 内部で変換かけるコード書きました。
今のところやろうとしている事はこんな感じです。

1. 動画はGOP開始からESとして書き出す(ここは出来てる)
2. 音声はGOP開始のPTSに合わせてESとして書き始める(こっちは絶賛コーディング中)
3. 1.と2.をESではなくPSにして1つのファイルに出力(ファイル名どこから拾うかなぁ…)

ということをして、ffmpegに食わせた時にlipsync出来ないかなぁと考えています。
音声と動画は10msecぐらいのズレになる予定なので、
気になるほどでは無いと想定しています
#ffmpegにTSそのまま突っ込むと、音ズレが酷くてすごく萎えますので

で、ご相談なのですが、これ(完成した前提で)、recpt1 にマージしていただけますか?
tssplitter_lite の拡張として基本的に書いています。
PMTの変更に追従するコードも一応書きました(試験はマダ)
書き始めたの(recpt1のコードと分離したの)は、2月中頃です。

コード見てから。というお話であれば、完成までお待ちください。
よろしくおねがいします。
07162522010/04/12(月) 23:04:23ID:dYnKcwDc
>>715 443さん

はい、マージします。途中のコードも見たいですし、マージの時にいろいろ楽
なので、もしよろしければサーバで443さんのブランチのリポジトリをホスティ
ングしますよ。コミットログにあるアドレスにメールをください。
0717login:Penguin2010/04/13(火) 11:43:32ID:BoL46tke
recpt1でboncasserver使うのどうやんの
0718login:Penguin2010/04/13(火) 23:43:43ID:a/HTQNED
>>717
recpt1側のIFと、boncasserverのIFを調査して、
つじつまを合わせる中間レイヤのAPIを提供出来れば問題なく結合できるんじゃない?
0719login:Penguin2010/04/16(金) 22:41:52ID:gQsJu1R/
Fedora12 + epgrec3/22 + REGZAを使ってる
REGZAでは、ファイル名に"〜"が含まれていると再生できない

上の方にdo-record.shを使ってファイル名を変更するやり方があるが、
これだとepgrecから管理できなくなるので、自分は
Reservation.class.phpに
$filename = str_replace("〜","~", $filename );
(なぜか自分の環境ではmb_str_replaceが期待通りに動かない)
を追加して
あとREGZAが勝手にmetaファイルを作るので
epgrecからファイルを削除するとき、これも削除するように
cancelReservation.phpに
@unlink(INSTALL_PATH."/".$settings->spool."/".$rec->path.".meta");
を追加してる
0720login:Penguin2010/04/17(土) 08:20:37ID:xqLkWSrs
>>719
〜「WAVE DASH」がファイル名に含まれていると再生できないって問題だけど、
これ解決策としてスジが悪いと思う。
samba使ってファイル共有している?

ファイルシステムの文字コードをUTF-8にしていて、
Windows(REGZA)側に見せる文字コードをCP932にしていない?

UTF-8の「WAVE DASH」ってよく変換でコケる文字であるので、
その辺の問題だというのが本当のところである気がする。
興味あったらその辺調べてみたら?
本当の問題がどこにあるか調査してからじゃないと、
場当たりの問題解決は問題を複雑にするだけになるよ
07217192010/04/17(土) 21:56:28ID:diPTkaP9
>>720
sambaの設定に関してはまさにその通り。
場当たり的というのも、指摘されてみるとそうだなあと思う。

とりあえずmysqlの番組表で、現況を確認してみた。
SELECT title,CONVERT(title USING cp932) FROM Recorder_programTbl WHERE title <> CONVERT(title USING cp932) ;
とやると、“〜” のほかにもダメなのがいくつかあった。

“−” 例 BS−TBSニュース
“?” 例 裏Sma?
“?”例 フットサル?ガールズ

どうするか考えてみる

(というか、この文章自体が化けずに表示されるかちょっと心配)
07227192010/04/17(土) 22:02:38ID:diPTkaP9
そりゃ化けるか…

裏Sma(!!を一文字で)
フットサル(塗りつぶしたハート)ガールズ
0723login:Penguin2010/04/17(土) 23:02:21ID:xqLkWSrs
>>722
「!!」1文字
「塗りつぶしたハート」
は、一般的な文字コード上に存在しない文字じゃなかったかな。
バイナリ値のまま、ファイルシステム上に書き込んで、
取り出す時もバイナリ値のままとかそういう例外処理入れ込まないとうまく動かないかもね。
ファイルシステムとネットワーク上で流れる文字コードも統一しといた方がいいと思う。
それか、変換テーブル作って、必ず変換テーブルを通してから処理するようにするか。
変換テーブル作るときは、漏れなく作らないと何度も同じ事の繰り返しになるから注意ね。
0724login:Penguin2010/04/18(日) 04:44:02ID:O/mK8Rhb
>>723
つ ttp://ja.wikipedia.org/wiki/%E3%83%8F%E3%83%BC%E3%83%88_%28%E3%82%B7%E3%83%B3%E3%83%9C%E3%83%AB%29
0725login:Penguin2010/04/18(日) 10:53:58ID:fWOkRKxv
>>724
JIS-X0213 ってVistaから標準でフォント用意されてるんじゃないの?
レグザはわからないけど 東芝のHDDレコ(アナログ入力)には ハートとかの文字も入ってたから
JISX0213(Shift-JISX0213)に対応してるんじゃないのかな.
http://www.atmarkit.co.jp/flinux/special/samba3b/samba03.html
この辺の設定で shift_jisx0213を指定したらいけるとかだったりして
0726login:Penguin2010/04/18(日) 12:08:01ID:MGMDTYy5
>>719
これどの辺りに書くか詳しく教えて!
0727login:Penguin2010/04/18(日) 12:22:24ID:+uLbqFVZ
似たのがあるから改行してその下に入れればいいよ
0728login:Penguin2010/04/18(日) 21:30:49ID:MGMDTYy5
>>726
えと…orz
0729login:Penguin2010/04/19(月) 00:37:19ID:gcDqttYd
>>716
とりあえず現状版をpushしました。
今週思いっきり構造体をいじって、
program(ServiceID)を中心とした考え方でデータを持たせるように作り替えました。
#PS出力まで考えると、今までの一時配列で頑張るのは限界が見えているので。

ES出力出来るところ(先週と同じ状態ぐらいです)まで持ってこられたので、
とりあえず現状版として公開してみました。
構造体をこれ以上ガッツリ書き換える気は今のところ無いので、
大きくコードの作りは変わらないと思います。

ここはなんでこうなってるんだ?とか色々ありましたら、
コミットログのメールアドレスでも、ここでも問い合わせください。

今後、tssplitter_lite.c の L1537- あたりを正しく実装する予定です。
とりあえず以上
07307292010/04/19(月) 00:49:03ID:gcDqttYd
>>729
補足
split_ts()はコメントとコード共に、古い(1ヶ月以上メンテしていません)ので読まない方がいいです。
読むと、嘘だらけな情報なので混乱すると思います。
ESがキチンと出せるようになったら作り込めばいいか。と、思って放置してあります。

AnalyzePmt()が何か変な気がする…終端でキチンと終了していない感じ…
真面目にしっかりコード追いきれていません。

ジョークのようなコメントがあるかと思いますが、
ジョークなので気にしないでくださいw
0731login:Penguin2010/04/19(月) 01:04:25ID:1sjNbnj3
環境
ATOM N270
メモリ 3G(認識分)
システム:SSD 80G
データ用:HDD 1TB
epgrec2010年3月1日版

新しくなったgetepg.phpで2時間おきに番組表取得させてるとCPU使用率がほぼ1日中100%だったので
公式どおりにgetepg.old.phpを使用するようにしてみたんだけど、端末からgetepg.php実行後、3時間たってもまだgetepg.phpが終わらない。
これで特に支障はないんだけどこんなもん?

って書こうとしたら
Segmentation fault
construct:無効な行
で端末上で終了した。その直後にps axで表示してみたらそれまでは無かった以下の行が表示された。
3473 ? S 0:00 CRON
3474 ? Ss 0:00 /bin/sh -c /var/www/epgrec/getepg.php
3475 ? S 0:01 /usr/bin/php /var/www/epgrec/getepg.php

そして、番組表を見たら…同じ放送局だらけ(1部無事)になってる。
とりあえずgetepg.phpをCPU100%覚悟で戻すか…

って、これじゃただの日記ですね。スマソコ。
07327262010/04/19(月) 16:28:42ID:lqAn56Tb
ちと質問です。
日系Linux2010年02月号版を使ってるんですが、うpロダに上がってる最新版に切り替えたほうがいいんでしょうか。
Linuxは分かる方なんですが、PHPは殆ど分からないので >>719 のこともよく分かりません。
0733epgrecの中の人2010/04/20(火) 12:04:23ID:+kGXdjDy
>>731
3時間は変ですね。
>同じ放送局だらけ(
なのはgetepgを多重起動したためかもしれません。
ソースを見たならおわかりと思いますけどepgdumpはエラーチェック省略気味で
異常時に普通に死にます。通常はそれで問題ないですが何か起きると
おかしくなったりすることもあるだろうと思います。
テンポラリ用のディレクトリの残り容量がないとか、権限がない、権限の設定がおかしい
等その辺の可能性があるような気がするので調べてみてください。
07347192010/04/20(火) 13:41:41ID:9G4KhFaz
>>732
最新版(epgrecの?)にしたほうがいいかどうかはわからない

REGZA-sambaで化ける文字は全部置換するようにしたので、
家プロバイダーのアクセス規制が解除されたら、説明付きで書き込む

それまで暫し、ご歓談を
0735login:Penguin2010/04/20(火) 21:19:06ID:nQqBGlc3
>>733
3時間はやっぱり変でしたか。
了解です。
あせらず権限のチェックからやってみます。
0736login:Penguin2010/04/20(火) 22:42:36ID:qCeKRt+Z
REGZA-sambaでファイル名によっては再生できなくなるという件
ここでの意見を参考にしたりしていろいろやってみた結果、あきらめた。

epgrecを改造し、UTF-8→CP932に変換してみて化ける文字は全部置換することにした
長くなったので、別ファイルにしてincludeしたほうがいい
epgrecの中の人がバージョンアップしても追随しやすくなるし

-epgrecのインストールパスに"CP932.php"を作る(中身は後述)

-epgrecのReservation.class.phpに変更を加える
・include_once( INSTALL_PATH . "/recLog.inc.php" );という行の下に追加
 「 include_once( INSTALL_PATH . "/CP932.php" ); 」
・$filename = mb_str_replace("%TITLE%", trim($title), $filename);という行の下に追加
 「 $filename = getCP932Filename($filename); 」

注意
1 ?x301c; ←これが"&#x301c;"に見える場合は、違うブラウザで
2 epgrecの動作を考えてみればわかると思うが、すでに予約済みのものは変わらない
テストするには放送中の番組を予約カスタマイズして、
タイトルを「テ?x301c;ス?x2212;ト?x203c;」とかしてみる
3 この記載内容にとんでもない不具合があって、大切な録画に失敗してしまった場合は、潔くあきらめる
0737719,7362010/04/20(火) 23:02:53ID:qCeKRt+Z
>?x301c; ←これが"&#x301c;"に見える場合は、違うブラウザで
なんて言いながら自分が"?x301c;"に見える
この板ではだめなのか orz

2chのサーバによってWAVE DASH(REGZA NG)がFULLWIDTH TILDE(REGZA OK)に
変換されてしまうことがわかったからコードで書きたかったんだけど
どっかuploader探して出直してきます
07387362010/04/21(水) 00:11:55ID:SHMFNFeH
upしました REGZA用 UTF-8→CP932
ttp://www.csync.net/service/file/view.cgi?id=1271775527
0739login:Penguin2010/04/23(金) 10:09:10ID:NwNRvpSb
REGZAで見る場合、.metaファイルを生成してくれると
良いと思うのだけど。
07407262010/04/23(金) 11:59:40ID:5cssR6Ql
>>738
お礼が遅くなりました、ありがとうございます。さっそく試してみます。

>>739
自動生成するから構わないのでは?
0741login:Penguin2010/04/23(金) 22:15:00ID:VgU8a1vQ
>>739
ファイル仕様も調査させるおつもりか?
こういう情報を、こういうフォーマットで作ると、REGZAで読めて幸せなのだけど。
って情報ぐらい提示しないの?
07424432010/04/25(日) 18:32:59ID:5GdBrMqs
>>715
の1.と2.まで出来ました。
ffmpegに食わせてエンコードするのが目的であれば、
ESのまま出力でもいい気がしてきています。

出力ファイル名は /tmp/es.[PID] というカッコいい実装になっております。
とりあえず、ファイル名はもう少し考えよう…
0743login:Penguin2010/04/25(日) 20:19:14ID:+BYUbKtn
これはすんばらしいぞ
0744login:Penguin2010/04/26(月) 12:30:28ID:gqp0Vjjp
何のことかさっぱり解らないアホスな俺も応援するんだぜ!
0745新参者2010/04/26(月) 15:47:27ID:QOGK0sLG
recpt1をちょっと改造してストリーミング視聴向きのものを作ってみました。
(動作確認中のへっぽこバージョンですが)

現状のrecpt1はUDPにしか対応していないのですが、VLCだとHTTPでも再生
できるので、HTTPサーバーとして動かすようにしてみました。

例えばVLCで以下のアドレスを入力すれば2チャンネルが再生されるような感じです。
http://hostname:port/2

VLCのプレイリストに
http://hostname:port/2
http://hostname:port/4
http://hostname:port/6
...

みたいに登録しておけば、「次」ボタンで次のチャンネルにポコポコ変わるので
まるでテレビを見ているみたいです。

これって需要ありますかね?
0746login:Penguin2010/04/26(月) 16:07:41ID:hH7wb0Om
>>745
よさそうですね。
ところで443さんとは別の方ですか?
もしそうであれば、recpt1がいくつも乱立するのは好ましくないので、できれば
443さんたちと協力しあってお作りになればよろしいかと。
0747epgrecの中の人2010/04/26(月) 16:17:26ID:7y12Enww
httpならASFに入れられるのでいいですね。
ポート80が使われるのは嫌なのでポート変えられると助かります。
ソースどこかに投げませんか?
0748新参者2010/04/26(月) 16:31:43ID:QOGK0sLG
>>747

中の人のレスポンスが早くてびっくりです!

・ソースがとても汚い(ソケットがよくわかってないので落ちてたechoサーバーのサンプル
を下書きにしている)
・複数接続を想定していない
・splitterがうまくいっていない?(未確認)

など問題がいっぱいあるのですがフォルダごと固めたものを置いておきます。
http://antiwalking.net/upload/recpt1.tar.gz

うまく活用されるとうれしいです。
0749新参者2010/04/26(月) 16:35:08ID:QOGK0sLG
ポート番号とか、物理チャンネル(京都を想定)とかソースに直書きされているという
問題もありました・・・

どうかご容赦ください
0750login:Penguin2010/04/26(月) 17:15:20ID:fhhhYmyr
>>745
自分の回線が今の倍の速度出れば使いたかった。
光(実家)-光(VDSL@地方)だと 1MB/s しか出ない。
2MB/s ならリアルタイム視聴できたんだが。
ローカルで使うなら需要はありそう。
0751新参者2010/04/26(月) 17:22:47ID:QOGK0sLG
>>750

今大学から家にSSHでポートフォワーディングしてみましたら
意外と見れました。
(ただうちのプロバイダはup5GB/日の制限があるので40分ぐらいしか
みれませんがw)
0752login:Penguin2010/04/26(月) 17:29:54ID:Vrz8s9i3
>今大学から家にSSHでポートフォワーディングしてみましたら
仕事でネットワーク使ってる人に迷惑だから自重せい。
大学でやらずにネカフェでやれ。
0753epgrecの中の人2010/04/26(月) 18:22:20ID:7y12Enww
>>748
サーバーとして実装されたわけですね。
従来のrecpt1に
recpt1 --http --port 云々
という風に指定できた方がepgrec的にはいいかもなあ。
いずれにしてもリアルタイム視聴の方法を考えてみないとですね。
■ このスレッドは過去ログ倉庫に格納されています