自宅でBSを受信できなくなったので、ISDB-Cで受信できないか検討してみた。J:COMが導入されている。M4で受信できるが、ISDB-C(DVB-C)だけなら安価な選択肢がある。StoreでT230を購入した。価格は送料無料で2000円強、チューナーが届くまで1~2週間かかった。/dev/dvb/adapter0挿すだけで認識している。systems:DVBTDVBT2[DVBC/ANNEX_A]ISDBCもDVBC/ANNEX_Cもないので、DVBC/ANNEX_Aを指定。/usr/local/etc/dvbconf/dvbv5_channels_t230_dvbc.confチャンネルスキャンは文字化けする。BSだけでなく、区域外を含む地上波の放送やデコードできない放送(C-CAS)も含まれている。Mirakurunの設定ケーブルテレビのtypeはないので、SKYで設定した。arib-b25-stream-testチューニングできたチャンネルやチャンネルスキャンで見つかったチャンネルを登録する。channelsチューニングに時間がかかるチャンネルや見当たらないチャンネルがあるものの、とりあえずは受信できる。追記:地上波同様に1/7MHz(142857Hz)大きくなっている周波数のオフセットをなくすと、安定してチューニングできるようになった。CommentLinuxでPX-W3U4を使う(2019年1月版)今回はカーネルの縛りがない非公式ドライバを使用する。PX-W3PE4、PX-Q3U4、PX-Q3PE4でも手順は共通。ドライバの導入READMEの通りにやればできる。カーネルのアップデートに追従するためDKMSを使用した。install録画テスト実際に録画してみる。0,1が衛星波、2,3が地上波。チューナーが増えた場合も衛星波2、地上波2の順で繰り返される。CommentsMirakurunのチューニングChinachuのメモリ周りを調整してみたのでメモ。メモリを4GBから16GBに増設したこともあって、録画が中断されることはなくなった。バッファを増やすTSFilterがバッファオーバーフローを起こして録画が中断されることがある。サーバー設定のhighWaterMarkでバッファを設定できる。推奨されていないので程々に数倍程度。256MBヒープサイズを増やす使い切って録画を出力できなくなる時もこれで解決する。Mirakurunのアップデートのたびに実行する必要がある。mirakurun@2.8.0以降は–unsafe-permをつけずにアップデートすれば再設定する必要はない。メモリの搭載量と相談して程々に。highWaterMarkを増やすときは一緒に増やす。CommentLinuxでPX-W3U4を使う(2018年6月版)PX-W3U4のBS再編への対応がバイナリの編集で面倒だなと思っていたら新しいLinux向けドライバが公開された。それぞれで今まで通り導入できるか再検証してみる。9が対象、すべてx64。最新の安定版ディストリビューションが使えるのは有り難い。PX-Q3PE4もおそらく共通。非公式ドライバ向け記事EPELリポジトリを追加(CentOS)CentOSはEPRLのパッケージが必要なので追加する。Debian9.4_64bit_kernel4.9.0-6/DKMSをインストール(CentOS)ドライバ周りの操作を自動化するためにDKMSを使用する。これでカーネルのアップデートがあった場合も自動的に適応できる。dkmsドライバをインストールモジュールをコピーするだけの設定を作る。1806udevのルールを作成アップデートに備えてモジュールを強制ロードできるようにする(効果は未検証)。チューナーの接続時にmodprobeを–forceオプションを付きで実行させる。デバイスファイルのパーミッションも設定する。/dev/px4-DTV3libarib25を導入(CentOS)内蔵のカードリーダーは使えないので別途用意する。CentOSは/usr/local/libへのパスを通す。TV)^Cここで何も出ない時は再起動するとうまくいく場合がある。6のドライバに付属しているrecpt1を使う。6のドライバに付属しているrecpt1を使う。Linux_Driver.ziprecpt1を導入B25を有効にするためリビルド。通常のrecpt1と区別するためリネームした。今回もchecksignalは動作しない。–helpで表示されるチャンネルを修正するにはrecpt1core.cの286行目以降を書き換える。/usr/local/bin/recpx4ctl録画テスト実際に録画してみる。0,1が衛星波、2,3が地上波。チューナーが増えた場合も衛星波2、地上波2の順で繰り返される。8でPX-W3U4の設定をしたみたのでまとめる。PX-Q3PE4でも同じ手順でセットアップできる。4月、5月のBS周波数再編の影響で一部チャンネルが受信できなくなっている。(最新版ドライバで修正済み)最新版ドライバ向け記事EPELリポジトリを追加(CentOS)CentOSはEPRLのパッケージが必要なので追加する。epel-release-latest-7.noarch.rpmカーネルをアップデート(Ubuntu+Linux4.13.0-19)配布されているモジュールに合わせたカーネルをインストールする。カーネルのアップデートはできない。-r4.13.0-19-genericカーネルをアップデート(Ubuntu+HWEカーネル)モジュール書き換えることでHWEカーネルでも使用できる。18.04がリリースされるまでは対応したカーネルのアップデートがある。Debian8.0.0_64bit_kernel3.16.0-4/DKMSをインストール(CentOS)ドライバ周りの操作を自動化するためにDKMSを使用する。これでカーネルのアップデートがあった場合も自動的に適応できる。Debian)モジュールをコピーするだけの設定を作る。Ubuntu+HWEカーネル以外は同じ。1712ドライバをインストール(Ubuntu+HWEカーネル)UbuntuとHWEカーネルを使う場合はモジュールのvermagicを書き換える必要がある。Debian)アップデートに備えてモジュールを強制ロードできるようにする。チューナーの接続時にmodprobeを–forceオプションを付きで実行させる。デバイスファイルのパーミッションも設定する。/dev/px4-DTV3udevのルールを作成(Ubuntu)Ubuntuの場合は強制ロードは必要ないので、パーミッションだけ設定する。/dev/px4-DTV3libarib25を導入(CentOS)内蔵のカードリーダーは使えないので別途用意する。CentOSは/usr/local/libへのパスを通す。6のドライバに付属しているrecpt1を使う。B25を有効にするためリビルド。通常のrecpt1と区別するためリネームした。checksignalはうまく動作しない。/usr/local/bin/recpx4ctl録画テスト実際に録画してみる。0,1が衛星波、2,3が地上波。チューナーが増えた場合も衛星波2、地上波2の順で繰り返される。CommentPX-S1UDとChinachuを組み合わせるPX-S1UDをLinuxで使えるようにしたのでChinachuと組み合わせてみた。録画にはrecdvbを使う。現在はこちらのドライバが安定している。録画時にB25デコードをかける場合はlibarib25やFUSE_b25をインストールしておく。recdvbのセットアップPT3などと同じように録画するには録画コマンドrecdvb(recpt1の改造版)をこちらからダウンロードしておく。手順はrecpt1と変わらない。installrecpt1などが入っている場合checksignalが上書きされるので注意。recdvbはPT2、PT3のDVBドライバでも使えるが、衛星放送には対応していない。checksignalも形式が違うのであまり当てにならない。録画ファイル名/dev/dvb/adapter0の場合–devに0を指定。ChinachuのインストールChinachuのwikiに従えば問題なくインストールできる。DVBデバイスの場合、実行ユーザーをvideoグループに所属させる必要があるので注意が必要。],外部から見られないのであれば、設定そのものを削除してもいい。"[<date:yymmdd-HHMM>][<type><channel>][<tuner>]<title>.m2ts",フォーマットに使えるタグは/node_modules/chinachu-common/lib/chinachu-common.jsのexports.formatRecordedNameを見るとわかる。],/dev/dvb/adapter0の場合–devに0を指定する。startしばらく待つと番組表が作成される。WUIに接続ブラウザに"http://IPアドレス:10772/"と入力するとChinachuのWUIに接続できる。ここから予約や録画ファイルの視聴・管理が行える。ストリーミング再生を無変換以外で使うにはそれなりのスペックが必要。番組表からできるライブ視聴はエンコードが必要で信頼性がまだ低いので、予約録画して再生した方がいい。エイリアス他のユーザーでchinachuコマンドをそのまま使うのはまずそうなので、普段使っているユーザーで使えるようにエイリアスを追加。unlockファイル名のフォーマット<date:日付フォーマット>日時。dateformatが使われる。0.26のISDB対応パッチ(仮)が公開されていたので試してみた。必要なパッチを作り直して、パッケージのビルドからインストールまでを行なった。結果はパッケージの依存関係の問題で失敗。実際に行なった手順と作成したパッチを公開。1:27追記:BS対応パッチの圧縮に失敗していたので再アップロード。2013/1/10追記:カテゴリ日本語化パッチに文字化けの報告があるので修正。ソースアーカイブを取得する必要があります。installビルドまでうまくできたが、パッケージの依存関係が崩れてしまったので失敗。wheezyがリリースされたらまた試そうと思う。0.26.0に向けて作成したパッチビルドはできたが、インストールがうまくいかなかったので、全て未検証。各パッチは以前の記事に準ずる。カテゴリ日本語化パッチmythtv_0.26.0-japanese-cat.patchカテゴリ日本語化パッチ(修正版)mythtv_0.26.0-japanese-cat.patchQtのバージョンが変わって、実際に動くか不明。サブタイトルの切り直しパッチmythtv_0.26.0-subtitle.patchパッチがそのまま当たったので簡単に修正。BS対応パッチmythtv_0.26.0-bs.zip前回作成したパッチを元に作成。録画バグ修正パッチmythtv_0.26.0-tuning.patch修正されている可能性もあるが、念のため作成。CommentsMythTV+FUSE_b25のBS/CS環境アンテナを110度CS対応にしたので、試用期間の残っているB-CASカードを使って検証してみた。MythTVにはBS対応パッチを当ててある。アンテナとケーブルアンテナを変える前はBSのほとんどのチャンネルが受信できたが、周波数の高いDlifeなどは受信できなかった。新しいアンテナに交換してもDlifeとCSの受信状態が悪く、CSの信号レベルが低かった。別の部屋のテレビは正常に受信できていたので、古いケーブルを交換してみると改善した。受信確認チャンネル登録スクリプトでチャンネルを登録して、視聴してみる。BSはすべてのチャンネルが正常に視聴することができた。チャンネルがCSに変わると極端に精度が落ちた。ほとんどが受信状態が悪いチャンネルで全く見れないチャンネルも多かった。正常に視聴できるチャンネルは一握り。見れないチャンネルから特徴を探ってみるが、特定の周波数でもない。チューニング情報にも誤りはない。mythtvには原因がわかるログが見つからなかったが、syslogには大量のエラーが表示されていた。pid:0x0701MythTVに原因がないか切り分けるためにtuneコマンドとcatで録画する。確認したところ、MythTVでの視聴と大差ない。TvtPlayで確認していて、そこでサービスがいくつもあるのに気がついた。BSはTSIDでチャンネルを分けているのに対して、CSはserviceidでチャンネルを分けている(一つのチャンネルにサービスがいくつもある)。FUSE_b25でCSは見れない?CS放送は一つの周波数にいくつもサービスが載っていてその数も多い。FUSE_b25はそのすべてをデコードしようとするので、処理し切れない可能性が出てくる。すると、FUSE_b25ではCSを見れないことになる。見れないのは自分の環境だけかもしれないが、見れないという情報がいくつかある。FUSE_b25の仕組みからしてどうにもならない。MythTV+DVBでのCS録画はMythTVにb25デコード機能を付けない限り難しいだろう。無料放送だけを見るので個人的な影響は小さいだろうが。BS対応パッチMythTVでBSのチューニングをできるようにするパッチを更新したので、使い方もまとめる。安定化させる対策を行なっても0Byteで録画されない不具合の対応コード整理LNBON/OFFでパッチを分離channel_add.shにuseonairguideとcallsign/nameの設定機能を追加channel_add.shを4桁以上のチャンネル番号に対応させた不具合について0Byteの時にログを確認すると次のようなメッセージがあり、全く別のチャンネルのtsidとPATが出力されていた。PAT!チューニングが失敗しているか間に合っていないようなので、s2scanに習ってチューニング前にウェイトを挿入するようにした。libs/libmythtv/dvbchannel.cpp通常はmythtv-bs-lnb.patchで問題ないがCATVやブースターなどを使っている場合はmythtv-bs-nolnb.patchを当てる。対応しているMythTVのバージョンは0.24系チャンネル登録の方法MythTVのチャンネルスキャンには対応しないのでスクリプトを使ってデータベースに直接入力する。channel_add.shの最初の変数を環境に合わせて書き換える。}sourceidは衛星側のビデオソースのもの、chan_numは好みのチャンネル番号を指定する。frequencyはs2scanの結果から、それ以外はTVTestに付いてくるPreset_BS.ch2、Preset_CS.ch2をCSVとして開いて見るとわかりやすい。IDがpidにあたる。netidはBSが4、CS1ネットワークが6、CS2ネットワークが7となる。sourceidは衛星側のビデオソースのもの、chan_numは好みのチャンネル番号を指定する。airguideに1を指定すると番組表のスキャンが有効になる(0で無効)。chan_nameにはチャンネル名が指定できる。CSに関しては受信できるか怪しい。Comment録画安定化のためにPT2+FUSE_b25+MythTVをDebianで使う上で録画失敗から対策したことを対策箇所ごとにまとめる。Overflowed"というエラーを出して、以降の部分が録画されなくなる。エンコードの際は、CPUコア(スレッド)の数より少ないスレッド数を指定する。[オプション]更にfuse_b25の優先度は高くし、エンコードの優先度を低くしておく。[オプション]また、録画ディスクのI/Oに負荷をかけすぎても同様のことが起こるのでTsSplitterを使う場合は必ずWAITオプションを指定する。録画の開始時にMythTVのバックエンドが落ちることがある。PIDファイルが残るのでmythbackendのプロセスがなく、PIDファイルが残っていたら再起動させる。念のためfuse_b25の再マウントも行う。@Wikiやおよろず本仕込み言霊メタ情報ログイン投稿フィードコメントフィードWordPress.orgおすすめ@takaakis62さんのツイート。