Memo/PT2/Ubuntu

http://dexlab.net/pukiwiki/index.php?Memo%2FPT2%2FUbuntu
 


Ubuntu


epgrecのgetepg.phpがSegmentation faultして番組表が更新されない

  • 初回は30分程度かかる
  1. sudo -u www-data /var/www/epgrec/getepg.php
  2. ...
  3. Segmentation fault (core dumped)
  • tsファイルから正常にxmlが抜き出せるかテスト
    1. epgdump test  '/tmp/__temp.ts' -

recpt1

  1. recpt1
  2.   --sid
  3.     all
  4.     ,hd
  5.     ,sd1
  6.     ,sd2
  7.     ,sd3
  8.     ,1seg
  • 全てのチャンネルを録画(デフォルト)
    1. recpt1 --strip --b25 --sid all 25 30 test25.ts
  • HDのみ録画
    1. recpt1 --strip --b25 --sid hd 25 30 test25.ts
  • SD画質のみ録画(なぜか1segも入る)
    1. recpt1 --strip --b25 --sid sd1,sd2,sd3 25 30 test25.ts
  • 1segだけ録画
    1. recpt1 --strip --b25 --sid 1seg 25 30 test25.ts

epgrecのテーブル

  • テーブル一覧
    mysql> show tables;
    +----------------------+
    | Tables_in_epgrec     |
    +----------------------+
    | Recorder_categoryTbl |
    | Recorder_channelTbl  |
    | Recorder_keywordTbl  |
    | Recorder_logTbl      |
    | Recorder_programTbl  |
    | Recorder_reserveTbl  |
    | mt_autoscan          |
    | mt_cds_active_item   |
    | mt_cds_object        |
    | mt_internal_setting  |
    +----------------------+

リモコン番号を表示

  • リモコン番号を表示したい場合、Recorder_channelTbl.nameを書き換えれば良い。しかし、1日毎に番組表が更新される時、チャンネル名も更新されるので戻ってしまう
    mysql> set names utf8;
    mysql> select channel,name from Recorder_channelTbl order by id;
    +---------+-----------------------------+
    | channel | name                        |
    +---------+-----------------------------+
    | 27      | NHK総合1・東京          |
    | 26      | NHKEテレ1東京          |
    | 25      | 日テレ1                    |
    | 22      | TBS1                    |
    | 21      | フジテレビ                  |
    | 24      | テレビ朝日                  |
    | 23      | テレビ東京1                |
    | 20      | TOKYO MX1          |
    +---------+-----------------------------+
  • リモコン番号を表示
    set names utf8;
    update Recorder_channelTbl set name='(1)NHK総合1・東京' where channel=27;
    update Recorder_channelTbl set name='(2)NHKEテレ1東京' where channel=26;
    update Recorder_channelTbl set name='(4)日テレ1' where channel=25;
    update Recorder_channelTbl set name='(6)TBS1' where channel=22;
    update Recorder_channelTbl set name='(8)フジテレビ' where channel=21;
    update Recorder_channelTbl set name='(5)テレビ朝日' where channel=24;
    update Recorder_channelTbl set name='(7)テレビ東京1' where channel=23;
    update Recorder_channelTbl set name='(9)TOKYO MX1' where channel=20;

epgrecのアップグレード

※まだ途中

  1. 事前にバックアップ
  2. 最新ソースを取得
    1. sudo apt-get install git
    2. cd /tmp
    3. git clone git://git.sourceforge.jp/gitroot/epgrec/epgrec.git

epgrecのバックアップ

定期的、バージョンアップ前はやったほうが良い

  • ファイル類のバックアップ
    1. mkdir epgrec-backup
    2. cd epgrec-backup
    3. # 設定ファイル
    4. cp /var/www/epgrec/config.php .
    5. cp /var/www/epgrec/do-record.sh .
    6.  
    7. # サムネイルディレクトリ
    8. cp -r /var/www/epgrec/thumbs .
    9.  
    10. # ビデオディレクトリ(巨大なので注意)
    11. cp -r /var/www/epgrec/video .
  • DBバックアップ
    1. mysqldump -u epgrec -p`cat ~/.mysql-pw-epgrec` --single-transaction epgrec | gzip > mysql.epgrec.`date +%Y%m%d`.gz
  • DBリストア
    1. cat mysql.epgrec.YYYYMMDD.gz | gunzip | mysql -u epgrec -p`cat ~/.mysql-pw-epgrec` epgrec
  • スクリプト。BACKUP_TO, MYSQL_PWは環境に合わせて変更 fileepgrec-backup.sh

epgrec「録画ファイルも削除する」にデフォルトでチェック

  • epgrecの録画済一覧 > 録画ファイルも削除する にデフォルトでチェックされていた方が便利なので、パッチ
  • filerecordedTable.html.patch
    1. cp recordedTable.html.patch /var/www/epgrec/templates
    2. cd /var/www/epgrec/templates
    3. patch -p0 < recordedTable.html.patch

tsファイルの分離tssplitter_lite

  • PT2で録画したMPEG2-TSファイルには、ワンセグやその他の情報が多重化して入っているため、サイズが大きい。
  • 分離することで、15分のニュース番組で300MB程小さくなる事を確認
  • tssplitter_liteのインストール
    1. cd /tmp/
    2. wget http://hp.vector.co.jp/authors/VA038175/download/tssplitter_lite.zip
    3. unzip tssplitter_lite.zip
    4. cd tssplitter_lite/
    5. wget http://microgroove.jp/tmp/tssplitter_lite.diff
    6. patch -p0 < tssplitter_lite.diff
    7. make
    8. sudo cp tssplitter_lite/tssplitter_lite /usr/local/bin/
  • ffmpegで分離対象のProgram IDを検出
    1. ffmpeg -i test.ts
  • tssplitter_liteで分離
    1. tssplitter_lite input.ts output.ts [PROGRAM ID]
  • epgrec
    1. vi /var/www/epgrec/config.php
    2. ----
    3. $RECORD_MODE = array(
    4. // ※ 0は必須で、変更不可です。
    5. 0 => array(
    6. 'name' => 'Full TS', // モードの表示名
    7. 'suffix' => '.ts', // ファイル名のサフィックス
    8. ),
    9.  
    10. 1 => array(
    11. 'name' => 'HD split',
    12. 'suffix' => '_hd.ts',  
    13. ),
    14.  
    15.  
    16. 2 => array(
    17. 'name' => 'Smartphone',
    18. 'suffix' => '.ts',
    19. ),
    20.  
    21. 3 => array(
    22. 'name' => 'Auto Encode Test',
    23. 'suffix' => '.ts',
    24. ),
    25.  
    26. 4 => array(
    27. 'name' => 'TS split',
    28. 'suffix' => '.ts',
    29. ),
    30. );
    31. ----
    • /var/www/epgrec/do-record.sh filedo-record.sh
    • テスト
      1. OUTPUT=/var/www/epgrec/video/test.ts CHANNEL=20 SID=hd DURATION=30 TUNER=0 MODE=4 TYPE=GR /var/www/epgrec/do-record.sh

録画tsファイルを自動エンコード

  • HandBrakeCLI
    1. sudo sh -c "cat >> /etc/apt/sources.list << 'EOS'
    2. deb http://ppa.launchpad.net/handbrake-ubuntu/ppa/ubuntu lucid main
    3. deb-src http://ppa.launchpad.net/handbrake-ubuntu/ppa/ubuntu lucid main
    4. EOS"
    5.  
    6. wget http://zeonic.ath.cx/pt2/handbrake.pub
    7. sudo apt-key add handbrake.pub
    8.  
    9. sudo apt-get update
    10. sudo apt-get install handbrake-cli
  • mplayer
    1. sudo apt-get install mplayer
  • MP4Box
    1. sudo apt-get install gpac
  • epgrecの設定変更 環境設定 > システム設定へ > ffmpegのパス
  • /usr/local/bin/ffmpeg
  • 一応再起動
    1. sudo reboot
  • epgrecのconfig.phpにスマートフォンと、自動エンコード用設定を追加
    1. cd /var/www/epgrec/
    2. vim config.php
    3. ----
    4. $RECORD_MODE = array(
    5. // ※ 0は必須で、変更不可です。
    6. 0 => array(
    7. 'name' => 'Full TS', // モードの表示名
    8. 'suffix' => '.ts', // ファイル名のサフィックス
    9. ),
    10.  
    11. 1 => array(
    12. 'name' => 'HD split',
    13. 'suffix' => '_hd.ts',  
    14. ),
    15.  
    16. 2 => array(
    17. 'name' => 'Smartphone',
    18. 'suffix' => '.ts',
    19. ),
    20.  
    21. 3 => array(
    22. 'name' => 'Auto Encode Test',
    23. 'suffix' => '.ts',
    24. ),
    25. );
    26. ----
  • 録画シェルスクリプトを変更 /var/www/epgrec/do-record.sh
    1. #!/bin/sh
    2. echo "CHANNEL : $CHANNEL"
    3. echo "DURATION: $DURATION"
    4. echo "OUTPUT : $OUTPUT"
    5. echo "TUNER : $TUNER"
    6. echo "TYPE : $TYPE"
    7. echo "MODE : $MODE"
    8. echo "SID : $SID"
    9. RECORDER=/usr/local/bin/recpt1
    10. #出力するファイルの名前だけを切りだし(例:/path/to/save/hoge.ts → hoge.ts)
    11. FILENAME=${OUTPUT##*/}
    12.  
    13. if [ ${MODE} -eq 0 ]; then
    14. $RECORDER --b25 --strip $CHANNEL $DURATION ${OUTPUT} >/dev/null
    15. elif [ ${MODE} -eq 1 ]; then
    16. $RECORDER --b25 --strip --sid $SID $CHANNEL $DURATION ${OUTPUT} >/dev/null
    17. elif [ ${MODE} -eq 2 ]; then
    18. $RECORDER --b25 --strip --sid $SID $CHANNEL $DURATION ${OUTPUT}
    19. cd /tmp/
    20.  
    21. #HD部だけを分離したtsファイルからさらに音声と動画に分離
    22. ffmpeg -i ${OUTPUT} -vn -acodec libfaac -ac 2 -ar 48000 -ab 96k /tmp/$FILENAME.novideo.aac
    23. mplayer -dumpvideo ${OUTPUT} -dumpfile /tmp/$FILENAME.noaudio.ts
    24.  
    25. #HandbrakeCLIで動画だけのtsファイルをMP4形式の動画にエンコ
    26. #-X 1280 -Y 720 とするとiPadで再生できる
    27. HandBrakeCLI -i $FILENAME.noaudio.ts -O -f mp4 -X 480 -Y 270 -e x264 -b 400 --loose-anamorphic -o $FILENAME.mp4
    28.  
    29. #音声を付加
    30. MP4Box -add $FILENAME.novideo.aac $FILENAME.mp4
    31.  
    32. #元のフォルダに戻しておく。Apacheの領域内に戻して外部参照してもOK
    33. mv $FILENAME.mp4 ${OUTPUT}.480x270.mp4
    34.  
    35. #後始末
    36. rm -rf /tmp/$FILENAME*
    37.  
    38. elif [ ${MODE} -eq 3 ]; then
    39. $RECORDER --b25 --strip --sid $SID $CHANNEL $DURATION ${OUTPUT} > /dev/null
    40. START=`date '+%s'`
    41. cd /tmp/
    42. mplayer -dumpaudio ${OUTPUT} -dumpfile /tmp/$FILENAME.novideo.aac
    43. mplayer -dumpvideo ${OUTPUT} -dumpfile /tmp/$FILENAME.noaudio.ts
    44. HandBrakeCLI -i $FILENAME.noaudio.ts -f mp4 -e x264 -b 5000 --loose-anamorphic -o $FILENAME.mp4
    45. MP4Box -add $FILENAME.novideo.aac $FILENAME.mp4
    46. mv $FILENAME.mp4 ${OUTPUT}.mp4
    47. rm -rf /tmp/$FILENAME*
    48. END=`date '+%s'`
    49. TIME=`expr $END - $START`
    50. echo 保存用の$FILENAMEの変換が終了しました > /var/www/epgrec/data.txt
    51. echo `date`に終了。 $TIME秒かかりました >> /var/www/epgrec/data.txt
    52. # mutt -s 保存用_$FILENAME hoge@example.com -F /home/hoge/.mutt/muttrc < /var/www/epgrec/data.txt
    53.  
    54. #自動変換が信頼できるなら元のtsファイルを消す
    55. rm -rf ${OUTPUT}
    56.  
    57. fi
  • テスト
    1. スマートフォン用
    2. OUTPUT=/var/www/epgrec/video/test.ts CHANNEL=20 SID=hd DURATION=30 TUNER=0 MODE=2 TYPE=GR /var/www/epgrec/do-record.sh
    3.  
    4. 保存用
    5. OUTPUT=/var/www/epgrec/video/test.ts CHANNEL=20 SID=hd DURATION=30 TUNER=0 MODE=3 TYPE=GR /var/www/epgrec/do-record.sh

epgrec「Error未実行の予約です」を強制削除

  • 2010年3月22日版 + パッチ1 + パッチ2
  • 録画済一覧 > 録画済みファイルを削除で「Error未実行の予約です」とダイアログが出て消せない場合に強制的に削除する
  1. 削除したいタイトル等のURLを見て「http://192.168.1.x/epgrec/viewer.php?reserve_id=id」のid部分をメモ
  2. 以下コマンドを実行
    1. /var/www/epgrec/recomplete.php id

XBMCのインストール

Memo/XBMC/Ubuntu


sambaでtsファイル共有

  • sambaのインストール
    1. sudo apt-get -y install samba swat
  • ユーザの操作
    1. pdbedit -a -u ユーザー名:ユーザーの追加
    2. pdbedit -x ユーザー名:ユーザーの削除
  • ホームディレクトリ
    1. sudo mkdir /etc/skel/samba
    2. cat > mkhomedir.sh << 'EOS'
    3. #!/bin/bash
    4.  
    5. # /home/ユーザ名/samba ディレクトリを一括作成
    6.  
    7. for user in `ls /home`
    8. do
    9.     id $user > /dev/null 2>&1
    10.     [ $? -eq 0 ] && \
    11.     [ ! -d /home/$user/samba ] && \
    12.     mkdir /home/$user/samba && \
    13.     chown $user:$user /home/$user/samba && \
    14.     echo "/home/$user/samba create"
    15. done
    16. EOS
    17. chmod 755 mkhomedir.sh
    18. sudo ./mkhomedir.sh
  • 共有ディレクトリ作成
    1. sudo mkdir /home/samba
    2. sudo chown nobody:root /home/samba
  • samba設定
    1. sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
    2.  
    3. sudo su -c "cat > /etc/samba/smb.conf << 'EOS'
    4. [global]
    5.     smb ports = 139
    6.     debug level = 0
    7.     dos charset = CP932
    8.     unix charset = UTF-8
    9.     display charset = UTF-8
    10.     server string = MediaCenter
    11.     passdb backend = tdbsam
    12.     obey pam restrictions = yes
    13.     load printers = No
    14.     disable spoolss = Yes
    15.     ldap ssl = no
    16.     hosts allow = 192.168.1., 127.
    17.     printing = bsd
    18.     cups options = raw
    19.     print command = lpr -r -P'%p' %s
    20.     lpq command = lpq -P'%p'
    21.     lprm command = lprm -P'%p' %j
    22.     map archive = no
    23.     create mask = 0664
    24.     force create mode = 0600
    25.     directory mask = 0775
    26.     force directory mode = 0700
    27.     workgroup = WORKGROUP
    28.     dns proxy = no
    29.     log file = /var/log/samba/log.%m
    30.     max log size = 1000
    31.     syslog = 0
    32.     panic action = /usr/share/samba/panic-action %d
    33.     unix password sync = yes
    34.     passwd program = /usr/bin/passwd %u
    35.     passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
    36.     pam password change = yes
    37.     map to guest = bad user
    38.     usershare allow guests = yes
    39.  
    40. [homes]
    41.     comment = Home Directories
    42.     path = %H
    43.     read only = No
    44.     browseable = No
    45.     vfs objects = recycle
    46.     recycle:repository = .recycle
    47.     recycle:keeptree = no
    48.     recycle:versions = yes
    49.     recycle:touch = no
    50.     recycle:maxsize = 0
    51.     recycle:exclude = *.tmp ~$*
    52.  
    53. [printers]
    54.     comment = All Printers
    55.     path = /var/spool/samba
    56.     printable = Yes
    57.     browseable = No
    58.     guest ok = no
    59.     read only = yes
    60.     create mask = 0700
    61.  
    62. [pt2]
    63.     comment = pt2
    64.     path =  /var/www/epgrec/video
    65.     read only = No
    66.     guest ok = no
    67.     vfs objects = recycle
    68.     recycle:repository = .recycle
    69.     recycle:keeptree = no
    70.     recycle:versions = yes
    71.     recycle:touch = no
    72.     recycle:maxsize = 0
    73.     recycle:exclude = *.tmp ~$*
    74. EOS"
    75.  
    76. sudo service smbd restart
    77. sudo sysv-rc-conf smbd on
  • ごみ箱内ファイルの自動削除設定(7日間=168時間)
    1. sudo vi /etc/cron.daily/recyclewatch
    2. ----
    3. #!/bin/bash
    4. # vim: ts=4:sw=4:tw=80
    5. for user in `ls /home/`
    6. do
    7.     if [ -d /home/$user/.recycle ]; then
    8.         /usr/bin/find "/home/$user/.recycle/" -mtime +7 -exec rm -rf {} \;
    9.     fi
    10.     if [ -d /home/$user/samba/.recycle ]; then
    11.         /usr/bin/find "/home/$user/samba/.recycle/" -mtime +7 -exec rm -rf {} \;
    12.     fi
    13. done
    14. if [ -d /var/www/epgrec/video/.recycle ]; then
    15.     /usr/bin/find "/var/www/epgrec/video/.recycle/" -mtime +7 -exec rm -rf {} \;
    16. fi
    17. ----
    18.  
    19. chmod +x /etc/cron.daily/recyclewatch
  • swatのインストール
    • rootユーザのパスワードが必要
      1. sudo su -
      2. passwd
      1. sudo apt-get -y install swat
    • http://192.168.1.x:901/

mediatombでDLNAクライアントと連携

mediatomb-ui.jpg

  • mediatomb 0.12.1 管理画面の対応状況
    • △IE8(アラートが表示できるが使える)
    • ○Firefox 3.6
    • ○Google Chrome 15
    • ×Opera 11.52 ファイル一覧が表示されない
  • mediatomb用dbの設定
    1. mysql -u epgrec -p`cat ~/.mysql-pw-epgrec` epgrec < /usr/share/mediatomb/mysql.sql
  • 設定
    1. sudo vi /etc/default/mediatomb
    2. ----
    3. NO_START="no"
    4. INTERFACE="eth0"
    5.  
    6. ## MediaTomb will be started on port 49152
    7. MT_PORT="49152"
    8. ----
  • 設定ファイルコピー。添付zipを展開してコピーする
    • filemediatomb-config.20130901.zip
      1. sudo cp mediatomb-transcoding-* /usr/local/bin/
      2. sudo chmod +x /usr/local/bin/mediatomb-transcoding-*
      3. sudo cp config.xml /etc/mediatomb/
      4.  
      5. # パスワードを編集
      6. sudo vim /etc/mediatomb/config.xml
      7. ----
      8. <password>***</password>
      9. ----
      10.  
      11. sudo service mediatomb restart
      12. sudo sysv-rc-conf mediatomb on
  • ffmpegthumbnailerのテスト
    1. ffmpegthumbnailer -i test.ts -o test.jpg -t 1
  • http://192.168.1.x:49152/ にブラウザでアクセス
  • [Filesystem]タブをクリック
  • /Filesystem/var/www/epgrec/video/ までクリックし、"add as autoscan dir"アイコンをクリック。コンテンツが追加されるたびに「Database」タブに追加されるようになる
    • Scan Mode: Inotify
    • Initial Scan: Basic
    • Recursive: チェック
  • [Database]タブをクリックし、/Database/Video/Directories/video/ まで移動して動画が追加されているか確認
  • うまく再生できない場合、トランスコーディング機能を無効にしてみる。
    1. vim /etc/mediatomb/config.xml
    2. ----
    3. <transcoding enabled="no">
    4. ----
    5. service mediatomb restart
    6.  
    7. # トランスコードのログを見る
    8. less /tmp/mediatomb-transcoding-video.log
  • mediatombのログを見る
    1. sudo tail -f /var/log/mediatomb.log
  • トランスコードスクリプトサンプル
    1. /usr/share/doc/mediatomb-common/examples/mediatomb-transcode
    2.  
    3. 汎用ビデオ
    4. /usr/share/doc/mediatomb-common/examples/mediatomb-transcode --video-common
    5.  
    6. 汎用オーディオ
    7. /usr/share/doc/mediatomb-common/examples/mediatomb-transcode --audio-common

EPG対応録画フロントエンド epgrecのインストール

epgrec.jpg

  • 3/22fix版からのフォークで epgrec UNAもある
  • ipアドレスの確認。:192.168.1.xをメモ
    1. ifconfig
  • mysqlの設定
    1. sudo apt-get install sysv-rc-conf
    2.  
    3. sudo service mysql start
    4. sudo sysv-rc-conf mysql on
  • 既存のセクションに追加
    • mysql 5.5
      1. vim /etc/mysql/my.cnf
      2. ----
      3. [client]
      4. default-character-set=utf8
      5.  
      6. [mysqld]
      7. skip-character-set-client-handshake
      8. character-set-server=utf8
      9. default-storage-engine=InnoDB
      10. innodb_file_format=Barracuda
      11. innodb_file_per_table = 1
      12.  
      13. # MySQL ABでは、搭載メモリの80%とも書かれている
      14. # default:8388608 (8MB)
      15. innodb_buffer_pool_size=16M
      16.  
      17. [mysql]
      18. default-character-set=utf8
      19. prompt="\u@\h[\d]> "
      20. auto-rehash
      21.  
      22. [mysqldump]
      23. default-character-set=utf8
      24. ----
      25. sudo service mysql restart
    • mysql 5.1
      1. vim /etc/mysql/my.cnf
      2. ----
      3. [client]
      4. default-character-set=utf8
      5.  
      6. [mysqld]
      7. skip-character-set-client-handshake
      8. character-set-server=utf8
      9. default-table-type=InnoDB
      10.  
      11. # MySQL ABでは、搭載メモリの80%とも書かれている
      12. # default:8388608 (8MB)
      13. innodb_buffer_pool_size=16M
      14.  
      15. [mysql]
      16. default-character-set=utf8
      17. prompt="\u@\h[\d]> "
      18. auto-rehash
      19.  
      20. [mysqldump]
      21. default-character-set=utf8
      22. ----
      23. sudo service mysql restart
  • epgrec用dbの設定
    1. mkpasswd.pl -l 16 > ~/.mysql-pw-epgrec
    2.  
    3. echo "GRANT ALL PRIVILEGES ON *.* TO epgrec@localhost  IDENTIFIED BY '`cat ~/.mysql-pw-epgrec`';FLUSH PRIVILEGES;create database epgrec;" | mysql -u root -p`cat .mysql-pw-root` mysql
    4.  
    5. ログインできるか確認
    6. mysql -u epgrec -p`cat ~/.mysql-pw-epgrec` -h localhost epgrec
  • apacheユーザのログインシェルを変更。「nologinのアカウントではatコマンドも利用できず、epgrecによる録画予約が機能しません。」
    1. sudo apt-get install at
    2. ※www-dataがある場合は削除
    3. sudo vi /etc/at.deny
    4.  
    5. sudo vi /etc/passwd
    6. ----
    7. www-data:x:33:33:www-data:/var/www:/bin/sh
    8. ----
  • サムネイル生成用にffmpeg
    1. sudo apt-get install ffmpeg
  • DLNAクライアント対応
    1. sudo apt-get install mediatomb
  • epgrecのインストール。チャンネル番号は 地上デジタル放送 チャンネル一覧表 - マスプロ電工|MASPRO 参照
    1. cd /var/www/epgrec/
    2. cp config.php.sample config.php
    3. cp --archive do-record.sh.pt1 do-record.sh
    4.  
    5. sudo vi config.php
    6. ----
    7. $GR_CHANNEL_MAP = array(
    8. "GR27" => "27", // NHK 総合
    9. "GR26" => "26", // NHK Eテレ
    10. "GR25" => "25", // 日本テレビ
    11. "GR24" => "24", // テレビ朝日
    12. "GR22" => "22", // TBS
    13. "GR23" => "23", // テレビ東京
    14. "GR21" => "21", // フジテレビ
    15. "GR20" => "20", // 東京MX
    16. // "GR18" => "18", // テレ神
    17. // "GR30" => "30", // 千葉
    18. // "GR32" => "32", // テレ玉
    19. // "GR28" => "28", // 大学
    20. );
    21. ----
    22.  
    23. cd /var/www/epgrec/
    24. cat > .htaccess << 'EOS'
    25. Options Indexes
    26. EOS
  • 初期設定
    • http://192.168.1.x/epgrec/
    • MySQLホスト名:localhost
    • MySQL接続ユーザー名:epgrec
    • MySQL接続パスワード:設定したパスワード
    • 使用データベース名:epgrec
    • インストールURL:http://192.168.1.x/epgrec
    • サムネールの使用:使用する
    • 地デジチューナーの台数:2
    • BSチューナーの台数:2
    • 連続した番組の予約:行う
    • mediatomb連係機能:使う
    • ffmpegのパス:/usr/bin/ffmpeg
  • パッチの適用
    1. cd /tmp/
    2. wget "http://sourceforge.jp/frs/redir.php?m=globalbase&f=%2Fepgrec%2F46704%2Fepgrec-20100322fix1.tar.gz" -O epgrec-20100322fix1.tar.gz
    3. tar -xf epgrec-20100322fix1.tar.gz
    4. cd /var/www/epgrec/
    5. patch -p1 < $WORK_DIR/epgrec-20100322fix1.diff
    6.  
    7. cd /tmp/
    8. wget "http://sourceforge.jp/frs/redir.php?m=keihanna&f=%2Fepgrec%2F46851%2Fepgrec-20100322fix2.tar.gz" -O epgrec-20100322fix2.tar.gz
    9. tar -xf epgrec-20100322fix2.tar.gz
    10. cd /var/www/epgrec/
    11. patch -p1 < $WORK_DIR/epgrec-20100322fix2.diff
  • EPG自動更新設定
    1. sudo cp /var/www/epgrec/cron.d/getepg /etc/cron.d/
    2. sudo chmod 644 /etc/cron.d/getepg
  • EPG取得 1度目は手動で実行するのが確実
    1. sudo -u www-data /var/www/epgrec/getepg.php &
  • ドロップチェック
    • up0001.zip Multi2Dec Ver.2.10 でエラーチェックができる

PT2インストール

  • ハードウェア構成
    • ケース SA76G2 V2
    • 電源 250W (ベアボーン付属)
    • マザーボード Shuttle SA76(ベアボーン付属)
    • CPU AMD Phenom II X4 905e 65W
    • MEMORY 4.0GB DDR2-800
    • HDD1 HGST HDS721010CLA332(1TB SATA/300)
    • HDD2 WESTERN DIGITAL WD20EARS (2TB SATA300)
    • DVD Sony Optiarc AD-7260S-0B/BK(SATA)
    • PCI1 PT2 Rev.A
      • T=Terrestrial=地上波
      • S=Satellite=衛星波(BS/CS)
    • B-CASカードリーダー
    • B-CASカード
  • PC内部にB-CASカードリーダーを内蔵する場合に。マザーボードのUSBピンヘッダ -> USBポート変換
  • 上海問屋で昔購入した「FAPU2」余っていたので使用。左右のネジ固定部がPT2と干渉したので若干カット
  • ソフトウェア構成
    • Ubuntu Server 10.10 64bit
  • アンテナ構成
    1. アンテナ - 2分配器 -- ダブル分波器 - TV
    2.                    |- ダブル分波器 - PT2
    • 2分配器x1
  • ダブル分波器x2
  • pt2が認識されているか確認。認識してない場合はさし直してみる。斜めになってる場合がある
    1. sudo lspci | grep -i Multimedia
    2.  
    3. 03:0a.0 Multimedia controller: Xilinx Corporation Device 222a (rev 01)
  • Ubuntu 10.10以上で利用する場合はDVB版ドライバをロードしない様に設定する。
    1. sudo sh -c 'echo "blacklist earth-pt1" >> /etc/modprobe.d/blacklist.conf' 
  • アップデート、再起動
    1. sudo apt-get update
    2. sudo apt-get upgrade
    3. sudo reboot
  • Ubuntu 12.04用。fileubuntu-12.04.sh filept1_pci.c.3.8.patch
    • pt2 driver(kernel 3.8 patch), recpt1, arib25, pcscd(旧バージョン), epgdump, epgrec(/var/www/epgrec/)
      1. bash ubuntu-12.04.sh
  • Ubuntu 10.10用。配布先が無くなっているので fileubuntu.sh
    • pt2 driver, recpt1, arib25, pcscd, epgdump, epgrec(/var/www/epgrec/)
      1. wget http://zeonic.ath.cx/pt2/ubuntu.sh
      2. bash ubuntu.sh
  • デバイスができているか確認
    1. ls -l /dev/pt1*
    2.  
    3. crw-rw-rw- 1 root video 250, 0 2011-02-27 17:44 /dev/pt1video0
    4. crw-rw-rw- 1 root video 250, 1 2011-02-27 17:44 /dev/pt1video1
    5. crw-rw-rw- 1 root video 250, 2 2011-02-27 17:44 /dev/pt1video2
    6. crw-rw-rw- 1 root video 250, 3 2011-02-27 17:44 /dev/pt1video3
  • bcasカードリーダー確認
    1. pcsc_scan
    2.  
    3. PC/SC device scanner
    4. V 1.4.16 (c) 2001-2009, Ludovic Rousseau <ludovic.rousseau@free.fr>
    5. Compiled with PC/SC lite version: 1.5.3
    6. Scanning present readers...
    7. 0: SCM SCR 3310 NTTCom 00 00
    8. ... 中略
    9. Possibly identified card (using /usr/share/pcsc/smartcard_list.txt):
    10. 3B F0 12 00 FF 91 81 B1 7C 45 1F 03 99
    11.         B-CAS
    12. ... CTRL+Cで中断
  • 録画用プログラムの確認
    1. recpt1 --list
    2.  
    3. Available Channels:
    4. 13-62: Terrestrial Channels
    5. 101ch: NHK BS1
    6. 102ch: NHK BS2
    7. 103ch: NHK BShi
    8. 141ch: BS Nittele
    9. 151ch: BS Asahi
    10. 161ch: BS-TBS
    11. 171ch: BS Japan
    12. 181ch: BS Fuji
    13. 191ch: WOWOW
    14. 192ch: WOWOW2
    15. 193ch: WOWOW3
    16. 200ch: Star Channel
    17. 211ch: BS11 Digital
    18. 222ch: TwellV
    19. C13-C63: CATV Channels
    20. CS2-CS24: CS Channels
  • 電波の強さの確認
    1. checksignal [channel]
    2.  
    3. # 例:日本テレビの例
    4. checksignal 25                                                             
    5. device = /dev/pt1video2
    6. C/N = 33.962446dB
    7. CTRL+Cで中断
  • テスト録画(20ch - 62chまでを30秒録画)
    1. cat > rectest.sh << 'EOS'
    2. #!/bin/bash
    3. for ((i=20;i<63;i++))
    4. do
    5.   echo recording channel $i
    6.   /usr/local/bin/recpt1 --strip --b25 --sid hd $i 30 test$i.ts &> /dev/null
    7. done
    8. EOS
    9.  
    10. chmod 700 rectest.sh
    11. ./rectest.sh

Ubuntuのインストール

Memo/Ubuntu#ld3a2ef5


添付ファイル: filemediatomb-config.20130901.zip 663件 [詳細] filept1_pci.c.3.8.patch 405件 [詳細] fileubuntu-12.04.sh 565件 [詳細] fileepgrec-backup.sh 774件 [詳細] fileubuntu.sh 651件 [詳細] filemediatomb-ui.jpg 836件 [詳細] filerecordedTable.html.patch 1508件 [詳細] filedo-record.sh 1443件 [詳細] fileepgrec.jpg 1120件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-07-29 (水) 20:55:19 (1000d)