Kaffeineを用いてLinuxマシンでFree-To-Air TVを受信する

 様々な言語で衛星放送されているFree-to-air(FTA)をLinux PCで受信できたらと考えたことはないだろうか? 本稿ではそのための設定法を解説する。

 FTAの番組は、一般にイメージされるテレビ放送のプログラムとは著しく趣が異なっている。例えば、ドイツ語、スペイン語、ギリシャ語でレポートされるニュース番組もあれば、カナリア諸島の紹介番組、Radio France Internationalのポルトガル語版放送、あるいはアルゼンチンで作られているタンゴ専門チャンネルなども受信することができるのだ。こうしたものに興味を抱く視聴者となるのは、外国語を習得中の学生、ラテンアメリカ文化の研究者、遠く離れた祖国の様子を窺い知りたい国外在住者、国際情勢に関心のあるニュースウォッチャなど様々だろうが、いずれのケースにせよ無料で視聴可能なFTAを探せば、個々の目的に則したプログラムを見つけることができるかもしれない。

 こうした衛星放送をPCを用いて受信することには各種のメリットが付随する。PCであればクリック一発で好みの番組にアクセスできるし、最新スペックのマシンならば高速なハードディスクレコーダとしても利用可能であり、Dolby AC-3オーディオのデコードやDVD/CDディスクの再生にも対応しているだろう。またアダプタカードを装備することで標準およびハイビジョン方式の地上放送波を受信できるPCであれば、将来的に新規格の放送が開始されてもテレビ全体を買い換えるのではなく、カードだけをアップグレードすることで対応できるはずである。

 ところで衛星軌道上から送信されてくる番組を手元のデスクトップPCにて再生するには、具体的に何が必要なのだろうか? GNOMEユーザであればMythTVを用いた重労働に勤しんでいるかもしれないが、KDEユーザの場合は本稿で解説するKaffeineで間に合うはずだ。

衛星放送の基礎用語
 FTAでは一般に馴染みのない業界用語も使われているが、ここではその一部を解説しておく。
  • バード(Bird):人工衛星のこと
  • ブラインドスキャン(Blind scan):人工衛星からの信号受信機に装備された機能の1つで、事前の設定に基づいて受信可能なチャンネルの周波数を特定する
  • チャンネル(Channel):トランスポンダ(後述)のカバーする帯域幅の1つを使って伝送される動画と音声を合わせたデータストリームのこと
  • 同軸ケーブル(Coax):鉄心に銅をコーティングしたもの(高額なものは純銅製)を絶縁体で覆い、高周波信号のノイズ混入を防止するようにシールドされたケーブル
  • Digital Video Broadcasting-Satellite(DVB-S):DVB-Terrestrial(DVB-T)やDVB-Cable(DVB-C)などと区別するための名称
  • 電子番組ガイド(EPG:Electronic Programming Guide):人工衛星からの送信電波に含まれている電子的な番組ガイド。通常FTAは無料の最小限サービスという形態を取っているのでEPGは提供されていない
  • フットプリント(Footprint):放送電波を受信できる地上の範囲。実際のフットプリントは人工衛星本体よりもそこに搭載されたトランスポンダにより規定される
  • Kuバンド(Ku band):Cバンド(受信には大型ディッシュが必要)とKaバンド(衛星インターネットで使用されている帯域)の間に位置する周波数帯
  • LNB:Low Noise Blockダウンコンバータの略称。超短波の信号をケーブルで送信可能な波長の長い低域の周波数に変換する
  • 局部発振器(LO:Local Oscillator):LNBで使用される周波数を発生させる装置
  • パラボラディッシュ(Parabolic dish):平行に入射してくる信号をパラボラ曲面で反射させてデコード可能な強度に収束させるためのアンテナ
  • ディッシュのピーク調整(Peaking a dish):ディッシュアンテナでの入力信号強度を最大化させるための調整作業
  • 偏波(Polarization):リニアFTA信号は水平または垂直方向に偏波している。こうした信号電波は2次元平面の一方向にのみ振動しているが、両者は互いに垂直であるため最小限の干渉しか起こさない。この特性を利用することにより1つの周波数で2つの異なるストリーム送信が行える
  • トランスポンダ(Transponder):人工衛星に搭載されている送信用アンテナで、複数のチャンネルを同時に放送できる
  • 調整(Tweaking):FTAのセットアップに対して受信状態を向上させるための微調整を指す場合もあれば、新規の機器類を接続する作業を意味する場合もある
  • アップリンク(Uplink):地上側の受信地域に向けて再送信させる信号を、地上送信局から人工衛星に送信する作業のこと

衛星からの信号の受信法

 世界各地の地上局からアップリンクされたテレビおよびラジオ放送用の信号は、赤道上空に位置する静止衛星にて受信された後に地上に向けて再度送信され直す。その際に電波が到達する範囲(フットプリント)にも限りがあるため、実際にどのプログラムが受信できるかは、自分がどの地域に住んでいるかで変わってくる。また同じフットプリント中でも、いわゆるホットゾーンと呼ばれる地域に近いほど楽に信号を受信できる。こうした放送に使われる人工衛星とフットプリントの詳細についてはLyngSatのWebサイトを参照して頂きたい。

 本稿では設定例として、西経30度上に位置するHispasat 1C/1Dという人工衛星からの受信法を解説することにする。地理的に言うとこの衛星はブラジル沖の大西洋上に静止している。Hispasat衛星からの放送にはKuバンドが使用されているので小型の楕円ディッシュ(レギュラーサイズのピザ皿より若干大きい程度)で充分に受信できるはずであり、このバード(用語集を参照)が中継している放送内容としては、スペイン本国および、カナリア諸島、バスク、アスツリアス、ガリシア、カタロニアなどの自治州を始め、キューバ、コロンビア、アルゼンチン、アラブ諸国などから送信されてくる番組を視聴できるようになっている。これらの大部分は無料で受信できるようになっており、実際に該当するいくつかのトランスポンダをスキャンしたところ約40および60チャンネルのテレビとラジオ放送が行われていた。

 放送中の電波そのものは常時降り注いでいるので、問題は受信とデコードするための機材を用意することである。この受信自体は小型の楕円ディッシュで間に合うが、ここで収束される電波はLNB(Low Noise Block)ダウンコンバータを介して超短波の信号をより波長の長い低周波の信号に変換させなければならない。変換後の長波信号は同軸ケーブルを通じて受信機に伝えることになるのだが、この受信機をDVB-S(Digital Video Broadcasting-Satellite)用PCIカードを搭載したLinuxマシンで賄ってしまおうというのが本稿の趣旨である。この種の受信機はPCIカードとUSBデバイス形態の製品として多数流通しているが、Linuxカーネルでもサポートされているかについては、個々のカードごとに確認しておく必要がある。

 DVB-S信号のデコードに対応したLinuxアプリケーションも各種存在するが、KDE環境ではDVB DreamMythTVxineマルチメディアエンジンなどが利用されている。私の場合はxineのフロントエンドとして機能するKaffeineをチャンネルのチューニングと番組の表示に使用しているが、その理由は単に実際に使ってみて最初に正常に動作したプログラムだったからである。

 インストールおよびチューニング時に発生するトラブルの可能性を最小限化したければ、できるだけ最新バージョンのソフトウェアをそろえておくべきだろう。カーネルのアップデート法については「the Linux Kernel Archives」にある解説に従えばいい。なおLinuxTV.orgというサイトは、新製品のカードが登場するごとにカーネルのアップデート状況を追跡しており、Kaffeineおよびxineに関するチューニングと表示関連のバグも継続的にレポートされるようになっている。

ステップ1:ハードウェアの準備

 古いカーネルでなければ、Linux対応カードは自動で認識される可能性が高い。例えば私の日常的な用途では複数の人工衛星からの電波を受信する関係上、Skystar 2およびGeniatech 103Gという2つのカードを装備しているのだが、どちらも最新カーネルにてサポートされている製品である。受信する衛星が1つだけであれば、カードも1つで済むはずだ。これらカードのインストールが正常に終了した後にdmesgを実行したところ表示されたのが、下記のメッセージである。

# dmesg | grep DVB
DVB: registering new adapter (FlexCop Digital TV device)
DVB: registering frontend 0 (ST STV0299 DVB-S)...
b2c2-flexcop: initialization of 'Sky2PC/SkyStar 2 DVB-S' at the 'PCI' bus controlled by a 'FlexCopIIb' complete
cx88[0]: subsystem: 14f1:0084, board: Geniatech DVB-S [card=52,autodetected]
cx88[0]/2: subsystem: 14f1:0084, board: Geniatech DVB-S [card=52]
cx88[0]/2: cx2388x based DVB/ATSC card
DVB: registering new adapter (cx88[0])
DVB: registering frontend 1 (Conexant CX24123/CX24109)...

 これらの他にも、下記に一覧したようなドライバ類がいくつか作成されることになる。

/dev/dvb/adapterN/frontend0
/dev/dvb/adapterN/demux0
/dev/dvb/adapterN/dvr0
/dev/dvb/adapterN/net0

 ここでのNには0で始まる整数値が入る。

ステップ2:ソフトウェアの準備

 Kaffeineのインストールは、そのソースに対して「./configure && make && make install」コマンドを実行して行う。インストール後にKDEを確認すると、コントロールパネルのMultimedia Playersグループに起動ボタンが追加されているはずだ。

 次にKaffeineを起動し、搭載したカードがMain→DVB→Configure DVBにて認識されていることを確認する。その左側にはDVB Device 0:0ないしDVB Device 1:0(DVBデバイスを2つ装備している場合)と表示されているはずだが、カードとアダプタの対応はKaffeineが自動で識別してくれる。

 本当に重要なのはここからの設定である。まずは、ディッシュアンテナを衛星の位置する方向に正しく向けて、可能な限り最高の強度で電波が受信できるようにしなくてはならない。こうした調整作業についてはSatellite Finderを利用すると、自分の場所から特定の人工衛星をポイントさせるにはどの方向にディッシュをセットアップすればいいかが確認できるし、その他の問題についてはSatelliteGuysなどのWebサイトで運営されているFree-To-Air関連のフォーラムが参考になるだろう。人工衛星のポインティングや入力信号の最大化(ピーク調整)を満足行くものとするにはそれなりの技巧を必要とするが、こうした作業を支援するための機器類も販売されている。

 Kaffeineとxineの組み合わせの場合、本来の専用受信機とは異なり、信号さえ受信できれば後は自動的にデコードできるという状態にまでは整備されていない。そのため、トランスポンダごとに異なる、周波数、偏波、シンボルレートに関する情報を指定しなければならない。こうした情報に関するヒントとなるのが、各自の.kde/share/apps/kaffeine/dvb-s/ディレクトリに用意されるテキストファイル群であり、最新版のファイルセットはJoshyFun’s Transponders Lists in Kaffeine Formatから取得できる。なおここでの解説例で受信しようとしている衛星は1つだけなので、dvb-sディレクトリにあるファイルについてもHispasat関連のものだけが必要となる。

 以上の準備が整えば、チャンネルのスキャンを実行する。まずはDVB→Configure DVBにあるドロップダウンリストにおいてHispasatを選択しておく。次にStart Scanをクリックすると、Kaffeineがトランスポンダのリストを基にして利用可能な個々のチャンネルをチェックしていく。チューニングが完了したトランスポンダについてはロックインジケータの表示色がダークグリーンからライトグリーンに変化するが、これは信号本体および信号対雑音比(SNR:Signal-to-Noise Ratio)が基準レベルに達したことを意味する(SNR > ~55)。これにより受信可能であると特定されたテレビとラジオおよび暗号化(ロックアイコンで表示)と非暗号化の全チャンネルが右側のペインに表示される。

 特定されたチャンネルリストについては、プレイリストへの登録項目を指定しなければならない。その際には個々のチャンネル別の選択および複数項目の同時選択(Ctrlキーを使用)が行えるが、その他にフィルタオプション(Free to air、TV、Radio)を利用することもできる。

 Kaffeineの使用に関して不明な点が生じたら、NabbleおよびKaffeine Forumなどのフォーラムにて質問すればいいだろう。

まとめ

 こうしたFTAの受信は安価な趣味の1つとして楽しむこともできるが、遠く離れた祖国の様子を確認したり、興味をかき立てる異国に関する生の情報を入手できるのは、他では得難い報酬だとも言えるだろう。特にLinuxマシンにてFTAを受信可能とすることは、自分自身の手で細かな調整を施せるだけでなく、各種の状況に自力で対応できる可能性を広げることになるのだ。

Colin Beckinghamは東部オンタリオに在住し、フリーランスのプログラマ兼ライターとして活動しており、現在はバイオマス燃焼装置の運用ログをオープンソースリソースを活用して記録および視覚化するプロジェクトに取り組んでいる。

Linux.com 原文