LIVA と KTV-FSUSB2 で地デジをみる
鼻毛鯖で使っている USB 地デジチューナー KTV-FSUSB2 を ECS LIVA にくっつけて、視聴・録画を試してみた。OS は Ubuntu 14.04 Desktop。
KEIAN USB地デジ&ワンセグチューナー KTV-FSUSB2/V3
- 出版社/メーカー: KEIAN
- メディア: Personal Computers
- 購入: 2人 クリック: 9回
- この商品を含むブログを見る
チューナーの接続
以前鼻毛鯖で設定した時と同様。
まず USB に接続していない状態で、使用するユーザーを video グループに追加する。
$ sudo gpasswd -a ユーザー名 video
グループの追加を反映させるため、一度ログアウトしてからログイン。
次に /lib/udev/rules.d/89-tuner.rules を以下の内容で作成。
# FSUSB2N SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="0511", ATTRS{idProduct}=="0029", MODE="0664", GROUP="video"
そしてチューナーを接続し、認識されているか確認。
$ lsusb -d 0511: Bus 002 Device 003: ID 0511:0029 N'Able (DataBook) Technologies, Inc.
recfsusb2n のビルド
以下の記事を参考にした。
ソースのダウンロード
recfsusb2n for linux のソース本体を下のリポジトリから取ってくる。2012年11月26日以降は更新されていない。バージョンは 0.9.2。
次に、下のブログから tssplitter_lite と HTTP サーバを内蔵させるパッチをダウンロード。最新は2012年5月30日の記事のもの。
パッチの適用
パッチのアーカイブ recfsusb2n_http_patch2.zip を展開すると中身は以下のようになっている。
recfsusb2n_http_patch2 ├── Makefile ├── decoder.h ├── fsusb2n.cpp ├── readme_patch.txt ├── tssplitter_lite.cpp └── tssplitter_lite.h
これら中身のファイルをすべて recfsusb2n/src/ 内に(上書き)コピーする。
make
上のリポジトリの状態では cmake を使ってビルドするようになっているが、パッチの中に Makefile がついているので、今回はこれを使う。
自分のLIVA+Ubuntu では、以下のように src/Makefile を1行修正する必要があった(-lboost_thread-mt ではない)。
LIBS = -lpthread -lboost_system -lboost_thread -lboost_filesystem
書き換えて make すれば、src/ 内に recfsusb2n という実行ファイルができあがる。
$ sudo apt-get install libboost-thread-dev libboost-filesystem-dev $ cd src $ make
視聴する
引数なしで実行するとヘルプが表示される。
$ ./recfsusb2n usage: ./recfsusb2n [--b25] [-v] [--sid n1,n2,...] [--wait n] channel recsec destfile Remarks: if rectime is '-', records indefinitely. if destfile is '-', stdout is used for output. http broadcasting mode: ./recfsusb2n --http portnumber [--b25] [-v] [--sid n1,n2,...] [--wait n] Options: --b25: Decrypt using BCAS card -v: --sid n1,n2,...: Specify SID number or keywords(all,hd,sd1,sd2,sd3,1seg,epg) in CSV format --http portnumber: Turn on http broadcasting (run as a daemon) --wait n: Wait insert before of recording (1=100mSec)
録画テスト
テストのため、TS ファイルを30秒間だけ録画してみる。チャンネルの27はNHK総合(東京)。
$ ./recfsusb2n --b25 -v 27 30 test.ts
test.ts を VLC で再生してみたらちゃんと録画できていた。成功。
確認が終わったら、recfsusb2n をパスの通っているところ(/usr/local/bin)に入れておく。
内蔵 HTTP サーバを使ってテレビを視聴する
--http オプションを指定すると、HTTP サーバとなるデーモンが立ち上がる。
$ recfsusb2n --b25 -v --http 8888 creating a http daemon recfsusb2n ver. 0.9.2 ISDB-T DTV Tuner FSUSB2N device: "/dev/bus/usb/001/003" run as a daemon.. listening at port 8888 pid = 3475
VLC からこれにアクセスすれば、好きなチャンネルの放送を視聴することができる。たとえば、27chなら次のようにする。
$ vlc http://localhost:8888/27
なお、あらかじめ以下のようなテキストファイルを tv.m3u などとして作成しておき、これを VLC にプレイリストとして読み込ませれば、GUI からのチャンネル変更が容易になる。
#EXTM3U #EXTINF:0,NHK 総合 http://localhost:8888/27 #EXTINF:0,NHK Eテレ http://localhost:8888/26 #EXTINF:0,日本テレビ http://localhost:8888/25 #EXTINF:0,テレビ朝日 http://localhost:8888/24 #EXTINF:0,TBS http://localhost:8888/22 #EXTINF:0,テレビ東京 http://localhost:8888/23 #EXTINF:0,フジテレビ http://localhost:8888/21 #EXTINF:0,東京MX http://localhost:8888/20 #EXTINF:0,放送大学 http://localhost:8888/28
というわけで、LIVA でも普通に地デジの試聴ができた。次は録画予約システム Chinachu を導入してみたい。
Ubuntu 14.04 on LIVA の環境整備
昨日(下の記事)のつづき。
デスクトップ版 Ubuntu を入れたので一応 GUI でも使えるが、普段は SSH でログインして CUI で使おうかと考えている。LAN は有線。
ログインシェルを zsh にする
$ sudo apt-get install zsh … $ zsh --version zsh 5.0.2 (x86_64-pc-linux-gnu) $ which zsh /usr/bin/zsh $ chsh パスワード: mashabow のログインシェルを変更中 新しい値を入力してください。標準設定値を使うならリターンを押してください ログインシェル [/bin/bash]: /usr/bin/zsh
一旦ログアウトしてからログインすると zsh の初期設定が始まる。
This is the Z Shell configuration function for new users, zsh-newuser-install. You are seeing this message because you have no zsh startup files (the files .zshenv, .zprofile, .zshrc, .zlogin in the directory ~). This function can help you with a few settings that should make your use of the shell easier. You can: (q) Quit and do nothing. The function will be run again next time. (0) Exit, creating the file ~/.zshrc containing just a comment. That will prevent this function being run again. (1) Continue to the main menu. (2) Populate your ~/.zshrc with the configuration recommended by the system administrator and exit (you will need to edit the file by hand, if so desired). --- Type one of the keys in parentheses --- 0
とりあえず 0 で抜ける。そのあと、他のマシンで使っている .zshrc を持ってきた。
mosh のインストール
$ sudo apt-get install mosh $ mosh --version mosh 1.2.4a Copyright 2012 Keith WinsteinLicense GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
インストール後、ufw の設定を追加し、mosh への通信ができるようにする。
$ sudo ufw app info mosh プロファイル: mosh タイトル: Mosh (mobile shell) Description: Mobile shell that supports roaming and intelligent local echo Port: 60000:61000/udp $ sudo ufw allow mosh ルールを追加しました ルールを追加しました (v6)
他のマシンから mosh でログインできることを確認して完了。
ECS LIVA を買って Ubuntu 14.04 を入れた
常時稼動用に使えるかなーと思って ECS LIVA-B3-2G-32G を買ってみた。ドスパラで税込17,980円。
Live USB を作る
Ubuntu 14.04 Desktop の日本語 Remix をダウンロードして、UNetbootin で Live USB を作る。このとき、USB メモリは FAT でフォーマットしておく。
LIVA に Ubuntu をインストールする
LIVA にディスプレイと電源をつなぎ、USB 3.0 のポートに Live USB を、USB 2.0 のポートにマウス+キーボードを挿す(こういうとき Logicool の Unifying はラク)。電源ボタンを押すと GRUB が立ち上がるので、Ubuntu のインストールを行う。設定はデフォルトのまま。インストール先は /dev/mmcblk0 になる。
不要なパッケージの削除
ソフトウェアセンターからてきとうに削除。
- 連絡先 (gnome-contacts)
- Empathy インスタントメッセンジャー
- Thunderbird メール
- Transmission BitTorrent クライアント
- ブラウザー (webbrowser-app)
- Remmina リモートデスクトップ・クライアント
- LibreOffice
- Google Drive scope for Unity
- Shotwell
- Simple Scan
- Photos lens for Unity
- Rhythmbox 音楽プレイヤー
- Brasero ディスク作成ツール
- Cheese ウェブカメラ・ブース
- ゲーム類
- Landscape サービス
- オンラインアカウント (unity-control-center-signon)
- Orca スクリーンリーダー
- Amazon
- Ubuntu
- IBus Bopomofo Preferences
- Reactive HP LaserJet 1018/1020 after reloading paper
Ctrl と Caps Lock を入れ替える
- Ubuntu 14.04 で Ctrl キーと Caps Lock キーを入れ替える - Sickly Life はてな版
- UbuntuTips/Desktop/HowToSetCapsLockAsCtrl - Ubuntu Japanese Wiki
$ dconf write /org/gnome/settings-daemon/plugins/keyboard/active true $ dconf write /org/gnome/desktop/input-sources/xkb-options "['ctrl:swapcaps']"
一旦ログアウトしてログインし直す。
SSHでログインできるようにする
とりあえず今日のところはこれまで。普通のデスクトップPCだと思って使ってしまうとちょっと重いが、別にデスクトップ作業をばんばんやりたいわけではないので、これで十分。
iiyama のディスプレイを修理に出した
iiyama 23インチワイド液晶ディスプレイ IPSパネル LEDバックライト 昇降・ピボット機能搭載 HDMIケーブル同梱モデル マーベルブラック PLXB2374HDS-B1
- 出版社/メーカー: マウスコンピューター
- 発売日: 2011/11/28
- メディア: 付属品
- クリック: 1回
- この商品を含むブログを見る
昨年1月に iiyama のディスプレイを購入した。
可もなく不可もなくといった感じで使っていたが、今年の夏ごろから調子が悪くなることがあった。症状としては、電源を入れた際に画面が乱れたままになる、青成分が抜けた表示になる、など。調子が悪い場合でも何度か電源を ON/OFF すれば直っていたため、しばらく様子を見ていたが、そのうち電源自体が入らなくなってしまった。
3年間のメーカー保証がついていたので、iiyama に電話で問い合わせてみることに。担当者に症状とシリアルナンバーを伝えたところ、修理で対応してもらうことになった。保証があるので費用は無料だが、その前に、故障したディスプレイをこちらから発払いで送る必要がある。
ディスプレイ購入時の箱を捨ててしまったと告げたところ、では梱包用の箱を送りますとのことで、数日して大きな段ボール箱が届いた。中には梱包材(クッション)が詰め込まれており、これにそのままディスプレイを入れて修理工場へ送り返せば良い。箱や梱包材を用意してくれる点は非常に楽でよかった。送料は東京→長野で1,580円。
故障したディスプレイを送った後、1週間弱で修理されて戻ってきた。同封の修理完了報告書によればメイン基板が故障していたらしく、これの交換を行なったとのこと。修理後は不具合もなく、めでたしめでたし。
Grunt を使う
Node.js のインストール
$ sudo add-apt-repository ppa:chris-lea/node.js $ sudo apt-get update $ sudo apt-get install nodejs $ node -v v0.10.15
Grunt のインストール
- Getting started - Grunt: The JavaScript Task Runner
- Web制作で面倒な作業を自動化するビルドツール、Grunt v0.4 入門|Web Design KOJIKA17
$ sudo npm install -g grunt-cli … /usr/bin/grunt -> /usr/lib/node_modules/grunt-cli/bin/grunt grunt-cli@0.1.9 /usr/lib/node_modules/grunt-cli ├── resolve@0.3.1 ├── nopt@1.0.10 (abbrev@1.0.4) └── findup-sync@0.1.2 (lodash@1.0.1, glob@3.1.21)
作業ディレクトリに package.json を作る。
$ cd 作業ディレクトリ
$ npm init
(てきとうに入力)
ここに Grunt と、使いたい Grunt プラグインをインストール。
$ npm install grunt --save-dev … grunt@0.4.1 node_modules/grunt ├── which@1.0.5 ├── dateformat@1.0.2-1.2.3 ├── colors@0.6.1 ├── hooker@0.2.3 ├── async@0.1.22 ├── eventemitter2@0.4.12 ├── coffee-script@1.3.3 ├── underscore.string@2.2.1 ├── iconv-lite@0.2.11 ├── lodash@0.9.2 ├── findup-sync@0.1.2 (lodash@1.0.1) ├── nopt@1.0.10 (abbrev@1.0.4) ├── glob@3.1.21 (inherits@1.0.0, graceful-fs@1.2.3) ├── minimatch@0.2.12 (sigmund@1.0.0, lru-cache@2.3.0) ├── rimraf@2.0.3 (graceful-fs@1.1.14) └── js-yaml@2.0.5 (esprima@1.0.3, argparse@0.1.15)
$ npm install --save-dev grunt-contrib-concat grunt-contrib-uglify … grunt-contrib-concat@0.3.0 node_modules/grunt-contrib-concat grunt-contrib-uglify@0.2.2 node_modules/grunt-contrib-uglify ├── grunt-lib-contrib@0.6.1 (zlib-browserify@0.0.1) └── uglify-js@2.3.6 (async@0.2.9, source-map@0.1.27, optimist@0.3.7)
package.json の devDependencies に情報が追加されているのがわかる。
"devDependencies": { "grunt": "~0.4.1", "grunt-contrib-concat": "~0.3.0", "grunt-contrib-uglify": "~0.2.2" }
Grunt を使う
やりたいことは Gruntfile.js というファイルを作ってそこに書く。
$ grunt タスク名
とするとそのタスクが実行される。