Epgrec

提供: Lisa Wiki
2015年6月11日 (木) 06:45時点におけるRoot (トーク | 投稿記録)による版

移動: 案内検索

epgrecとは

必要な機器

必要なプログラム

epgrec Webから予約を受け付けるプログラム
recfsusb2n チューナーからデータを受け取る
epgdump 受信データから番組表を取り出す
ffmpeg 取り込んだデータを圧縮する
その他、at cron等が必要だがパッケージで準備されているのでapt-getしてインストールする

recfsusb2nのコンパイル、設置

recfsusb2nは、コンパイルしてインストールする必要が有ります。
まず、コンパイルに必要なツールと後に必要なコマンドをインストールします。
ターミナルで接続し

sudo su
apt-get install yasm g++ libboost-thread-dev libboost-filesystem-dev at cron git make usbutils

展開し、コンパイル

make clean
make
cp recfsusb2n /usr/local/bin

epgdumpのコンパイル、設置

epgdumpは、コンパイルしてインストールする必要が有ります。
展開し、コンパイル

make clean
make
cp epgdump /usr/local/bin

ffmpegのコンパイル、設置

ffmpegは、コンパイルしてインストールする必要が有ります。(Raspbianの場合はapt-get可能です)

設置方法

データベースの準備

データベースを作成

mysql -u root -p

epgrecと言う名称のデータベースでユーザーID:epgrec パスワード:epgrecで作成

mysql> grant all privileges on epgrec.* to epgrec@localhost identified by 'epgrec';
mysql> create database epgrec;
mysql> exit

atコマンドの許可

/etc/at.deny を開き、www-data を削除

Webアプリの設置

tar xvzpf epgrec_20111001.tar.gz

config.php.sample を config.php にリネームして編集。

mv config.php.sample config.php
nano config.php

チューナーは KTV-FSUSB2 を利用するので、do-record.sh は以下のようにした。

nano do-record.sh
#!/bin/sh
echo "CHANNEL : $CHANNEL"
echo "DURATION: $DURATION"
echo "OUTPUT  : $OUTPUT"
echo "TUNER : $TUNER"
echo "TYPE : $TYPE"
echo "MODE : $MODE"

RECORDER=/usr/local/bin/recfsusb2n

$RECORDER --b25 $CHANNEL $DURATION ${OUTPUT} >/dev/null

ちゃんと録画出来るかテスト

OUTPUT=test.ts CHANNEL=22 DURATION=30 TUNER=0 MODE=0 TYPE=GR /media/Data/www/epgrec/do-record.sh

Apacheへの設定

nano /etc/apache2/conf-enabled/epgrec.conf

次の内容で編集します。

# Uncomment this to add an alias.
# This does not work properly with virtual hosts..
Alias /epgrec /media/Data/www/epgrec

<Directory /media/Data/www/epgrec/>
        Options +FollowSymLinks
        AllowOverride All
        <IfVersion >= 2.3>
                Require all granted
        </IfVersion>
        <IfVersion < 2.3>
                order allow,deny
                allow from all
        </IfVersion>
</Directory>

Apacheの再起動

apache2ctl restart

ブラウザで http://osmc/epgrec/ にアクセスすると何らかのメッセージが表示されていれば成功です。

パーミッションの調整

ffmpegのインストール

x264のインストール

apt-get install libx264-142
git clone git://git.videolan.org/x264
cd x264/
./configure --enable-shared --enable-pic
make
make install

xvidのインストール

wget http://downloads.xvid.org/downloads/xvidcore-1.3.3.tar.gz
tar zxvf xvidcore-1.3.3.tar.gz
cd xvidcore/build/generic
./configure
make
make install

faacのインストール

wget http://downloads.sourceforge.net/faac/faac-1.28.tar.gz
tar zxvf faac-1.28.tar.gz
cd faac-1.28/
./configure --with-mp4v2
make
make install

faadのインストール
http://sourceforge.net/projects/faac/files/faad2-src/faad2-2.7 ここから最新のソースを取得します。

tar zxvf faad2-2.7.tar.gz
cd faad2-2.7/
./configure
make
make install

lameのインストール
http://sourceforge.net/projects/lame/files/lame/3.99/ ここから最新のソースを取得します

tar zxvf lame-3.99.5.tar.gz
cd lame-3.99.5
./configure --enable-nasm --enable-efence --enable-mp3x --enable-mp3rtp
make
make install

共有ライブラリの情報を更新

nano /etc/ld.so.conf

/usr/local/lib の記述を追加します。

include ld.so.conf.d/*.conf
/usr/local/lib

保存後に下記コマンドを実行

ldconfig

ffmpegのインストール

wget http://www.ffmpeg.org/releases/ffmpeg-2.2.2.tar.gz
tar zxvf ffmpeg-2.2.2.tar.gz
cd ffmpeg-2.2.2/
./configure --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib --mandir=/usr/share/man --arch=armv7hl --optflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector -param=ssp-buffer-size=4 -march=armv7 -mfloat-abi=hard -mfpu=vfp' --disable-crystalhd --disable-indev=jack --enable-libmp3lame --enable-libxvid --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib --disable-runtime-cpudetect --arch=arm --disable-neon --enable-libfaac --enable-libx264 --enable-nonfree --disable-asm