Ubuntu 16.04 + Chinachu + PT2でテレビ

以前書いた記事にリンク切れ等がないかをチェックしたり、コマンドをまとめたり、一部削ったりしただけだが、多分これで大丈夫だと思う。もしおかしなところがあったらお知らせ下さい。

準備

①PT2をPCのマザーボードに装着する。

②ICカードリーダーをPCのUSBポートに接続する。

ICカードリーダーにはSCR3310-NTTComを使った。

パッケージのインストール

どれがどれに必要なのかよく分かっていないが、とりあえずこれだけ入れておけば大丈夫そう。

①端末に以下のコマンドをコピー&ペーストして「Enter」キーを押す。

sudo apt-get -y install autoconf build-essential curl git-core libccid libpcsc-perl libpcsclite-dev libpcsclite1 libssl-dev libtool linux-headers-`uname -r` mercurial pcsc-tools pcscd pkg-config yasm

②「[sudo] **** のパスワード:」でパスワードを入力して「Enter」キーを押す。

カードリーダーの動作確認

①端末に以下のコマンドをコピー&ペーストして「Enter」キーを押す。

pcsc_scan

最後に

Japanese Chijou Digital B-CAS Card (pay TV)

のように表示されていればOK。

②「Ctrl」キーと「C」キーを同時に押し、実行中のコマンドを終了する。

ドライバのインストール

上に続けて実行する。

①端末に以下のコマンドをコピー&ペーストして「Enter」キーを押す。

sudo gedit /etc/modprobe.d/blacklist.conf

テキストエディターで「blacklist.conf」ファイルが開かれる。

②最終行に

blacklist earth-pt1

を追記する。

③テキストエディターの「保存」ボタンをクリックする。

④テキストエディターの「×」ボタンをクリックして閉じる。

⑤端末に以下のコマンドをコピー&ペーストして「Enter」キーを押す。

hg clone http://hg.honeyplanet.jp/pt1.oyama/ ~/ダウンロード/pt1_driver_oyama

「~/ダウンロード」フォルダーに「pt1_driver_oyama」フォルダーが保存される。

⑥端末に以下のコマンドをコピー&ペーストして「Enter」キーを押す。

cd ~/ダウンロード/pt1_driver_oyama;hg revert -r c44e16dbb0e2 --all;hg revert -r tip --all

⑦端末に以下のコマンドをコピー&ペーストして「Enter」キーを押す。

gedit driver/pt1_pci.c

テキストエディターで「pt1_pci.c」ファイルが開かれる。

この手順はカーネル4.2以降で必要になったようである。

http://baalzephon.no-ip.org/tech/index.php?Linux%2F%E3%83%86%E3%83%AC%E3%83%93%E9%96%A2%E9%80%A3%2FPT2

⑧11行目の

#include <linux/interrupt.h>

の下に

#include <linux/version.h>

を追記する。

⑨14行目(1行ずれたので元は13行目)の

#include <asm/io.h>

の下に

#if LINUX_VERSION_CODE >=KERNEL_VERSION(4,2,0)
#include <linux/vmalloc.h>
#endif

を追記する。

⑩テキストエディターの「保存」をクリックする。

⑪テキストエディターの「×」ボタンをクリックして閉じる。

⑫端末に以下のコマンドをコピー&ペーストして「Enter」キーを押す。

cd driver;make clean;make;sudo make install;sudo modprobe pt1_drv

⑬PCを再起動する。

ドライバの動作確認

○端末に以下のコマンドをコピー&ペーストして「Enter」キーを押す。

ls -la /dev/pt*video*

下のように表示されればOK。

crw-rw-rw- 1 root video 245, 0 11月 28 09:43 /dev/pt1video0
crw-rw-rw- 1 root video 245, 1 11月 28 09:43 /dev/pt1video1
crw-rw-rw- 1 root video 245, 2 11月 28 09:43 /dev/pt1video2
crw-rw-rw- 1 root video 245, 3 11月 28 09:43 /dev/pt1video3

recpt1のインストール

recpt1は「/pt1_driver_oyama」フォルダーの中にもある。だが、そのrecpt1は後でインストールするChinachuと相性が悪いらしく、番組表の取得で失敗する。そこで別バージョンのrecpt1をインストールする。

①端末に以下のコマンドをコピー&ペーストして「Enter」キーを押す。

wget -P ~/ダウンロード https://github.com/stz2012/recpt1/archive/master.zip;unzip ~/ダウンロード/master.zip -d ~/ダウンロード;cd ~/ダウンロード/recpt1-master/recpt1;./autogen.sh;./configure --enable-b25;make clean;make;sudo make install

②「[sudo] **** のパスワード:」でパスワードを入力して「Enter」キーを押す。

録画テスト

○端末に以下のコマンドをコピー&ペーストして「Enter」キーを押す。

recpt1 --b25 --strip --device /dev/pt1video2 27 30 ~/test.ts

上のコマンドは私の住んでいる地域ではNHK総合を30秒録画するものである。「ホーム」フォルダーに「test.ts」ファイルが生成するが、ちゃんと録画できていればOK。

ドライバの再インストール

カーネルの更新があった場合(パスワードを要求されるアップデートがあった場合、大抵カーネルの更新がある)、再起動後ではドライバが使えなくなるので、再インストールする必要がある。

①端末に以下のコマンドをコピー&ペーストして「Enter」キーを押す。

cd ダウンロード/pt1_driver_oyama/driver;make clean;make;sudo make install

②パスワードを入力して「Enter」キーを押す。

③PCを再起動する。

④端末に以下のコマンドをコピー&ペーストして「Enter」キーを押す。

ls -la /dev/pt*video*

Chinachuのダウンロード及びインストール

①端末に以下のコマンドを入力して「Enter」キーを押す。

git clone git://github.com/kanreisa/Chinachu.git ~/chinachu;cd ~/chinachu/;./chinachu installer

②「what do you install? >」で「1」と入力して「Enter」キーを押す。

Chinachuの設定

上の手順に続けて実行する。

①端末に以下のコマンドを入力して「Enter」キーを押す。

cp config.sample.json config.json;gedit config.json

テキストエディターで「config.json」ファイルが開かれる。

②「config.json」ファイルを以下の内容で上書きする。

{
  "recordedDir" : "./recorded/",
  "temporaryDir": "/tmp/",

  "wuiUsers": [
    "akari:bakuhatsu"
  ],
  "wuiAllowCountries": ["JP"],

  "wuiPort"        : 10772,
  "wuiHost"        : "::",
  "wuiTlsKeyPath"  : null,
  "wuiTlsCertPath" : null,
  "wuiOpenServer"  : false,
  "wuiOpenPort"    : 20772,
  "wuiXFF"         : false,
  "wuiPreviewer"   : true,
  "wuiStreamer"    : true,
  "wuiFiler"       : true,
  "wuiConfigurator": true,

  "recordedFormat": "<date:yyyy年mm月dd日>_<title>.ts",

  "tuners": [
    {
      "name"        : "PT2-S1",
      "isScrambling": false,
      "types"       : [ "BS", "CS" ],
      "command"     : "recpt1 --device /dev/pt1video0 --b25 --strip --sid <sid> <channel> - -"
    },
    {
      "name"        : "PT2-S2",
      "isScrambling": false,
      "types"       : [ "BS", "CS" ],
      "command"     : "recpt1 --device /dev/pt1video1 --b25 --strip --sid <sid> <channel> - -"
    },
    {
      "name"        : "PT2-T1",
      "isScrambling": false,
      "types"       : [ "GR" ],
      "command"     : "recpt1 --device /dev/pt1video2 --b25 --strip --sid <sid> <channel> - -"
    },
    {
      "name"        : "PT2-T2",
      "isScrambling": false,
      "types"       : [ "GR" ],
      "command"     : "recpt1 --device /dev/pt1video3 --b25 --strip --sid <sid> <channel> - -"
    }
  ],

  "channels": [
    { "type": "GR", "channel": "27" },
    { "type": "GR", "channel": "26" },
    { "type": "GR", "channel": "25" },
    { "type": "GR", "channel": "22" },
    { "type": "GR", "channel": "21" },
    { "type": "GR", "channel": "24" },
    { "type": "GR", "channel": "23" },
    { "type": "GR", "channel": "16" },
    { "type": "GR", "channel": "20" },
    { "type": "GR", "channel": "18" },
    { "type": "GR", "channel": "32" },
    { "type": "GR", "channel": "28" },

    { "type": "BS", "channel": "101" },
    { "type": "BS", "channel": "103" },
    { "type": "BS", "channel": "141" },
    { "type": "BS", "channel": "151" },
    { "type": "BS", "channel": "161" },
    { "type": "BS", "channel": "171" },
    { "type": "BS", "channel": "181" },
    { "type": "BS", "channel": "211" },
    { "type": "BS", "channel": "222" }
  ],

  "operRecCmdSpan": 1000
}

「wuiUsers」の「"akari:bakuhatsu"」は「akari」がユーザ名、「bakuhatsu」がパスワードとなる。デフォルトのままでよいと思うが、外部からアクセスできるようにする場合は変えたほうが安全である。

「recordedFormat」は録画ファイル名のフォーマットの設定だが、私の好みに変更している。

「tuners」の設定はPT2用に修正した。

「channels」の設定は私の環境に合わせている。地デジのチャンネル番号は住んでいる地域によって違う。

チャンネル番号については以下のページを参照。

https://ja.wikipedia.org/wiki/%E3%83%86%E3%83%AC%E3%83%93%E5%91%A8%E6%B3%A2%E6%95%B0%E3%83%81%E3%83%A3%E3%83%B3%E3%83%8D%E3%83%AB

「operRecCmdSpan」の設定はChinachuの開発者がPT2で使用した場合は設定したほうがよいと言っているので追加した。

③テキストエディターの「保存」をクリックする。

④テキストエディターの「×」ボタンをクリックして閉じる。

ルール設定ファイルの作成

上に続けて実行する。

○端末に以下のコマンドを入力して「Enter」キーを押す。

echo [] > rules.json

動作チェック

上に続けて実行する。

①端末に以下のコマンドを入力して「Enter」キーを押す。

./chinachu service wui execute

端末に表示されるものを見て、動作しているか確認する。

②「Ctrl」キーと「C」キーを同時に押し、実行中のコマンドを終了する。

③端末に以下のコマンドを入力して「Enter」キーを押す。

./chinachu update -f

これはEPG取得をテストする手順である。

システムへの設定

上に続けて実行する。

①端末に以下のコマンドを入力して「Enter」キーを押す。

./chinachu service operator initscript > /tmp/chinachu-operator;./chinachu service wui initscript > /tmp/chinachu-wui;sudo chown root:root /tmp/chinachu-operator /tmp/chinachu-wui;sudo chmod +x /tmp/chinachu-operator /tmp/chinachu-wui;sudo mv /tmp/chinachu-operator /tmp/chinachu-wui /etc/init.d/

②「[sudo] **** のパスワード:」でパスワードを入力して「Enter」キーを押す。

③端末に以下のコマンドを入力して「Enter」キーを押す。

sudo ln -s /usr/lib/insserv/insserv /sbin/insserv;sudo insserv chinachu-operator;sudo insserv chinachu-wui

「sudo ln -s /usr/lib/insserv/insserv /sbin/insserv」がないとエラーになる。

http://pcok.jp/?p=1731

サービスの開始

上に続けて実行する。

○端末に以下のコマンドを入力して「Enter」キーを押す。

sudo systemctl unmask chinachu-operator;sudo systemctl unmask chinachu-wui;sudo service chinachu-operator start;sudo service chinachu-wui start

「sudo systemctl unmask chinachu-operator」、「sudo systemctl unmask chinachu-wui」がないとエラーになる。

http://d.hatena.ne.jp/ore_de_work/touch/20151018/1445167890

番組表の表示

①Firefoxのアドレスバーに「http://localhost:10772」と入力して「Enter」キーを押す。

②「ユーザ名とパスワードを入力してください」で「ユーザ名」に「akari」、「パスワード」に「bakuhatsu」と入力する。

「wuiUsers」の設定を変更した場合はもちろん、それに合わせる。入力するのは初回だけで、2回目以降は初めから入力されている。

③「OK」をクリックする。

地デジの番組表だけを見たい場合は番組表で「GR」のみにチェックを入れ、BSの番組表だけを見たい場合は「BS」のみにチェックを入れる。

ライブ視聴

①番組表でテレビ局名を右クリックする。

②「ライブ視聴」をクリックする。

③「ストリーミング再生」で「再生」をクリックする。

ライブ視聴するとチューナーがロックされるが、ライブ視聴をやめてもロックが外れず、録画予約に失敗することがある。番組表を閉じるとロックが外れるので、録画予約しているときはいったん番組表を閉じたほうが無難かもしれない。

録画予約

①番組表で録画予約したい番組を右クリックする。

②「予約」をクリックする。

③「手動予約」で「予約」をクリックする。

④「成功」で「OK」をクリックする。

録画ファイルはデフォルトの設定のままなら「~/chinachu/recorded」フォルダーに保存される。

参考サイト

Mercurial > pt1.oyama

http://hg.honeyplanet.jp/pt1.oyama

stz2012

https://github.com/stz2012

kanreisa/Chinachu

https://github.com/kanreisa/Chinachu

(2016/12/01更新)

コメント

非公開コメント