Home
Packages
Forums
Wiki
GitLab
Security
AUR
Download
コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
目次
コミュニティに貢献
最近の出来事
おまかせ表示
特別ページ
交流
ヘルプ
貢献
最近の更新
最近の議論
新しいページ
統計
リクエスト
ArchWiki
検索
検索
表示
アカウント作成
ログイン
個人用ツール
アカウント作成
ログイン
DVB-Tのソースを表示
ページ
議論
日本語
閲覧
ソースを閲覧
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを閲覧
履歴を表示
全般
リンク元
関連ページの更新状況
ページ情報
表示
サイドバーに移動
非表示
←
DVB-T
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
[[Category:マルチメディア]] [[Category:TV カード]] [[en:DVB-T]] {{Related articles start}} {{Related|DVB-S}} {{Related|LIRC}} {{Related|RTL-SDR}} {{Related articles end}} [[wikipedia:ja:DVB-T|DVB-T]] は地上デジタルビデオ放送に使われている国際規格です。DVB-T は様々なハードウェアを使って受信することができますが、この記事では RTL2832U チップセットを搭載した DVB-T USB ドングルだけを扱います ([[RTL-SDR]] による安価なソフトウェア無線としても広く使われています)。 ==ドライバー== 使用するメインのドライバーは {{Ic|dvb_usb_rtl28xxu}} です。最新カーネルに含まれています。ドライバーが[[カーネルモジュール|ロード]]されていない場合、手動でロードしてください: # modprobe dvb_usb_rtl28xxu {{Ic|rtl2832}} や {{Ic|rtl2830}} もロードする必要があるかもしれません: # modprobe rtl2830 # modprobe rtl2832 {{Note|[[RTL-SDR]] をインストールしている場合、上記のドライバーと衝突するので、ドライバーはブラックリストに入れられます。ドライバーをロードする前にブラックリストに追加されていないか確認して、存在する場合は削除してください。ブラックリストファイルはデフォルトでは {{Ic|/etc/modprobe.d/rtlsdr.conf}} に存在します。}} デバイスを接続すると、{{Ic|dmesg}} で以下のように確認できるはずです: [ 4009.326338] usb 7-5: new high-speed USB device number 4 using ehci-pci [ 4009.466712] usb 7-5: dvb_usb_v2: found a 'Realtek RTL2832U reference design' in warm state [ 4009.531594] usb 7-5: dvb_usb_v2: will pass the complete MPEG2 transport stream to the software demuxer [ 4009.531613] DVB: registering new adapter (Realtek RTL2832U reference design) [ 4009.534554] usb 7-5: DVB: registering adapter 0 frontend 0 (Realtek RTL2832 (DVB-T))... [ 4009.534627] r820t 4-001a: creating new instance [ 4009.546177] r820t 4-001a: Rafael Micro r820t successfully identified [ 4009.552681] Registered IR keymap rc-empty [ 4009.552783] input: Realtek RTL2832U reference design as /devices/pci0000:00/0000:00:1d.7/usb7/7-5/rc/rc1/input20 [ 4009.552854] rc1: Realtek RTL2832U reference design as /devices/pci0000:00/0000:00:1d.7/usb7/7-5/rc/rc1 [ 4009.553275] input: MCE IR Keyboard/Mouse (dvb_usb_rtl28xxu) as /devices/virtual/input/input21 [ 4009.554466] rc rc1: lirc_dev: driver ir-lirc-codec (dvb_usb_rtl28xxu) registered at minor = 0 [ 4009.554474] usb 7-5: dvb_usb_v2: schedule remote query interval to 400 msecs [ 4009.565930] usb 7-5: dvb_usb_v2: 'Realtek RTL2832U reference design' successfully initialized and connected {{Note|上記の例ではドングルには R820T チューナーが搭載されているのが確認できますが、よく使われているチューナーは他にも存在します。また、赤外線センサーデバイスが使える場合、正しく設定すればリモコンで操作することが可能です。詳しくは [[LIRC]] を見てください。}} さらに、{{Ic|/dev/dvb/adapter0}} 下でアダプタデバイスが確認できれば問題ありません。カードによっては、様々な理由によって配布されていない追加のファームウェアが必要になります。大抵の場合 dmesg でメッセージが確認できます。お好きな検索エンジンでファイル名を検索して、発見したら、{{ic|/usr/lib/firmware}} にファームウェアを保存してください。また、AUR にパッケージが存在することもあります。 ==ユーティリティ== {{Pkg|linuxtv-dvb-apps}} パッケージに様々な DVB ユーティリティが入っています。 ===スキャン=== {{AUR|w_scan}} を使うことでチャンネルの自動スキャンが行えます (設定不要)。プログラムをインストールしたら次を実行してください: # w_scan -ft -c [country_code] > ~/channels.conf 国名コードがわからない場合、以下を実行することでコードのリストを確認できます (場合によっては国名コードは任意です。詳しくは {{ic|man w_scan}} を参照): # w_scan -c "?" 高度なスキャンオプションは [[DVB-S#チャンネルのスキャン]]に記載されています。''w_scan'' の [http://dev.man-online.org/man2/w_scan/ man ページ] や [http://linuxtv.org/wiki/index.php/W_scan ドキュメント] も参照してください。 ==クライアント== プレイヤーを起動する前あるいは後に、設定ファイルや {{ic|xset}} コマンドを使って[[XScreenSaver|ビデオや TV の再生中にスクリーンセーバーを無効化する方法]]を見てください。{{Pkg|xscreensaver}} をインストールしている場合、{{ic|xset}} ではなく {{ic|xscreensaver-command}} を使ってコマンドラインからスクリーンセーバーを有効化・無効化する必要があります。 ===VLC=== [[VLC]] で DVB-T のチャンネルを視聴する場合、プレイリストを生成するのが一番簡単です: $ w_scan -ft -c [country_code] -L > dvb.xspf $ vlc dvb.xspf もしくは、手動で周波数を指定することもできます。以下のコマンドを使用して DVB-T ストリームを表示できます: $ vlc dvb://frequency=543000000 周波数は Hz 単位でセットします。あなたの地域で送波に使われている基準周波数を指定する必要があります。また、復調方式は自由に指定することができます。{{ic|dvb}} の代わりに {{ic|dvb-t}} や {{ic|dvb-t2}} などが利用可能です。 VLC では様々なコマンドライン引数を使うことができ、例えば、他のプログラムに同調したい場合: $ vlc dvb://frequency=543000000 :program=3 ===MPlayer / mpv=== DVB をストリーミングするとき、[[MPlayer]] (や [[mpv]]) は {{Ic|~/.mplayer/channels.conf}} にチャンネルの設定ファイルを必要とします。[[#スキャン]]の指示に従ってファイルを生成してください。ただし、コマンドで {{Ic|-M}} フラグを使って MPlayer から利用できるフォーマットで生成するようにしてください。{{Ic|w_scan}} を使用する場合: $ w_scan -ft -c [country_code] -M > ~/.mplayer/channels.conf ''mpv'' を使用する場合: $ w_scan -ft -c [country_code] -M > ~/.config/mpv/channels.conf {{ic|mplayer dvb://}} を実行して設定をテストしてください。最初のチャンネルが再生されるはずです。再生されない場合、ストリームを受信するために {{Ic|-demuxer lavf}} や {{Ic|-demuxer mpegts}} を使う必要があります。 設定が上手くいったら次を実行: $ mplayer dvb://"STREAM NAME" {{Ic|STREAM NAME}} はチャンネルの設定ファイルに記載されている適当なチャンネル名に置き換えてください。 {{Note|MPlayer は {{ic|/}} など Linux の特殊記号を名前に含んでいるチャンネルをコマンドラインから再生することはできません。ただし、{{ic|~/.mplayer/channels.conf}} を編集することで手動で名前を変更することができます。}} ==== チャンネルセレクタ ==== 以下の {{AUR|lstv}} スクリプトは {{ic|~/.mplayer/channels.conf}} ファイルからデータを読み込んで、チャンネルの番号付きリストを表示します。スクリプトによって表示された番号をコマンドラインで使うだけで、チャンネルの名前を入力しなくてもチャンネルを視聴することができるようになります。例: {{ic|lstv 3}}。スクリプトによって表示されるチャンネル番号はチューニング設定の行番号と対応しています。また、''mplayer'' を起動する前にスクリプトはディスプレイの省電力機能とスクリーンセーバーを無効化して、スクリプトを終了した後に、もういちど有効化します。スクリプトのスクリーンセーバー管理を無効化したいときは [[MPlayer]] の前後にある {{ic|xset ...;}} を削除してください。 {{hc|/usr/local/bin/lstv|<nowiki> #!/bin/bash if [ "$1" ];then CC='^[0-9]+$'; if ! [[ "$@" =~ $CC ]];then echo Is not a channel number!; else ## awk -F':' -v AA="$1" '//{ZZ++; if(AA == ZZ)system("xset -dpms s off;mplayer dvb://""\""$1"\";xset +dpms s on")} END{if(AA > ZZ)printf "The highest channel number is: "ZZ"\n"}' "$HOME/.mplayer/channels.conf" ## fi; else awk -F':' '// { ZZ++; printf ZZ " | " $1 "\n"}' "$HOME/.mplayer/channels.conf" fi; </nowiki>}} {{Note|1=<nowiki></nowiki> * {{ic|channels.conf}} ファイルは次のコマンドで作成できます: {{ic|w_scan -ft -c ''country_code'' -C UTF-8 -M -E 0 -O 0 > ~/.mplayer/channels.conf}}。 * チャンネルのリストが長すぎる場合、{{ic|<nowiki>lstv | less</nowiki>}} のようなコマンドを使って {{ic|/}} を押してチャンネルの名前を記入することでチャンネル名で検索できます。チャンネルがわかったら {{ic|q}} を押して [http://unixhelp.ed.ac.uk/CGI/man-cgi?less less] を終了してから {{AUR|lstv}} でチャンネル番号を使って下さい。 * 動画の再生に問題が発生するときは [https://bbs.archlinux.org/viewtopic.php?id=57650 Arch Linux Forum] を見てください。 }} {{Warning|同じ名前のチャンネルが複数存在する場合、''mplayer'' はリストのどちらか近いほうしか再生しません。}} ===ffmpeg=== [[FFmpeg]] では DVB-T の MPEG ストリームを入力に指定できますが、{{Ic|tzap}} が必要になります。 {{Note|もっと良い方法を知っている場合は教えて下さい。}} まず、{{Ic|w_scan}} を使って tzap 互換の {{Ic|channels.conf}} ファイルを生成してください: $ w_scan -ft -A1 -X > ~/.tzap/channels.conf そして、次を実行: $ tzap -r "CHANNEL NAME" 正しく設定されていれば、以下のように出力されます: $ tzap -r "CHANNEL NAME" using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0' reading channels from file '/home/user/.tzap/channels.conf' Version: 5.10 FE_CAN { DVB-T } tuning to 506000000 Hz video pid 0x0a21, audio pid 0x0a22 status 00 | signal 0000 | snr 0000 | ber 0000ffff | unc 00007fbd | status 1f | signal 0000 | snr 0126 | ber 00000000 | unc 00007fbd | FE_HAS_LOCK status 1f | signal 0000 | snr 0129 | ber 0000000f | unc 00007fbd | FE_HAS_LOCK status 1f | signal 0000 | snr 0120 | ber 00000003 | unc 00007fbd | FE_HAS_LOCK status 1f | signal 0000 | snr 0125 | ber 00000011 | unc 00007fbd | FE_HAS_LOCK # .... {{Ic|tzap}} に関する詳細は [http://www.linuxtv.org/wiki/index.php/Zap zap の wiki ページ] を見てください。 {{Ic|tzap}} でストリームを符号化することで、{{Ic|ffmpeg}} (やその他のプログラム) から {{Ic|/dev/dvb/adapter0/dvr0}} が使えるようになります。 余計なエンコードを行わないで番組をストリームするシンプルなコマンドは以下のようになります: $ ffmpeg -f mpegts -i /dev/dvb/adapter0/dvr0 out.mp4 {{Note|カードにフロントエンドやデマルチプレクサの設定が必要な場合、上記のコマンドは出力を生成しません。}} ===dvbjet=== DVB カードは同時に複数のプログラムを受信します。[https://github.com/lightful/DVBdirect/ dvbjet] コマンドラインツールは周波数を選択して TV カードを選局し、音声と共に完全な MPEG-TS ストリームを保存します。付属の python スクリプトから ffmpeg を起動して抽出などができます。 ==トラブルシューティング== 何か問題が発生した場合、以下のツールを使ってデバッグできます: * {{AUR|dvbsnoop}} はバンド幅・シグナル・フロントエンドなどに関するあらゆるデータを表示することができる上級者向けのツールです。 * {{Ic|femon -H}} は信号の状態を表示します。
このページで使用されているテンプレート:
テンプレート:AUR
(
ソースを閲覧
)
テンプレート:Hc
(
ソースを閲覧
)
テンプレート:Ic
(
ソースを閲覧
)
テンプレート:META Related articles start
(
ソースを閲覧
)
テンプレート:Note
(
ソースを閲覧
)
テンプレート:Pkg
(
ソースを閲覧
)
テンプレート:Related
(
ソースを閲覧
)
テンプレート:Related articles end
(
ソースを閲覧
)
テンプレート:Related articles start
(
ソースを閲覧
)
テンプレート:Warning
(
ソースを閲覧
)
DVB-T
に戻る。
検索
検索
DVB-Tのソースを表示
話題を追加