Memo/PT2/Ubuntu

https://dexlab.net:443/pukiwiki/index.php?Memo/PT2/Ubuntu
 


Ubuntu


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

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

recpt1

recpt1
  --sid
    all
    ,hd
    ,sd1
    ,sd2
    ,sd3
    ,1seg
  • 全てのチャンネルを録画(デフォルト)
    recpt1 --strip --b25 --sid all 25 30 test25.ts
  • HDのみ録画
    recpt1 --strip --b25 --sid hd 25 30 test25.ts
  • SD画質のみ録画(なぜか1segも入る)
    recpt1 --strip --b25 --sid sd1,sd2,sd3 25 30 test25.ts
  • 1segだけ録画
    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. 最新ソースを取得
    sudo apt-get install git
    cd /tmp
    git clone git://git.sourceforge.jp/gitroot/epgrec/epgrec.git

epgrecのバックアップ

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

  • ファイル類のバックアップ
    mkdir epgrec-backup
    cd epgrec-backup
    # 設定ファイル
    cp /var/www/epgrec/config.php .
    cp /var/www/epgrec/do-record.sh .
    
    # サムネイルディレクトリ
    cp -r /var/www/epgrec/thumbs .
    
    # ビデオディレクトリ(巨大なので注意)
    cp -r /var/www/epgrec/video .
  • DBバックアップ
    mysqldump -u epgrec -p`cat ~/.mysql-pw-epgrec` --single-transaction epgrec | gzip > mysql.epgrec.`date +%Y%m%d`.gz
  • DBリストア
    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
    cp recordedTable.html.patch /var/www/epgrec/templates
    cd /var/www/epgrec/templates
    patch -p0 < recordedTable.html.patch

tsファイルの分離tssplitter_lite

  • PT2で録画したMPEG2-TSファイルには、ワンセグやその他の情報が多重化して入っているため、サイズが大きい。
  • 分離することで、15分のニュース番組で300MB程小さくなる事を確認
  • tssplitter_liteのインストール
    cd /tmp/
    wget http://hp.vector.co.jp/authors/VA038175/download/tssplitter_lite.zip
    unzip tssplitter_lite.zip
    cd tssplitter_lite/
    wget http://microgroove.jp/tmp/tssplitter_lite.diff
    patch -p0 < tssplitter_lite.diff
    make
    sudo cp tssplitter_lite/tssplitter_lite /usr/local/bin/
  • ffmpegで分離対象のProgram IDを検出
    ffmpeg -i test.ts
  • tssplitter_liteで分離
    tssplitter_lite input.ts output.ts [PROGRAM ID]
  • epgrec
    vi /var/www/epgrec/config.php
    ----
    $RECORD_MODE = array(
    	//0は必須で、変更不可です。
    	0 => array(
    		'name' => 'Full TS',	// モードの表示名
    		'suffix' => '.ts',	// ファイル名のサフィックス
    	),
    
    	1 => array(
    		'name' => 'HD split', 
    		'suffix' => '_hd.ts',   
    	),
    
    
    	2 => array(
    		'name' => 'Smartphone',
    		'suffix' => '.ts',
    	),
    
    	3 => array(
    		'name' => 'Auto Encode Test',
    		'suffix' => '.ts',
    	),
    
    	4 => array(
    		'name' => 'TS split',
    		'suffix' => '.ts',
    	),
    );
    ----
    • /var/www/epgrec/do-record.sh filedo-record.sh
    • テスト
      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
    sudo sh -c "cat >> /etc/apt/sources.list << 'EOS'
    deb http://ppa.launchpad.net/handbrake-ubuntu/ppa/ubuntu lucid main
    deb-src http://ppa.launchpad.net/handbrake-ubuntu/ppa/ubuntu lucid main
    EOS"
    
    wget http://zeonic.ath.cx/pt2/handbrake.pub
    sudo apt-key add handbrake.pub
    
    sudo apt-get update
    sudo apt-get install handbrake-cli
  • mplayer
    sudo apt-get install mplayer
  • MP4Box
    sudo apt-get install gpac
  • epgrecの設定変更 環境設定 > システム設定へ > ffmpegのパス
  • /usr/local/bin/ffmpeg
  • 一応再起動
    sudo reboot
  • epgrecのconfig.phpにスマートフォンと、自動エンコード用設定を追加
    cd /var/www/epgrec/
    vim config.php
    ----
    $RECORD_MODE = array(
    	//0は必須で、変更不可です。
    	0 => array(
    		'name' => 'Full TS',	// モードの表示名
    		'suffix' => '.ts',	// ファイル名のサフィックス
    	),
    
    	1 => array(
    		'name' => 'HD split', 
    		'suffix' => '_hd.ts',   
    	),
    
    	2 => array(
    		'name' => 'Smartphone',
    		'suffix' => '.ts',
    	),
    
    	3 => array(
    		'name' => 'Auto Encode Test',
    		'suffix' => '.ts',
    	),
    );
    ----
  • 録画シェルスクリプトを変更 /var/www/epgrec/do-record.sh
    #!/bin/sh
    echo "CHANNEL : $CHANNEL"
    echo "DURATION: $DURATION"
    echo "OUTPUT : $OUTPUT"
    echo "TUNER : $TUNER"
    echo "TYPE : $TYPE"
    echo "MODE : $MODE"
    echo "SID : $SID"
    RECORDER=/usr/local/bin/recpt1
    #出力するファイルの名前だけを切りだし(例:/path/to/save/hoge.ts → hoge.ts)
    FILENAME=${OUTPUT##*/}
    
    if [ ${MODE} -eq 0 ]; then
    	$RECORDER --b25 --strip $CHANNEL $DURATION ${OUTPUT} >/dev/null
    elif [ ${MODE} -eq 1 ]; then
    	$RECORDER --b25 --strip --sid $SID $CHANNEL $DURATION ${OUTPUT} >/dev/null
    elif [ ${MODE} -eq 2 ]; then
    	$RECORDER --b25 --strip --sid $SID $CHANNEL $DURATION ${OUTPUT}
    	cd /tmp/
    
    	#HD部だけを分離したtsファイルからさらに音声と動画に分離
    	ffmpeg -i ${OUTPUT} -vn -acodec libfaac -ac 2 -ar 48000 -ab 96k /tmp/$FILENAME.novideo.aac
    	mplayer -dumpvideo ${OUTPUT} -dumpfile /tmp/$FILENAME.noaudio.ts
    
    	#HandbrakeCLIで動画だけのtsファイルをMP4形式の動画にエンコ
    	#-X 1280 -Y 720 とするとiPadで再生できる
    	HandBrakeCLI -i $FILENAME.noaudio.ts -O -f mp4 -X 480 -Y 270 -e x264 -b 400 --loose-anamorphic -o $FILENAME.mp4
    
    	#音声を付加
    	MP4Box -add $FILENAME.novideo.aac $FILENAME.mp4
    
    	#元のフォルダに戻しておく。Apacheの領域内に戻して外部参照してもOK
    	mv $FILENAME.mp4 ${OUTPUT}.480x270.mp4
    
    	#後始末
    	rm -rf /tmp/$FILENAME*
    
    elif [ ${MODE} -eq 3 ]; then
    	$RECORDER --b25 --strip --sid $SID $CHANNEL $DURATION ${OUTPUT} > /dev/null
    	START=`date '+%s'`
    	cd /tmp/
    	mplayer -dumpaudio ${OUTPUT} -dumpfile /tmp/$FILENAME.novideo.aac
    	mplayer -dumpvideo ${OUTPUT} -dumpfile /tmp/$FILENAME.noaudio.ts
    	HandBrakeCLI -i $FILENAME.noaudio.ts -f mp4 -e x264 -b 5000 --loose-anamorphic -o $FILENAME.mp4
    	MP4Box -add $FILENAME.novideo.aac $FILENAME.mp4
    	mv $FILENAME.mp4 ${OUTPUT}.mp4
    	rm -rf /tmp/$FILENAME*
    	END=`date '+%s'`
    	TIME=`expr $END - $START`
    	echo 保存用の$FILENAMEの変換が終了しました > /var/www/epgrec/data.txt
    	echo `date`に終了。 $TIME秒かかりました >> /var/www/epgrec/data.txt
    #	mutt -s 保存用_$FILENAME hoge@example.com -F /home/hoge/.mutt/muttrc < /var/www/epgrec/data.txt 
    
    	#自動変換が信頼できるなら元のtsファイルを消す
    	rm -rf ${OUTPUT}
    
    fi
  • テスト
    スマートフォン用
    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
    
    保存用
    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. 以下コマンドを実行
    /var/www/epgrec/recomplete.php id

XBMCのインストール

Memo/XBMC/Ubuntu


sambaでtsファイル共有

  • sambaのインストール
    sudo apt-get -y install samba swat
  • ユーザの操作
    pdbedit -a -u ユーザー名:ユーザーの追加
    pdbedit -x ユーザー名:ユーザーの削除
  • ホームディレクトリ
    sudo mkdir /etc/skel/samba
    cat > mkhomedir.sh << 'EOS'
    #!/bin/bash
    
    # /home/ユーザ名/samba ディレクトリを一括作成
    
    for user in `ls /home`
    do
        id $user > /dev/null 2>&1
        [ $? -eq 0 ] && \
        [ ! -d /home/$user/samba ] && \
        mkdir /home/$user/samba && \
        chown $user:$user /home/$user/samba && \
        echo "/home/$user/samba create"
    done
    EOS
    chmod 755 mkhomedir.sh
    sudo ./mkhomedir.sh
  • 共有ディレクトリ作成
    sudo mkdir /home/samba
    sudo chown nobody:root /home/samba
  • samba設定
    sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
    
    sudo su -c "cat > /etc/samba/smb.conf << 'EOS'
    [global]
        smb ports = 139
        debug level = 0
        dos charset = CP932
        unix charset = UTF-8
        display charset = UTF-8
        server string = MediaCenter
        passdb backend = tdbsam
        obey pam restrictions = yes
        load printers = No
        disable spoolss = Yes
        ldap ssl = no
        hosts allow = 192.168.1., 127.
        printing = bsd
        cups options = raw
        print command = lpr -r -P'%p' %s
        lpq command = lpq -P'%p'
        lprm command = lprm -P'%p' %j
        map archive = no
        create mask = 0664
        force create mode = 0600
        directory mask = 0775
        force directory mode = 0700
        workgroup = WORKGROUP
        dns proxy = no
        log file = /var/log/samba/log.%m
        max log size = 1000
        syslog = 0
        panic action = /usr/share/samba/panic-action %d
        unix password sync = yes
        passwd program = /usr/bin/passwd %u
        passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
        pam password change = yes
        map to guest = bad user
        usershare allow guests = yes
    
    [homes]
        comment = Home Directories
        path = %H
        read only = No
        browseable = No
        vfs objects = recycle
        recycle:repository = .recycle
        recycle:keeptree = no
        recycle:versions = yes
        recycle:touch = no
        recycle:maxsize = 0
        recycle:exclude = *.tmp ~$*
    
    [printers]
        comment = All Printers
        path = /var/spool/samba
        printable = Yes
        browseable = No
        guest ok = no
        read only = yes
        create mask = 0700
    
    [pt2]
        comment = pt2
        path =  /var/www/epgrec/video
        read only = No
        guest ok = no
        vfs objects = recycle
        recycle:repository = .recycle
        recycle:keeptree = no
        recycle:versions = yes
        recycle:touch = no
        recycle:maxsize = 0
        recycle:exclude = *.tmp ~$*
    EOS"
    
    sudo service smbd restart
    sudo sysv-rc-conf smbd on
  • ごみ箱内ファイルの自動削除設定(7日間=168時間)
    sudo vi /etc/cron.daily/recyclewatch
    ----
    #!/bin/bash
    # vim: ts=4:sw=4:tw=80
    for user in `ls /home/`
    do
        if [ -d /home/$user/.recycle ]; then
            /usr/bin/find "/home/$user/.recycle/" -mtime +7 -exec rm -rf {} \;
        fi
        if [ -d /home/$user/samba/.recycle ]; then
            /usr/bin/find "/home/$user/samba/.recycle/" -mtime +7 -exec rm -rf {} \;
        fi
    done
    if [ -d /var/www/epgrec/video/.recycle ]; then
        /usr/bin/find "/var/www/epgrec/video/.recycle/" -mtime +7 -exec rm -rf {} \;
    fi
    ----
    
    chmod +x /etc/cron.daily/recyclewatch
  • swatのインストール

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

mediatomb-ui.jpg

  • mediatomb 0.12.1 管理画面の対応状況
    • △IE8(アラートが表示できるが使える)
    • ○Firefox 3.6
    • ○Google Chrome 15
    • ×Opera 11.52 ファイル一覧が表示されない
  • mediatomb用dbの設定
    mysql -u epgrec -p`cat ~/.mysql-pw-epgrec` epgrec < /usr/share/mediatomb/mysql.sql
  • 設定
    sudo vi /etc/default/mediatomb
    ----
    NO_START="no"
    INTERFACE="eth0"
    
    ## MediaTomb will be started on port 49152
    MT_PORT="49152"
    ----
  • 設定ファイルコピー。添付zipを展開してコピーする
    • filemediatomb-config.20130901.zip
      sudo cp mediatomb-transcoding-* /usr/local/bin/
      sudo chmod +x /usr/local/bin/mediatomb-transcoding-*
      sudo cp config.xml /etc/mediatomb/
      
      # パスワードを編集
      sudo vim /etc/mediatomb/config.xml
      ----
      <password>***</password>
      ----
      
      sudo service mediatomb restart
      sudo sysv-rc-conf mediatomb on
  • ffmpegthumbnailerのテスト
    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/ まで移動して動画が追加されているか確認
  • うまく再生できない場合、トランスコーディング機能を無効にしてみる。
    vim /etc/mediatomb/config.xml
    ----
    <transcoding enabled="no">
    ----
    service mediatomb restart
    
    # トランスコードのログを見る
    less /tmp/mediatomb-transcoding-video.log
  • mediatombのログを見る
    sudo tail -f /var/log/mediatomb.log
  • トランスコードスクリプトサンプル
    /usr/share/doc/mediatomb-common/examples/mediatomb-transcode
    
    汎用ビデオ
    /usr/share/doc/mediatomb-common/examples/mediatomb-transcode --video-common
    
    汎用オーディオ
    /usr/share/doc/mediatomb-common/examples/mediatomb-transcode --audio-common

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

epgrec.jpg

  • 3/22fix版からのフォークで epgrec UNAもある
  • ipアドレスの確認。:192.168.1.xをメモ
    ifconfig
  • mysqlの設定
    sudo apt-get install sysv-rc-conf
    
    sudo service mysql start
    sudo sysv-rc-conf mysql on
  • 既存のセクションに追加
    • mysql 5.5
      vim /etc/mysql/my.cnf
      ----
      [client]
      default-character-set=utf8
      
      [mysqld]
      skip-character-set-client-handshake
      character-set-server=utf8
      default-storage-engine=InnoDB
      innodb_file_format=Barracuda
      innodb_file_per_table = 1
      
      # MySQL ABでは、搭載メモリの80%とも書かれている
      # default:8388608 (8MB)
      innodb_buffer_pool_size=16M
      
      [mysql]
      default-character-set=utf8
      prompt="\u@\h[\d]> "
      auto-rehash
      
      [mysqldump]
      default-character-set=utf8
      ----
      sudo service mysql restart
    • mysql 5.1
      vim /etc/mysql/my.cnf
      ----
      [client]
      default-character-set=utf8
      
      [mysqld]
      skip-character-set-client-handshake
      character-set-server=utf8
      default-table-type=InnoDB
      
      # MySQL ABでは、搭載メモリの80%とも書かれている
      # default:8388608 (8MB)
      innodb_buffer_pool_size=16M
      
      [mysql]
      default-character-set=utf8
      prompt="\u@\h[\d]> "
      auto-rehash
      
      [mysqldump]
      default-character-set=utf8
      ----
      sudo service mysql restart
  • epgrec用dbの設定
    mkpasswd.pl -l 16 > ~/.mysql-pw-epgrec
    
    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
    
    ログインできるか確認
    mysql -u epgrec -p`cat ~/.mysql-pw-epgrec` -h localhost epgrec
  • apacheユーザのログインシェルを変更。「nologinのアカウントではatコマンドも利用できず、epgrecによる録画予約が機能しません。」
    sudo apt-get install at
    ※www-dataがある場合は削除
    sudo vi /etc/at.deny
    
    sudo vi /etc/passwd
    ----
    www-data:x:33:33:www-data:/var/www:/bin/sh
    ----
  • サムネイル生成用にffmpeg
    sudo apt-get install ffmpeg
  • DLNAクライアント対応
    sudo apt-get install mediatomb
  • epgrecのインストール。チャンネル番号は 地上デジタル放送 チャンネル一覧表 - マスプロ電工|MASPRO 参照
    cd /var/www/epgrec/
    cp config.php.sample config.php
    cp --archive do-record.sh.pt1 do-record.sh
    
    sudo vi config.php
    ----
    $GR_CHANNEL_MAP = array(
    	"GR27" => "27",		// NHK 総合
    	"GR26" => "26",		// NHK Eテレ
    	"GR25" => "25",		// 日本テレビ
    	"GR24" => "24",		// テレビ朝日
    	"GR22" => "22",		// TBS
    	"GR23" => "23",		// テレビ東京
    	"GR21" => "21",		// フジテレビ
    	"GR20" => "20",		// 東京MX
    //	"GR18" => "18",		// テレ神
    //	"GR30" => "30",		// 千葉
    //	"GR32" => "32",		// テレ玉
    //	"GR28" => "28",		// 大学
    );
    ----
    
    cd /var/www/epgrec/
    cat > .htaccess << 'EOS'
    Options Indexes
    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
  • パッチの適用
    cd /tmp/
    wget "http://sourceforge.jp/frs/redir.php?m=globalbase&f=%2Fepgrec%2F46704%2Fepgrec-20100322fix1.tar.gz" -O epgrec-20100322fix1.tar.gz
    tar -xf epgrec-20100322fix1.tar.gz
    cd /var/www/epgrec/
    patch -p1 < $WORK_DIR/epgrec-20100322fix1.diff
    
    cd /tmp/
    wget "http://sourceforge.jp/frs/redir.php?m=keihanna&f=%2Fepgrec%2F46851%2Fepgrec-20100322fix2.tar.gz" -O epgrec-20100322fix2.tar.gz
    tar -xf epgrec-20100322fix2.tar.gz
    cd /var/www/epgrec/
    patch -p1 < $WORK_DIR/epgrec-20100322fix2.diff
  • EPG自動更新設定
    sudo cp /var/www/epgrec/cron.d/getepg /etc/cron.d/
    sudo chmod 644 /etc/cron.d/getepg
  • EPG取得 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
  • アンテナ構成
    アンテナ - 2分配器 -- ダブル分波器 - TV
                       |- ダブル分波器 - PT2
    • 2分配器x1
  • ダブル分波器x2
  • pt2が認識されているか確認。認識してない場合はさし直してみる。斜めになってる場合がある
    sudo lspci | grep -i Multimedia
    
    03:0a.0 Multimedia controller: Xilinx Corporation Device 222a (rev 01)
  • Ubuntu 10.10以上で利用する場合はDVB版ドライバをロードしない様に設定する。
    sudo sh -c 'echo "blacklist earth-pt1" >> /etc/modprobe.d/blacklist.conf'
  • アップデート、再起動
    sudo apt-get update
    sudo apt-get upgrade
    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/)
      bash ubuntu-12.04.sh
  • Ubuntu 10.10用。配布先が無くなっているので fileubuntu.sh
    • pt2 driver, recpt1, arib25, pcscd, epgdump, epgrec(/var/www/epgrec/)
      wget http://zeonic.ath.cx/pt2/ubuntu.sh
      bash ubuntu.sh
  • デバイスができているか確認
    ls -l /dev/pt1*
    
    crw-rw-rw- 1 root video 250, 0 2011-02-27 17:44 /dev/pt1video0
    crw-rw-rw- 1 root video 250, 1 2011-02-27 17:44 /dev/pt1video1
    crw-rw-rw- 1 root video 250, 2 2011-02-27 17:44 /dev/pt1video2
    crw-rw-rw- 1 root video 250, 3 2011-02-27 17:44 /dev/pt1video3
  • bcasカードリーダー確認
    pcsc_scan
    
    PC/SC device scanner
    V 1.4.16 (c) 2001-2009, Ludovic Rousseau <ludovic.rousseau@free.fr>
    Compiled with PC/SC lite version: 1.5.3
    Scanning present readers...
    0: SCM SCR 3310 NTTCom 00 00
    ... 中略
    Possibly identified card (using /usr/share/pcsc/smartcard_list.txt):
    3B F0 12 00 FF 91 81 B1 7C 45 1F 03 99
            B-CAS
    ... CTRL+Cで中断
  • 録画用プログラムの確認
    recpt1 --list
    
    Available Channels:
    13-62: Terrestrial Channels
    101ch: NHK BS1
    102ch: NHK BS2
    103ch: NHK BShi
    141ch: BS Nittele
    151ch: BS Asahi
    161ch: BS-TBS
    171ch: BS Japan
    181ch: BS Fuji
    191ch: WOWOW
    192ch: WOWOW2
    193ch: WOWOW3
    200ch: Star Channel
    211ch: BS11 Digital
    222ch: TwellV
    C13-C63: CATV Channels
    CS2-CS24: CS Channels
  • 電波の強さの確認
    checksignal [channel]
    
    # 例:日本テレビの例
    checksignal 25                                                              
    device = /dev/pt1video2
    C/N = 33.962446dB
    CTRL+Cで中断
  • テスト録画(20ch - 62chまでを30秒録画)
    cat > rectest.sh << 'EOS'
    #!/bin/bash
    for ((i=20;i<63;i++))
    do
      echo recording channel $i
      /usr/local/bin/recpt1 --strip --b25 --sid hd $i 30 test$i.ts &> /dev/null
    done
    EOS
    
    chmod 700 rectest.sh
    ./rectest.sh

Ubuntuのインストール

Memo/Ubuntu#ld3a2ef5


添付ファイル: filemediatomb-config.20130901.zip 616件 [詳細] filept1_pci.c.3.8.patch 381件 [詳細] fileubuntu-12.04.sh 534件 [詳細] fileepgrec-backup.sh 736件 [詳細] fileubuntu.sh 618件 [詳細] filemediatomb-ui.jpg 806件 [詳細] filerecordedTable.html.patch 1484件 [詳細] filedo-record.sh 1409件 [詳細] fileepgrec.jpg 1078件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-09-15 (土) 07:31:38 (8d)