link もっと前
   2018年 5月 31日 -
      2018年 5月 22日  
link もっと後

link 未来から過去へ表示(*)
link 過去から未来へ表示

日々

link permalink

DVB API の不思議な仕様

Linux DVB API の仕様を完全に誤解していました。DVB API ではチャンネルを選局する際に、DTV_FREQUENCY プロパティにチャンネルの周波数を指定します。

この仕様がかなり変わっていて、衛星系は kHz で指定しますが、地上波やケーブル系は Hz で指定する(ドキュメントへのリンク)んです。

私は今までどちらも Hz だと思っていたので、テスト用のアプリを思い切り間違って書いていました。テストアプリで PT2 を制御しようとすると、ISDB-S だけエラーになって選局が出来なかったので、何かおかしいな??とは思っていたのですが、まさかこんな仕様だったとは……。

メモ: 技術系の話は Facebook から転記しておくことにした。追記あり。

[編集者: すずき]
[更新: 2018年 6月 2日 17:23]
link 編集する

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



link permalink

ISDB-S/ISDB-T のデスクランブル

無料放送のデスクランブルはうまくいきました。会社の PC にフルセグが映って満足です。画面が綺麗になったお陰か、仕事中についテレビに目が行ってしまい危険です……。

デスクランブルの実装に速度的な工夫は皆無ですが、PC で実行しているので性能は余裕です。CPU 利用率は Core i7 1コア 12%程度、地上波の全番組(10番組で十分)を同時処理してもお釣りが来ます。

CPU 性能とは別の問題があって、3番組以上同時にデスクランブルしようとすると、B-CAS カード or カードリーダーが変な動きをして死にます。エラーも何も出ないので、理由が良くわかりません…。

Facebook にて「B-CAS カード内のマイコンかバスの性能限界が 2番組では?」と教えていただきました。となると B-CAS 2枚差しに対応したら、4番組まで処理できそうですね。

データ転送は何か考えた方が良さそうです。今は素朴に MPEG2-TS を UDP に載せて垂れ流していますが、ネットワークへの負荷がハンパじゃありません。1番組で 20Mbps 強、帯域を浪費します。

プログラム番号を指定して、どの PMT を通すか決め、要らない PID のパケットは捨てるフィルタを入れた方が良さそうです。家ならば、ギガビットイーサネット前提にした力尽くの解決でも良いです。Wi-Fi だと厳しいかな……。

振り返り

かれこれ 1週間くらいで作れましたが、知識ゼロから書き始めたらこんなにうまく行かなかったでしょう。スムーズに進んだ要因は 2つかな?

1つ目は昔買った Earthsoft PT2 です。PT2 は有志の方により Linux ドライバが開発されました。お陰で Linux PC があれば、スクランブル掛かった MPEG2-TS が簡単に取得できました。

会社の開発ボード+先日作ったドライバでも MPEG2-TS は取得できますが、会社から取得したデータを持って帰ってくる方法が無いんですよね。

2つ目は昔のコードです。MULTI2 復号/暗号や、デスクランブル処理は、以前 Java で書いたことがあって、そこから流用しました。一番難しい部分を瞬殺できたのは大きかったです。

細かい中身を忘れてたせいなのか、自分で納得して書いたコードだと確信できるのに、どうしてこれで動くのかちょっと悩んだりする、不思議な体験をしました。

いやはや、昔の自分はほぼ他人ですね。

メモ: 技術系の話は Facebook から転記しておくことにした。加筆あり。

[編集者: すずき]
[更新: 2018年 5月 31日 03:47]
link 編集する

コメント一覧

  • 通りすがりですみません。 
    私のPC(Win10)ではB−CAS1枚でもアースソフトのPT2の2枚刺しに対応できているので方法はあるかもしれませんね。ただし、カード1枚にドライバ1個を起動して対応してます。技術屋ではないので、中身まではよくわかりませんですが。 
    (2018年06月02日 16:42:23)
  • すずき 
    情報ありがとうございます。PT2 2枚差しということは、同時 8ch(1枚で地デジ x 2 + 衛星 x 2 の 4ch、2枚で 8ch)のデスクランブルが出来ているということでしょうか?

    だとすると、私の書いたプログラムの制御が良くないのかもしれません。時間を見つけて追いかけてみようと思います。 
    (2018年06月02日 17:27:09)
open/close この記事にコメントする



link permalink

白髪の原因

病気やストレスで「白髪」になるのは、免疫システムの働きだった:研究結果 - WIRED.jp を読んで。

ずっとストレス=白髪は俗説だと思っていたけど、関係あるんですね。あくまでも、マウスによる実験なので人間にそのまま適用できるかどうか、まだわからないです。

白髪が多いのは昔からなので気にしていませんが、大きな病気とか、ストレスと関連していると言われると、ちょっと気になってしまいます。

今までは頭の上が白くて、前髪やサイドは黒かったのですが、サイドがかなり白髪に侵略されていて、白くなってきました。最近はストレスフリーな生活してるのに変だなー……?

メモ: 技術系の話は Facebook から転記しておくことにした。加筆あり。

[編集者: すずき]
[更新: 2018年 5月 30日 01:57]
link 編集する

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



link permalink

ワンセグよりフルセグ

ISDB-T を受信できるようになり、ワンセグを見ることができるようになりましたが、ワンセグは解像度が低く細かいところが見えません。動きもカクカク(15fps)です。

フルセグの動画も拝みたいところですが、日本でフルセグを見るためにはスクランブルを解除しなければなりません。

日本はなぜか無料放送にスクランブルが掛かっています。ISDB 仲間のブラジルではスクランブルは無いそうです。日本は変な国ですね…。

テレビを作るわけではないので PAT, PMT, ECM だけ処理して、B-CAS との通信部分、Multi2 の暗号/復号処理(※)を実装すれば、動作チェックくらいならできるはず。たぶん。

(※)CBC と OFB モードを両方使うので、復号するために、暗号処理が要ります。気になる方は Wikipedia をご覧あれ(暗号利用モード - Wikipedia)。

久しぶりに読んだ

久しぶりに ARIB の仕様書(ARIB STD-B25)読みました。日本語はありがたいですけど、やや読むのは辛いです。

できれば B-CAS に送る INS コマンドの値をコマンド例と一緒に書いてくれれば見やすいのになあ。なぜ仕様書の最後に書くんでしょうか。見づらい。

暗号に関しては割と書いてあっても、復号に関する記述が適当で、受信機の設計者はこれ見て作れます??と要らん心配をしてしまいます。

有料になっていた

以前は ARIB の仕様書は気前良く無料で公開されていましたが、有料に変わっていました。お金無くなったんでしょうか?天下の ARIB が貧乏臭くなっちゃって……。

これも今の日本のテレビ業界の斜陽を表しているのかもしれません。

単純なデスクランブル

会社のテレビソフトウェアを使えば、ハードウェアでデスクランブル(=処理負荷が低くて優秀)できますが、要らんシステムがゴチャゴチャくっ付いて来て外せないので死ぬほどウザいです。デスクランブルだけ行うのは不可能じゃないはずですが……ちと面倒です。

ソフトウェアデスクランブルだけ出来ても、番組表も字幕も録画も何もないので、会社で役立つことはほぼなさそうです。お役立ちは目指してないし、個人的には PC にフルセグが映ったら十分なので、他は要らねっすわ。

メモ: 技術系の話は Facebook から転記しておくことにした。加筆あり。

[編集者: すずき]
[更新: 2018年 5月 28日 02:07]
link 編集する

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



link permalink

Linux DVB Frontend ドライバ

会社で Linux 用のフロントエンド(チューナー、デモジュレータ、デマルチプレクサ)のドライバを書いていました。商品に使うかどうかは知りませんけどね……。

この辺の機能は DVB Frontend API とか、単に DVB API と呼ばれて(わかりやすい図)いるようです。Video For Linux 2(V4L2)と共に、Linux Media Subsystem という名前の Subsystem(ドキュメント)を構成しています。

DVB という名前は欧州の放送規格の DVB に由来していますが、現在は DVB に限らず他の放送規格にも対応しています。

衛星(ISDB-S)と地上波(ISDB-T)

私は日本在住なので、とりあえず日本の放送が映れば嬉しいです。ISDB-S, ISDB-T 用のチューナー、デモジュレーターのドライバを作ってみました。

無事、会社の開発ボードで放送波が受信でき、開発ボード → PC に TS を投げつけることで、PC の VLC プレーヤーでワンセグを拝めました。VLC プレーヤー便利です。

フロントエンドって何ですか?状態のド素人からの出発で、1人でセカセカ 3週間くらいでした。チューナーもデモジュレーターも、単品で独立した LSI が多いのでわかりやすい(※)です。フロントエンド系に詳しくて、Linux のドライバ開発に慣れている人なら、もっと早くできるでしょう。

実装したドライバは Linux の開発 ML に送ってみたけれど、今のところ特にお返事ありません。悲しい…。

Linux のフロントエンドドライバの対応状況は結構偏っています。DVB は手厚いですが ATSC, DTMB, ISDB は手薄に見えます。もしご興味ある方は DVB 以外にトライしてみると、喜ばれるのではないでしょうか?

(※)悲しいことに、一番訳が分からなくて手間が掛かるのは、いつも自社の SoC です。未だに良くわからん部分があり、Linux の開発 ML に投稿できていません。

メモ: 技術系の話は Facebook から転記しておくことにした。加筆あり。

[編集者: すずき]
[更新: 2018年 5月 28日 01:17]
link 編集する

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



link もっと前
   2018年 5月 31日 -
      2018年 5月 22日  
link もっと後

管理用メニュー

link 記事を新規作成

合計:  counter total
本日:  counter today

link About www.katsuster.net
RDF ファイル RSS 1.0
QR コード QR コード

最終更新: 10/16 01:37

カレンダー

<2018>
<<<05>>>
--12345
6789101112
13141516171819
20212223242526
2728293031--

最近のコメント 5件

  • link 18年10月12日
    すずき 「なるほど!\n京急、京成はヤバそうですね...」
    (更新:10/15 23:02)
  • link 18年10月12日
    ちかふみ 「閉会式直後の出国ラッシュ対策のためだそう...」
    (更新:10/15 20:43)
  • link 18年10月12日
    すずき 「あー、なるほど!閉会式の次にくっつけたん...」
    (更新:10/14 15:44)
  • link 18年10月12日
    hdk 「2020年の東京オリンピックが8月9日ま...」
    (更新:10/14 10:45)
  • link 18年09月07日
    すずき 「ありがとう!\nこちらこそ、楽しみにして...」
    (更新:09/11 19:30)

最近の記事 3件

link もっとみる
  • link 18年10月14日
    すずき 「[ROCK64 の I2S とクロック] また忘れてしまいそうなの...」
    (更新:10/16 01:37)
  • link 18年10月13日
    すずき 「[Welcome back ROCK64] やっと ROCK64 ...」
    (更新:10/15 23:20)
  • link 18年10月11日
    すずき 「[俺たちの引っ越しはまだ終わらない] 引っ越しの荷物は、終盤にヤケ...」
    (更新:10/15 23:19)

こんてんつ

open/close wiki
open/close Java API

過去の日記

open/close 2002年
open/close 2003年
open/close 2004年
open/close 2005年
open/close 2006年
open/close 2007年
open/close 2008年
open/close 2009年
open/close 2010年
open/close 2011年
open/close 2012年
open/close 2013年
open/close 2014年
open/close 2015年
open/close 2016年
open/close 2017年
open/close 2018年
open/close 過去日記について

その他の情報

open/close アクセス統計
open/close サーバ一覧
open/close サイトの情報