Linux Mint 13でBeholder 609 TVチューナーを設定する

この記事が誰かがセットアップの時間を節約するのに役立つことを願っています。 この記事は初心者を対象としていますが、経験豊富なユーザーが何か役に立つものを見つけてくれることを願っています。 すべてのアクションはlinux mintで実行されましたが、すべてがUbubntuおよび他のdebianライクなディストリビューションで動作すると信じています。



注目を集めるための写真。 写真では、Aver 307チューナーは何年も前に見よ407で私によって粗く、冷酷に作り直されました。



それでは始めましょう。



初期設定



TVチューナーが取り付けられており、アンテナ、赤外線センサーコード、およびオーディオケーブルが挿入されており、その2番目の端はサウンドカードのライン入力にあります。 視聴には、tvtimeプログラムを使用します。

sudo apt-get install tvtime
      
      





インストール時に、放送規格とチャンネルの周波数グリッドのオプションが求められます。 ロシアの標準はSECAMで、 モザンビークの周波数グリッドロシアです。

インストールすると、ユーザーがアクセスできない.tvtimeディレクトリがユーザーディレクトリに作成されます。 したがって:

 sudo chmod 7 ~/.tvtime/
      
      





実行できます。

 tvtime
      
      





〜/ .tvtimeに、tvtime.xmlおよびstationlist.xmlファイルが作成されます。

テレビ画像を見て、音を聞いた場合、あなたは途方もなく幸運でした。 次の項目に進むことができます。

チューナーからではなく、たとえばWebカメラからの画像が表示される場合は、tvtime.xmlをファイルに追加します

 <option name="V4LDevice" value="/dev/video1/>
      
      





デバイス番号を取得してみてください。

音が聞こえない場合(99%そのまま)。 起動する

 alsamixer
      
      





線に沿って音量を上げます。 文字MMがスライダーの下にある場合、線は無効になっています。 オンにします-「M」キーを押します。



音が表示されます。 そうでない場合は、サウンドカードの特定のモデルに既に依存しています。 カードがどのラインからラインインを取得するかを確認します(ラインインとリアアウトのオプションがあります)。 機器モデルに関連する他のエキゾチックな機能があるかもしれません。 たとえば、vt1828s経由の統合されたサウンドにはパラメーターがあります-ループバック。 そのため、彼がテレビチューナーからのサウンドをEnebledすると、サウンドは機能しなくなります(サイレントムービー、聞き取れない音楽)。 無効の場合、逆のことが当てはまります。



サウンドを処理し、最終的にトピックを閉じるために、tvtime.xmlに行を追加します

 <option name="MixerDevice" value="hw:0/Master"/>
      
      





どのボリュームチャンネルを操縦するかをプログラムに伝えます。 Lineを指定できます。実際、お好みのチャンネルを指定できます。 alsamixerのチャンネル名をご覧ください。 手紙の場合が重要です。

終了時およびすべてのウィンドウの上部でサウンドをミュートするオプションを追加できます。

 <option name="MuteOnExit" value="1"/> <option name="AlwaysOnTop" value="1"/>
      
      





チャンネル設定



以下を開始します。

 tvtime-scanner -d /dev/video1 -n SECAM
      
      





/ dev / video1の代わりにデバイスを置き換えます。 ケーブルプロバイダーのサービスを使用する場合、PAL規格でブロードキャストできます。 それには何の問題もありません。 とにかくチャンネルが見つかります。 特定のチャネルのエンコードは、後でstationlist.xmlファイルで変更できます。

チャンネルをスキャンした後、stationlist.xmlを開き、余分なチャンネルを削除し、見つからない場合は追加します(ただし、これはほとんどありません)。

これは、チャネルとの行です。

 <station name="1" active="1" position="1" band="VHF Russia" channel="R1" finetune="0" norm="SECAM" audio="auto"/>
      
      





name-切り替え時に画面に表示されるチャンネルの名前。 チャンネル名に英語の文字だけが含まれない場合は、広告にxmlを追加します
  encoding="UTF-8"
      
      





それ以外の場合、tvtimeの開始後、文字はUnicodeコードに変換されます。

アクティブ -0の場合、チャネルをスクロールするときにスキップされます

position-チャンネルが置かれるボタン。

他のパラメーターを手動で変更する必要はありません。



テレビ番組



従来のテレビと比較したコンピューターチューナーの最大の利点は、テレビ番組を画面に直接表示できることです。 チャンネルを切り替えて広告を確認しますが、その直後に何が起きるかを知っており、音をさらに大きくスクロールします。





Tvtimeはxmltvファイルを使用でき、それを使用します。

tvtime.xmlに追加します。

  <option name="XMLTVFile" value="~/.tvtime/xmltv.xml"/> <option name="XMLTVLanguage" value="ru"/>
      
      





プログラムをダウンロードして解凍します。

 cd ~/.tvtime wget http://www.teleguide.info/download/new3/xmltv.xml.gz gzip -f -d xmltv.xml.gz > xmltv.xml
      
      





ここで、xmltv.xmlとstationlist.xmlからチャンネルをリンクする必要があります。 xmltv.xmlの各チャンネルにはIDがあります。 次のように、stationlist.xmlファイルのxmltvid属性に書き込みます。

 <station name="" xmltvid="1" active="1" position="1" band="VHF Russia" channel="R1" finetune="0" norm="SECAM" audio="auto"/>
      
      





以上です。 これで、テレビの電源を入れて、画面で番組ガイドを楽しむことができます。 確かに、あなたが私たちの故郷首都モスクワのデフォルト都市に住んでいないなら、あなたの喜びはおそらく不完全です。 実際の放送の時間は、テレビ番組の時間と一致しないためです。 さらに、異なるチャネルでは、時間の偏差が異なります。

これを修正しましょう:

 sed -i '/channel="1"/s/+0400/+0600/g' xmltv.xml #  : +2 
      
      





最初、xmltv.xmlファイルにはタイムゾーン+4時間(明らかにグリニッジから)が含まれており、+ 6時間行います。 各チャネルに対して同様のコマンドを実行する必要があります。



リモートコントロールのセットアップ



最も困難で時間のかかる段階。

リモートコントロールを使用するには、2つの方法があります。

1. lirc経由、

2.オプションのキーボードと同様。

2番目の方法に進みます。 部分的に、リモートコントロールは既に機能しているはずです。 数字キーと音量ボタンが機能します。 残りのボタンはそうではありません。

実際には、リモートはすでにシステムによってキーボードとして定義されています。 キーボードのスキャンコードとキーコードの対応は、カーネルレベルで設定されます。

値を変換する手順は次のとおりです(アマチュア言語でどのように理解したかを説明しますが、修正と説明は大歓迎です)。

1.ドライバーは、ボタンのスキャンコード(物理信号)をシングルバイトまたはマルチバイトキーコード(キーコード)に変換し、「関係者」に送信します。

2.私たちの場合、関係者はXサーバーであり、キーボードモデルに応じて、受信したキーコードの解釈方法を決定します。 つまり 同じコードでも、異なるデバイスモデルから受け取ったXサーバーは、さまざまな方法で解釈できます。 これは通常、英数字とメイン(矢印やEnterなど)ボタンには適用されません。 しかし、私たちにとって興味のあるマルチメディアボタンは非常に重要です。

もう1つ問題があります。 Xサーバーはシングルバイトのキーコードのみを受け入れることができ、見る人のリモコンの一部のボタンはより長いコードを持っています。 修正します。 ユーティリティをインストールします。

 sudo apt-get install ir-keytable input-utils
      
      





リモートコントロールの現在のコードテーブルを読み取ります。

 sudo ir-keytable -r -d /dev/input/event`cat /proc/bus/input/devices | grep -3 "i2c-.*/.*/ir0" | grep "H:" | awk '{ sub(/event/, "", $3); print $3}'` >/etc/rc_keymaps/behold-key
      
      





初心者向けの説明。 実際、すべてがそれほど怖いわけではありません。 この行は次のように置き換えることができます

 sudo ir-keytable -r -d /dev/input/event5 > /etc/rc_keymaps/behold-key
      
      





そして、それはさらに悪くなります。 あなたのコンソールがシステムにリストされているイベントを正確に知る必要があります。 怖い行の残りは、単に数を計算しているだけです。 このコマンドを使用すると、コンピューターに接続されているキーボードのコードテーブルを読み取ることができます。



現在のレイアウトのファイル/ etc / rc_keymaps / behold-keyが表示されました。 次のようになります。

 scancode 0x6b8600 = KEY_0 (0x0b) scancode 0x6b8601 = KEY_1 (0x02) scancode 0x6b8602 = KEY_2 (0x03) scancode 0x6b8603 = KEY_3 (0x04) scancode 0x6b8604 = KEY_4 (0x05) scancode 0x6b8605 = KEY_5 (0x06) scancode 0x6b8606 = KEY_6 (0x07) scancode 0x6b8607 = KEY_7 (0x08) scancode 0x6b8608 = KEY_8 (0x09) scancode 0x6b8609 = KEY_9 (0x0a) scancode 0x6b860a = KEY_AGAIN (0x81) scancode 0x6b860b = KEY_CHANNELUP (0x192) scancode 0x6b860c = KEY_VOLUMEUP (0x73) scancode 0x6b860d = KEY_INFO (0x166) scancode 0x6b860e = KEY_TEXT (0x184) scancode 0x6b860f = KEY_RECORD (0xa7) scancode 0x6b8610 = KEY_ZOOM (0x174) scancode 0x6b8611 = KEY_MUTE (0x71) scancode 0x6b8612 = KEY_POWER (0x74) scancode 0x6b8613 = KEY_GREEN (0x18f) scancode 0x6b8614 = KEY_SCREEN (0x177) scancode 0x6b8615 = KEY_CHANNELDOWN (0x193) scancode 0x6b8616 = KEY_OK (0x160) scancode 0x6b8617 = KEY_MODE (0x175) scancode 0x6b8618 = KEY_VOLUMEDOWN (0x72) scancode 0x6b8619 = KEY_BLUE (0x191) scancode 0x6b861a = KEY_STOP (0x80) scancode 0x6b861b = KEY_PLAYPAUSE (0xa4) scancode 0x6b861c = KEY_TUNER (0x182) scancode 0x6b861d = KEY_SLEEP (0x8e) scancode 0x6b861e = KEY_VIDEO (0x189) scancode 0x6b861f = KEY_RED (0x18e) scancode 0x6b8658 = KEY_SLOW (0x199) scancode 0x6b865c = KEY_CAMERA (0xd4)
      
      





このファイルを編集して、マルチバイトコードやXサーバーが理解できないコードがないようにします。

 gksudo gedit /etc/rc_keymaps/behold-key
      
      





書き戻します:

 ir-keytable -c -w /etc/rc_keymaps/behold-key -d /dev/input/event`cat /proc/bus/input/devices | grep -3 "i2c-.*/.*/ir0" | grep "H:" | awk '{ sub(/event/, "", $3); print $3}'`
      
      





再起動する前に、新しいコードテーブルでリモートを取得します。 再起動後、すべてが以前のようになります。 結果を永遠に持続させる方法がわからないので、最後のコマンドで/etc/rc.localファイルをスタートアップに追加しました。

編集したbehold-keyファイルの例を次に示します。

 scancode 0x6b861c = KEY_PROG1 (0x94) scancode 0x6b8612 = KEY_CLOSE (0xce) scancode 0x6b8600 = KEY_0 (0x0b) scancode 0x6b8601 = KEY_1 (0x02) scancode 0x6b8602 = KEY_2 (0x03) scancode 0x6b8603 = KEY_3 (0x04) scancode 0x6b8604 = KEY_4 (0x05) scancode 0x6b8605 = KEY_5 (0x06) scancode 0x6b8606 = KEY_6 (0x07) scancode 0x6b8607 = KEY_7 (0x08) scancode 0x6b8608 = KEY_8 (0x09) scancode 0x6b8609 = KEY_9 (0x0a) scancode 0x6b860a = KEY_PROG2 (0x95) scancode 0x6b8614 = KEY_PROG3 (0xca) scancode 0x6b8617 = KEY_SWITCHVIDEOMODE (0xe3) scancode 0x6b8610 = KEY_F11 (0x57) scancode 0x6b860b = KEY_UP (0x67) scancode 0x6b8615 = KEY_DOWN (0x6c) scancode 0x6b860c = KEY_RIGHT (0x6a) scancode 0x6b8618 = KEY_LEFT (0x69) scancode 0x6b8616 = KEY_ENTER (0x1c) scancode 0x6b8611 = KEY_MUTE (0x71) scancode 0x6b860d = KEY_KPEQUAL (0x75) scancode 0x6b860f = KEY_RECORD (0xa7) scancode 0x6b861b = KEY_PLAYPAUSE (0xa4) scancode 0x6b861a = KEY_STOPCD (0xa6) scancode 0x6b860e = KEY_PAUSECD (0xc9) scancode 0x6b861f = KEY_PREVIOUSSONG (0xa5) scancode 0x6b861e = KEY_NEXTSONG (0xa3) scancode 0x6b861d = KEY_MEDIA (0xe2) scancode 0x6b8613 = KEY_VOLUMEDOWN (0x72) scancode 0x6b8619 = KEY_VOLUMEUP (0x73) scancode 0x6b865c = KEY_CAMERA (0xd4) scancode 0x6b8658 = KEY_SPORT (0xdc)
      
      





そして、Xサーバーが通常認識するいくつかのコード(厳しいブルートフォース法を使用して取得したデータ)です。 ビホルダーコンソールからのコードがこのように認識されるという事実にあなたの注意を引き付けます 。 他のキーボードからは、0x94はKEY_PROG1としてまったく識別されない場合があります。

 KEY_CLOSE (0xce) KEY_EXIT (0xae) KEY_PROG1 (0x94) KEY_PROG2 (0x95) KEY_PROG3 (0xca) KEY_PROG4 (0xcb) KEY_POWER (0x74) KEY_VOLUMEDOWN (0x72) KEY_VOLUMEUP (0x73) KEY_NEXTSONG (0xa3) KEY_PLAYPAUSE (0xa4) KEY_PREVIOUSSONG (0xa5) KEY_STOPCD (0xa6) KEY_RECORD (0xa7) KEY_PLAYCD (0xc8) KEY_PAUSECD (0xc9) KEY_PLAY (0xcf) KEY_FASTFORWARD (0xd0) KEY_BASSBOOST (0xd1) KEY_CAMERA (0xd4) KEY_SOUND (0xd5) KEY_FINANCE (0xdb) KEY_SPORT (0xdc) KEY_SHOP (0xdd) KEY_ALTERASE (0xde) KEY_MEDIA (0xe2) KEY_VIDEO_NEXT (0xf1) KEY_VIDEO_PREV (0xf2) KEY_LINEFEED (0x65) KEY_MACRO (0x70) KEY_MIN_INTERESTING (0x71) KEY_KPEQUAL (0x75) KEY_KPPLUSMINUS (0x76) KEY_PAUSE (0x77) KEY_KPCOMMA (0x79) KEY_HANJA (0x7b) KEY_YEN (0x7c) KEY_STOP (0x80) KEY_AGAIN (0x81) KEY_PROPS (0x82) KEY_UNDO (0x83) KEY_FRONT (0x84) KEY_COPY (0x85) KEY_OPEN (0x86) KEY_PASTE (0x87) KEY_CUT (0x89) KEY_FIND (0x88) KEY_MENU (0x8b) KEY_CALC (0x8c) KEY_SETUP (0x8d) KEY_WAKEUP (0x8f) KEY_FILE (0x90) KEY_SENDFILE (0x91) KEY_DELETEFILE (0x92) KEY_XFER (0x93) KEY_WWW (0x96) KEY_MSDOS (0x97) KEY_DIRECTION (0x99) KEY_CYCLEWINDOWS (0x9a) KEY_MAIL (0x9b) KEY_BOOKMARKS (0x9c) KEY_COMPUTER (0x9d) KEY_BACK (0x9e) KEY_FORWARD (0x9f) KEY_CLOSECD (0xa0) KEY_EJECTCD (0xa1) KEY_EJECTCLOSECD (0xa2) KEY_REWIND (0xa8) KEY_PHONE (0xa9) KEY_ISO (0xaa) KEY_CONFIG (0xab) KEY_REFRESH (0xad) KEY_EDIT (0xb0) KEY_SCROLLUP (0xb1) KEY_SCROLLDOWN (0xb2) KEY_NEW (0xb5) KEY_REDO (0xb6) KEY_HOMEPAGE (0xac)111 KEY_DASHBOARD (0xcc) KEY_HP (0xd3) KEY_QUESTION (0xd6) KEY_EMAIL (0xd7) KEY_CHAT (0xd8) KEY_CONNECT (0xda) KEY_SEARCH (0xd9) KEY_CANCEL (0xdf) KEY_BRIGHTNESSDOWN (0xe0) KEY_BRIGHTNESSUP (0xe1) KEY_SWITCHVIDEOMODE (0xe3) KEY_KBDILLUMTOGGLE (0xe4) KEY_KBDILLUMDOWN (0xe5) KEY_KBDILLUMUP (0xe6) KEY_SEND (0xe7) KEY_REPLY (0xe8) KEY_FORWARDMAIL (0xe9) KEY_SAVE (0xea) KEY_DOCUMENTS (0xeb) KEY_WLAN (0xee) KEY_UWB (0xef) KEY_BRIGHTNESS_CYCLE (0xf3) KEY_BRIGHTNESS_ZERO (0xf4) KEY_DISPLAY_OFF (0xf5) KEY_WIMAX (0xf6) KEY_RFKILL (0xf7)
      
      





リモートコントロールボタンの設定作業を行う場合、次の監視方法を使用すると便利です。 打ち上げ

 sudo input-events -t60 5
      
      





60は秒単位で押すための待機時間で、5はシステム内のキーボード番号です。 そして、リモコンのボタンを押します。

この問題には、およそ次の形式があります。

 00:56:27.954276: EV_MSC MSC_SCAN 7046683 00:56:27.954281: EV_KEY KEY_PLAYPAUSE (0xa4) pressed 00:56:27.954281: EV_SYN code=0 value=0 00:56:28.062206: EV_MSC MSC_SCAN 7046683 00:56:28.062207: EV_SYN code=0 value=0 00:56:28.314253: EV_KEY KEY_PLAYPAUSE (0xa4) released 00:56:28.314254: EV_SYN code=0 value=0
      
      





出力は、ボタンを押して離すと発生します。

7046683は、10進数システムのリモートコントロールボタンの物理スキャンコードです。 とにかく表示されます。

(0xa4) -ドライバーが次に送信したキーコード。 その長さが1バイトに等しくない場合、Xサーバーはそれを認識しません。

KEY_PLAYPAUSEはボタンの名前です。 名前がない場合、このボタンはコマンドをハングさせることができません。 キーコードを変更します。



最後の仕上げ



システムは、マルチメディアキーを備えた追加のキーボードとしてリモートコントロールを認識しました。 押すことに対するシステムの反応を設定するために残っています。 十字ボタンは矢印とEnterとして設定されているため、tvtimeのボリュームとチャンネルの切り替えはすでに機能しています。

キーボード設定に移動して、ほとんどのプレーヤーで機能する再生キーを設定します。



残りのボタンに追加のコマンドを設定します。

F11にFullScreenキーを割り当てました。 ほとんどのプログラムは、このキーをフルスクリーンモードへの切り替え、またはその逆として認識しますが、tvtimeは認識しません。 したがって、tvtime.xmlファイルに追加します

  <bind command="toggle_fullscreen"> <keyboard key="F11"/> </bind>
      
      





残念ながら、tvtimeはマルチメディアキーを理解しないため、KEY_SWITCHVIDEOMODEを押すアクションの設定は失敗します。 しかし、別の方法があります。

追加のキーボード設定コマンドのセクションで、コマンドを設定します

 tvtime-command TOGGLE_ASPECT
      
      





ドキュメントのtvtimeコマンドの完全なリストを読んでください。

アクティブなウィンドウを閉じるボタンが必要な場合は、次を設定します。

 sudo apt-get wmctrl
      
      





そして追加のコマンドを追加します:

 wmctrl -c :ACTIVE:
      
      







以上です。 訂正と説明を歓迎します。 トピックが興味深い場合は、MythTVメディアのセットアップの問題を、マルチチューナー構成でネットワーククライアントと組み合わせて調べることができます。 ところで、MythTVにはAndroidのフロントエンドがあります。 あなたはタブレットやスマートからライブテレビを見ることができます...それは魅力的ですか?!




All Articles