Ubuntu10.10で、録画鯖を作ってみた その2 録画機能
その1でも書いたように、日経Linux10月号を参考にしています。
結局、うまくいってないので、参考にはならないですorz
1 リアルタイム録画(Mplayerで録画)
これは、Linux10月号の付録スクリプトをそのまま利用させて貰った
dvd_rec.sh を、 /usar/local/bin にコピーして、実行権限を与える
sudo chmod a+x /usr/local/bin/dvb_rec.sh
dvb_rec.sh 1 01 180 record.ts 最初の1は、アダプター番号 01は、チャンネル 180は時間(秒)
実は、この時点で、次に行うchannels.conf変更を行ってしまっているので、チャンネル番号が その1と違う。
普通は、その1で設定したチャンネルを使う。
homeフォルダに、録画したrecord.ts ができる。
録画の確認には、mplayer record.ts で、確認できる
2 予約録画(epgrec)の準備
日経Linux10月号の通りだと、phpmyadmin動きませんでした。
その辺の説明が一言でもあれば、こんなに苦労しないのですが、基本、初心者なので原因が分かるまで時間がかかりました。
では、設定に
Apache2 mysql-server phpmyadmin php5-cli をインストールする。
sudo apt-get install apache2 phpmyadmin mysql-server php5-cli
phpMyAdminの設定は、「いいえ」を選択して あとで、手動で設定する
インストール完了後、このままの状態では、設定ができない。 何故ならphpmyadminは/var/www/内ではなく、/usr/share/内にインストールされるかららしい。
/etc/apache2/apache2.confの末尾に下記を追加する。
Include /etc/phpmyadmin/apache.conf
設定が終わったならば
cd /etc/phpmyadmin
sudo htpasswd htpasswd.setup admin 管理者のパスワード(任意)を設定
sudo pma-configure
webブラウザで 「http://localhost/phpmyadmin/setup/index.php」 にアクセスする。
ネットワーク経由で他のPCのwebブラウザから設定する場合は、localhost は、PT2のPCのIPアドレスを入れればできるらしい。
表示された認証ダイアログでは、 ユーザー名にadmin パスワードは、設定したばかりのパスワードを入れる
新しい画面が開くので、Default language に 日本語-japanese を選択した後、 真ん中付近にあるNew server ボタンを押す
次に出てきた画面では、Password for config auth に入力してパスワードを設定する(次に使うrootのパスワードを設定する)
保存する。
再び webブラウザから、今度は http://localhost/phpmyadmin/ にアクセスする
phpMyAdmin へようこそ 画面が出てくる
ユーザー名にroot パスワードは設定したパスワードを入力して、ログインする
特権タブを選択し
新しいユーザーを追加する リンクをクリック
ユーザ名に 任意のユーザ名 パスワード欄に 任意のパスワード ホスト欄は ローカルを選択
ユーザ専用データベース欄は 同名のデータベースを作成して全ての特権を与える を選択
実行するボタンをクリックして終了。
at設定を行います。 これがないと、タイマー録画ができないようです。
sudo apt-get -y install at
・ Apacheユーザの「www-data」を使用禁止リストから削除します。 これをやらないと、録画できないです。
sudo cp -ip /etc/at.deny /etc/at.deny.org
sudo gedit /etc/at.deny
・ 最終行に www-data があるので-削除
3 webからMplayerの実行を許可する
(1) www-dataユーザーからMplayerコマンドを実行できるようにする。
/etc/group ファイルのvideo グループの設定にwww-data を加える
video:x:44:www-data 多分、その1で追加したユーザー名が入っているはずなので、その場合は、,www-data をその後ろに追加する
再起動すると、適用される
(2) channels.conf をwww-dataユーザのホームディレクトリー(var/www)内に ./mplayer フォルダを作成してコピー
cd /var/www
sudo mkdir .mplayer
sudo cp /home/ユーザー名/.mplayer/channels.conf .mplayer/.
コピーしたchannels.conf を開き、チャンネル名をチャンネル番号(リモコン番号)に変更する
MASPRO のHPを参照するとわかりやすい
(3) www-dataユーザーで確認
sudo -i
su – www-data
/usr/local/bin/mplayer -dumpstream -dumpfile /tmp/test.ts dvb://1@03 (後ろの青字は使用するPT2とチャンネルなので、好きなように)
30秒くらいたったら、ctrl + C キーの同時押しで停止
Mplayer で視聴できればOK
4 epgdumpr2の導入(これは、いるのか分からないけれど、設定でさまよっている間に入れた)
http://www.mda.or.jp/epgrec/
上記HPからインストール前の準備に移動して、
「epgdumpr2-utf8.tar.gz」 を探して、ダウンロード
sudo apt-get -y install build-essential
tar xvzf epgdumpr2-utf8.tar.gz
cd epgdumpr2
make
sudo cp epgdump /usr/local/bin
5 ffmpegのインストール
sudo apt-get install ffmpeg
6 epgrecの導入
sudo apt-get install git-core
cd
git clone git://git.sourceforge.jp/gitroot/epgrec/epgrec.git
cd epgrec
chmod a+rxw cache settings templates_c video thumbs
epgrecフォルダ内にある config.php.sample を config.php にリネームする
config.phpファイルの中身を編集
config.php」ファイルの8行目位から
$GR_CHANNEL_MAP = array(
“GR27” => “27”, // NHK
“GR26” => “26”, // 教育
“GR25” => “25”, // 日テレ
“GR22” => “22”, // 東京
“GR21” => “21”, // フジ
“GR24” => “24”, // テレ朝
“GR23” => “23”, // テレ東
// “GR20” => “20”, // MX TV
// “GR18” => “18”, // テレ神
”
GR30″ => “30”, // 千葉
// “GR32” => “32”, // テレ玉
“GR28” => “28”, // 大学
);
とある。MX TV、テレ神、テレ玉の行の初めの「//」はコメントアウトといって、プログラムに読み込ませなくするものです。
これを
3の(2)で作成したchannels.conf の番号に変更する
$GR_CHANNEL_MAP = array(
“GR01” => “01”, // HBC
“GR02” => “02”, // NHK-E
“GR03” => “03”, // NHK-G
“GR05” => “05”, // STV
“GR06” => “06”, // HTB
“GR07” => “07”, // TVH
“GR08” => “08”, // UHB
// “GR20” => “20”, // MX TV
// “GR18” => “18”, // テレ神
// “GR30” => “30”, // 千葉
// “GR32” => “32”, // テレ玉
// “GR28” => “28”, // 大学
);
私の場合は、こんな感じ
LINUX10月号の付録からdo-record.sh を持ってくる
epgrecフォルダにコピー
実行権限を付与
sudo chmod a+x do-record.sh
録画テスト(このとき、最初に作ったchannels.conf を 新しく作ったchanels.confにしておかないと、チャンネル設定がうまくいかない)
TUNER=0 TYPE=GR CHANNEL=05 DURATION=15 OUTPUT=/tmp/test.ts ./do-record.sh
/tmp/test.ts ファイルができていれば成功
epgrecフォルダをwebサーバーのドキュメントルート(var/www)以下に移動させる
sudo mv epgrec /var/www/.
7 epgrecの設定
下の⑪で番組情報を取得しますが、これは夜中だと、番組更新ができない(局の放送がない)ため、夜中にはやらないほうがいいようです。
① Firefoxのアドレスバーに「http://localhost/epgrec/」と入力してEnterキーを押す。epgrecのインストール状態がチェックされます。 localhostは、IPアドレスを記入すると、別PCからも操作できるようになる。
② 問題がなければ、「以上を確認し次の設定に進む」をクリック。
③ 「インストールステップ2」で「MySQL接続ユーザー名」はMySQLの設定をしたときの接続ユーザー名にします。
④ 「MySQL接続パスワード」はMySQLの設定をしたときの接続パスワードにします。
⑤ 「使用データベース名」はMySQLの設定をしたときのデータベース名にします。
⑥ インストールURLは、 localhostをIPアドレスに変更する
⑦ サムネールの使用 を 使用するに変更
⑧ 「ffmpegのパス」は、フルパスを記載
⑨ それ以外の項目はそのままとし、「設定を保存する」をクリック。
⑩ 「インストールステップ3」で「地デジチューナーの台数」は「2」にします。
⑨ 「BSチューナーの台数」は「2」にします。
⑪ 「CS録画の有無」は「行なわない」のままにした。 CS見る予定無いしw
⑫ それ以外の項目はそのままとし、「設定を保存する」をクリック。
⑬ 「インストール最終ステップ」で「このリンクをクリックするとEPGの初回受信が始まります」をクリック。
30分位待ったら、Firefoxで「http://localhost/epgrec/」を開きます。番組表が出てきたら設定成功です。もし「construct:無効な行」とエラーが表示されたら、もう少し待ちます。
番組表が出てこないので、手動で設定項目を実行してみた
sudo su –
su – www-data -c /var/www/epgrec/getepg.php
/var/www/epgrec/getepg.php
Segmentation fault と表示が出てるのだけれど、番組表は出てきたw
/var/www/epgrec/getepg.php を、root権限じゃなくてやり直した。 あわせて、アンテナ配線とかも、接続を点検。
配線が悪かったのか、よく分からないが、正常に終了した。
設定が成功して番組表が表示された場合は、見たい番組をクリックし、「簡易予約」をクリック、または「予約カスタマイズ」「予約する」の順でクリックすると予約できます。
すでに始まっている番組の場合、3分後に録画が始まります。録画が始まると、その番組名が「録画済一覧」に表示されるので、そこで再生したい番組を選びます。
⑬で番組情報を獲得しますが、これは初回のみですから、今後、手動で獲得したい場合は、端末で「/var/www/epgrec/getepg.php」と入力して[Enter]キーを押します。
8 番組情報の自動更新設定
sudo cp /var/www/epgrec/cron.d/getepg /etc/cron.d/.
9 保存場所の変更
ebgrecのデフォルト表示は、「/video」 となっているため、録画保存ディレクトリは、「/var/www/epgrec/video」です。
しかし、仕様らしく、「/var /www/epgrec」より上のディレクトリを録画保存ディレクトリとして指定することはできないそうです。
保存先を、別HDDにしようと思うのでリンクを張るという形をとることにします。 今回は、 /media/sdb_disk という形で、すでに設定済みの別HDDを使用する。
録画保存ディレクトリを /media/sdb_disk に作り、 /var/www/epgrec にはリンクを貼るという形を取ります。そうすれば、録画ファイルは「/var/www/epgrec」下のディレクトリに生成しますが、そのディレクトリは実は単なるリンクで、
実際には別HDDに保存されます。
設定手順
※「/var/www/epgrec/video」内に録画ファイルがある場合は別の場所にあらかじめ移動します。
①上部パネルで[アプリケーション]-[アクセサリ]-[端末]の順にクリックします。端末が起動します。
②別HDD内にvideoフォルダを作成します
sudo mkdir /media/sdb_disk/video
③vidoeディレクトリにアクセス権を設定します。
sudo chmod 777 /media/sdb_disk/video
④/var/www/epgrec/videoディレクトリを削除します。
sudo rmdir /var/www/epgrec/video
⑤/mnt/win/videoをリンク元、/var/www/epgrec/videoをリンク先としてシンボリックリンクを張ります。
sudo ln -s /media/sdb_disk/video /var/www/epgrec/video
移動した録画ファイルがあれば、最後に /media/sdb_disk/video にファイルを移動します。
ここまで、やったのだけれど、epgrec で録画すると、みられない。
どうも、何か間違ってるようだけれど、原因を追及するヒマがないですorz
で、また、出張なので、しばらく、この作業はできないので、放置になります。
「Ubuntu10.10で、録画鯖を作ってみた その2 録画機能」への4件のフィードバック
SECRET: 0
PASS: ecd5052a0ede6d3a9eb229eeaf43403b
札幌の前田と申します。
Ubuntu10.10に10.04から切り替える際に参考にさせていただき、SMplayerでリアルタイム視聴が出きるようになりました。ありがとうございます。
mplayerではマシンが非力でカクカク画面でしたがSMplayerではスムーズに見られます。
ubuntuはまったく初心者で日経Linux10月号をみてPT2のTV視聴とepgrecによる予約録画がなんとかできたレベルです。
10.04にインストールした際一番ハマったのがHDMI経由ではmplayerでは音が出ない現象でした。よく分からずにいじってSMplayerをUbuntuソフトウェアセンターからインストールしたら音が出るようになったのです。
今回はデスクトップ版 日本語 Remix CD(i386用)を利用してATIのグラフィックドライバをインストールしました。(cpu: Athlon 64×2 4400+ ソケット939 マザー:939A785GMH/128M)
しかし、前回と同様にMplayerからもインストールしたSMplayerからも音が出ませんでした。サウンドの設定でDigitagl stereo(HDMI)としてもダメでした。
ググった結果、PulseAudioのOpen Sound Systemエミュレーションモジュールというのがubuntuでは標準インストールされていることが分かり解決(「pulseaudio-utils」に含まれている「padsp」)
padsp smplayer dvb://1@05 という風に快適に見られるようになりました。
気まぐれ日記さん(お名前が分からないので済みません)は、サウンド設定で悩まれたことはありますか?
本当は、padspなど頭につけずに操作出きるようにしたのですが、また調べてみます。
次は、録画予約システムepgrecの構築取り組みます。ですが、できればこれまでと同様にHPに載せていただけるとありがたいです。(10.10とDVBドライバを使ったPT2関連のHPが少ないことと、私にとっては難しい記述が多いので)
と思ったら、既に手順を載せてくれたのですね。まだうまくいってないそうですが、トライしてみます。
とりあえず、10.04の時を思い出して、日経Linux10月号とEPGrecのHPをみてながら気まぐれ日記さんの手順で頑張ってみます。
前田
SECRET: 0
PASS: 2f7b52aacfbf6f44e13d27656ecb1f59
コメントありがとうございます。
Blog作者のRです。
このBlogは、基本的に私の備忘録なので、このスレを見に来る方に
役に立っているのか疑問だったのですが、お役に立ったようで何よりです。
私も、Linuxは、ほぼ初心者です。
なので、Blogに書いてあること以上のことはわかりません。
申し訳ないです。
毎回、自分が調べて自分ができたことを書いているのが現状です。
なので、本来は、出来ないことは書いてないのですが、今回は時間の余裕が
なかったので、途中ですが更新しておきました。
ちなみに3月までは、出張中なので、この記事の更新はできませんが、
出張が終わって暇ができたら、また取り組んでみようとは思っています。
epgrecの設定、頑張ってください
SECRET: 0
PASS: ebf449e44d5c18915da0db21c41e75ee
こんにちはRさん札幌の前田です。
epgrecの構築について報告します。結果ですが、
1.地デジ番組表の取得ができない局が1局(HBC)ある。
2.予約録画はでき、サムネイルも表示されるが、時々録画に失敗する。
3.録画に成功しても、epgrecの録画リストからVLC(1.1.4)でストリーム再生できない。
4.epgrecのwww/epgrec/videoフォルダに作成されたGR17_20101018064014_20101018064500.ts
などのファイルも直接VLCで再生できない。しかし、HPの手順でインストールしたMplayerでは
再生できる。
5.前回報告した音の出ない件はhttp://ubuntuforums.org/showthread.php?t=786095で10.10用のFFMPGとx264(不要かもしれない)をインストールして解決。
10.10を何度もクリーンインストールして確かめました。10.04でも日経Linuxの記事も参考にして確かめましたが、上記の状況はかわりません。自分なりに調べた結果
1.地デジ番組表の取得ができない局が1局(HBC)ある。
については、分配器でタコ足にしているので受信強度が影響しているのかなと考えていますが、
gmplayer dvb://1@01(01がHBC)で直接視聴できるので取得できない事がよく分かりません。
2.予約録画はでき、サムネイルも表示されるが、時々録画に失敗する。
epgrecの動作ログで「・・・録画に失敗した模様」と出て録画に失敗することがあります。どこのHPでみたのか、内容が分からなくなりましたが、「TUNER=0 TYPE=GR CHANNEL=05 DURATION=15 OUTPUT=/tmp/test.ts ./do-record.sh」をユーザー権限あるいは管理者権限で実行すると録画スクリプトの何とかのフラグがリセットされ正常になると記載されていたので、これで対応しています。
それとepgrecで最初まったく録画ができない状況にありましたが、Mplayerのインストールの際に、HPにも日経Linuxにも記載されていませんが、/usr/local/etc/mplayerフォルダーにもchannels.confが必要でした。
3.録画に成功しても、epgrecの録画リストからVLC(1.1.4)でストリーム再生できない。
本家のHPの「録画済みの番組を再生する」にしたがって、Firefoxで、設定パネルのアプリケーションを開き、Content Type欄からASF(video/x-ms-asf)を探し、そのアクションとしてVLCを登録する。としていますが、録画再生を行うとダウンロードマネージャーが立ち上がり、VLCが起動しますが再生できません(音も画面も出ません、エラーも表示なし)
4.epgrecのwww/epgrec/videoフォルダに作成されたGR17_20101018064014_20101018064500.ts
などのtsファイルも直接VLCで再生できない。(音も動画も)しかし、HPの手順でインストールしたMplayerでは再生できる。
デスクトップ版 日本語 Remix CD(i386用)10.10でサードパーティーソフトをインストールにチェックをつけてインストールした状態では、RさんのHPの手順でMplayerをインストールしても動画は再生されますが音がでません。前回、padsp smplayer dvb://1@05でOKと報告しましたが、音が出ても遅れます。(SMplayerは音の遅延調整ができるのである程度は可能)
※MplayerのPreferencesのAvailable drivers:は
Audioは oss,mpegp,v4l2,pcmのみでどれを選択しても音が出ない。
videoは xmga,xv,x11,xvidixのみでxvで動画は再生される。
そこで次の5.手順でFFMPGをインストールして再度Mplayerをコンパイルしてインストールすると
Audioは alsa,esd,pulse,・・などが追加されるが、この3つはいずれも選択すると音が出る。音の遅延も殆ど無い。
videoは gl_nosv,gl,gl2,が追加されるが,この3つはいずれも選択すると動画は再生される。
ようになりOKとなりました。
VLCは録画ファイルを再生するとスライドバーは進みますが音も動画も出ません。UNER=0 TYPE=GR CHANNEL=05 DURATION=15 OUTPUT=/tmp/test.ts ./do-record.shなどの録画テストで作成したtsファイルもだめでした。でもMplayerでは正常に再生されます。昨年の10月には10.04でうまくいっていたのにと思いながら、何度も設定が間違っていないか確かめながら、10.04と10.10を何回もインストールしなおしましたが結果は同じでした。
windows7のPT2用のTVtestで作成したtsファイルを再生してみたところ、何とVLCで正常に視聴できることが分かりました。そこで、昨年10.04でうまくいった時の録画ファイルのバックアップがあることを思い出して、GR17_20101018064014_20101018064500.tsをVLCで再生するとOKでした。
VLCのメディア情報のコーデックの詳細でファイルを調べると
※windows7のPT2用のTVtestで作成したtsファイルと以前うまくいった時の
GR17_20101018064014_20101018064500.tsファイルは
・ストリーム0
オリジナルID:273
タイプ:ビデオ
コーディック:MPEG-1/2 VIDEO(mpgv)
解像度:1440×1080
フレームレート:59.940059
・ストリーム1
タイプ:オーディオ
オリジナルID:274
コーディック:MPEG AAC Audio(mp4a)
チャンネル:ステレオ
サンプリングレート:48000 Hz
※今回、UNER=0 TYPE=GR CHANNEL=05 DURATION=15 OUTPUT=~/test.ts ./do-record.shの録画テストで作成
したtsファイルと今回epgrecで/videoフォルダにできた
tsファイル
連続テレビ小説 てっぱん(134)「スタートライン」GR03_20110307080443_20110307081500.tsは
・ストリーム0
タイプ:ビデオ
オリジナルID:256 →もう一つは273だった
コーディック:MPEG-1/2 VIDEO(mpgv)
・ストリーム1
タイプ:オーディオ
オリジナルID:272 →もう一つは274だった
コーディック:MPEG AAC Audio(mp4a)
どうも今回インストールしたMplayerで作成されるtsファイルと昨年うまくいった時のtsファイルはファイル形式が微妙に違うと思います。VLCで再生できないのは、ビデオでは解像度とフレームレートの情報が抜けており(VLCでは分からない?)、オーディオではチャンネル情報とサンプリング情報が抜けていることが関係しているような気がします。
epgrecでの録画予約、録画はうまくいっているので、再生はMplayerで行っていますが、Rさんの昨年のキャラクタデバイス版のHPを試してみるか?などどうしたらいいものか悩んでおります。日経の記事にあったMplayerの0.81までパッチをあてられるup0348.zipをバックアップしていなかったので録画機能が違うのかどうか試せません。
(DTVのHPにはRさんの手順のup0469.zipとup0483.zip、それと最新版のしか載っておらず、up0348.zipは削除されてしまった。)
この3ヶ月程、楽しくチャレンジできました。ありがとうございます。なにか参考情報でもあればブログにアップしてくださるとうれしいです。
前田
※自分のPC構成
cpu: Athlon 64×2 4400+ ソケット939
マザー:939A785GMH/128M (ATI Radion HD4200オンボード)
ディスプレイ:三菱RDT23IWLM(HDMI接続で使用)
os:Ubuntu10.10 デスクトップ版 日本語 Remix CD(i386用)
SECRET: 0
PASS: 74be16979710d4c4e7c6647856088456
詳細にご報告していただき、ありがとうございました。
本来は、もう、仕事も少し落ち着くはずだったのですが
少々、今大変なことになってまして、残念ながら
しばらく、こちらにゆっくり取りかかることはできそうにないですが
落ち着いたら、参考にさせていただきたいと思います。