epgrec UNAのサムネイルとトランスコード機能(ライブ視聴、FFmpegによる録画終了後MPEG4エンコード)を有効にする方法
最終更新日:2017/02/01
記事タイトルは少しあおり気味で遊んでみました。しかし、トランスコード機能を有効にして初めてepgrec UNAがその真価を発揮するのも事実です。
epgrec UNAで録画番組のサムネイルとトランスコード機能を有効にする方法について説明します。FFmpegがインストール済みであることが前提ですので、まだインストールされていない場合、『LinuxでFFmpegをほぼ全自動でビルドする(CentOS、Ubuntu等に対応)』をご参照下さい。
この記事の通りに実行すると以下の機能が有効になります。
- 録画番組のサムネイル表示
- 録画終了後のMPEG-4 AVC/H.264(以降MPEG4)エンコード
- VLC media playerによるライブ視聴(MPEG2-TS及びMPEG4形式)
- VLC media playerによる録画番組のストリーミング再生(MPEG2-TS及びMPEG4形式)
スポンサーリンク
目次
サムネイル設定
epgrec UNAのメニューから「環境設定」のページに移動します。
画面上部の「システム設定」のリンクをクリックします。
この設定画面の中の「サムネールの使用」を”使用する”に変更します。「使用コマンドのパス設定」のFFmpegのテキストボックスにffmepgコマンドのフルパス名を入力します。本記事のビルド手順でインストールした場合、”/usr/local/ffmpeg_build/bin/ffmpeg”になります。
先頭から何秒後のサムネイルを生成するかの設定はシェルスクリプトを直接編集する必要があります。変更したい場合、以下の手順を実行して下さい。
# vi gen-thumbnail.sh デフォルトは5秒後になっています。 下記の数値を変更します。 offset=`expr ${FORMER} + 5`
以上でサムネイル設定は完了です。以降録画した番組は録画完了後にサムネイルが生成されるようになります。
トランスコード設定
トランスコード設定はサムネイル設定と違い、ファイルを自分で編集する必要があります。settingsディレクトリに移動して作業します。
# cd /var/www/epgrec/settings # cp trans_config.php.sample trans_config.php 2箇所変更します。 # vi trans_config.php ・トランスコードストリーミングの有効化 67行目: 変更前) define( 'TRANSCODE_STREAM', FALSE ); 変更後) define( 'TRANSCODE_STREAM', TRUE ); ・ffmpegコマンドの使用するAACライブラリを変更 74行目: 変更前) define( 'TRANSTREAM_CMD', '%FFMPEG% (省略) -acodec libfaac 変更前) define( 'TRANSTREAM_CMD', '%FFMPEG% (省略) -acodec libfdk_aac # cd /var/www/epgrec/ # vi config.php ・ライブ視聴の有効化 169行目: 変更前) define( 'REALVIEW', FALSE ); 変更後) define( 'REALVIEW', TRUE );
以上でトランスコード設定は完了です。この設定により番組の録画終了後にMPEG-4へのエンコード、番組表からライブ視聴、録画済み一覧からストリーミング再生ができるようになります。
録画終了後のMPEG4エンコード
番組の録画終了後にMPEG4へエンコードする方法を説明します。
「番組検索」画面または「自動録画キーワードの管理」画面から、検索語句による番組一覧を表示します。ここの下部に「トランスコード設定」が追加されているので、ドロップダウンリストからモードと保存ディレクトリを選びます。最後に「この設定で登録キーワードを更新」ボタンをクリックすれば設定完了です。これで番組終了後に指定した動画形式で変換が行われます。変換が完了した動画は「録画済み一覧」から試聴できます。なお、デフォルト設定ではオリジナルのMPEG-2 TSファイルは残されますが、変換完了後に削除することも可能です。
デフォルトで用意されているモードはH264-HDとH264-SDの2つです。H264-HDは放送波の解像度そのままで変換します。地デジなら1440×1080です。H264-SDは解像度640×360で変換します。少し面倒ですが、”settings/trans_config.php”ファイルに自分で新しいモードを追加すれば、異なる解像度やH.265などへの変換も可能です。
ストリーミング再生
epgrec UNAでストリーミング再生するためにはASXファイルとVLC media playerを関連付ける必要があります。先に視聴方法を説明し、関連付け設定を後半で説明します。
ライブ視聴
ライブ視聴は、放送中の番組をMPEG2-TSのまま見る方法とMPEG4でストリーミング視聴する方法の2種類があります。
「番組表」の各テレビ局の下の「視聴」をクリックするとMPEG2-TSで見ることができます。「視聴」の隣の「▼」をクリックするとMPEG4でストリーミング視聴できます。ストリーミング再生の解像度は右上のドロップダウンリストから選択します。
なお、MPEG4のストリーミング視聴は録画サーバのffmpegコマンドで行うため、解像度が高いと録画サーバに負荷がかかります。
録画番組視聴
「録画済一覧」から録画番組を試聴できます。MPEG2-TS再生はサムネイル画像または「HD TS」のクリック、MPEG4ストリーミング再生は「▼」をクリックで見ることができます。ストリーミング再生の解像度は録画モード(視聴)のドロップダウンリストから選択します。
また、エンコードを完了した録画番組はモード名(H264-HD等)をクリックすると見ることができます。
ASXファイルの関連付け
最初に書いた通り、epgrec UNAでストリーミング再生するためにはASXファイルとVLC media playerを関連付ける必要があります。更に各ブラウザでASXファイルを開いた時の動作を設定する必要もあるので、代表的なブラウザを例に説明します。
事前にVLC media playerをインストールしておいて下さい。
VLC media playerとの関連付け
ストリーミング再生しようとすると、どのブラウザでも初回はASXファイルの保存画面が表示されます。一旦そこでファイルを保存して下さい。
保存したファイルを選択し、右クリックして「プラグラムから開く(H)」、「既定のプログラムの選択(C)」の順に選びます。
後は”全ての.asxファイルをこのアプリで開く”にチェックを入れて、”VLC media player”を選択すれば関連付けの完了です。
上記で示した画像はWindows8.1のものですが、Windows7でも同様の手順になります。
Google Chrome
Chromeではストリーミング再生をしようとするとASXファイルを保存するウィンドウが表示されます。一旦そのまま保存して下さい。
ブラウザウィンドウの最下部に保存したASXファイルの名前が表示されています。右端の▼をクリックして、「この種類のファイルは常に開く(A)」を選択します。これで関連付け完了です。以降はリンクをクリックするだけでVLC media playerが自動的に起動して再生開始します。
なお、Chromeの場合、ASXファイルをダウンロードフォルダに保存して再生しているので、気付くとファイルが大量にたまっています。定期的にファイルを削除するようにしましょう。
VLC media playerの自動起動をやめたい場合、設定のダウンロード欄の「ファイルを自動的に開かないようにする」をクリックすればやめることができます。
Mozilla Firefox
Firefoxでストリーミング再生しようとするとASXファイルを開こうとするダイアログボックスが表示されます。「プログラムで開く(O)」のドロップダウンリストから”VLC media player”を選択、「今後この種類のファイルは同様に処理する(A)」のチェックを入れます。最後にOKボタンを押せば関連付け完了です。以降はリンクをクリックするだけでVLC media playerが自動的に起動して再生開始します。
VLC media playerの自動起動をやめたい場合、メニューのオプションからプログラムを選択して下さい。”Windows Media Audio/Video playlist”で「毎回確認する」を選べばやめることができます。
Internet Explorer
Internet Explorerは自動再生できません。ストリーミングしようとするとウィンドウ下部にASXファイルの「開く」、「保存」の選択のポップアップが表示されます。「ファイルを開く(O)」を選択するとVLC media playerで再生を開始します。
録画終了後のエンコード
当ブログで録画終了後にH.264でエンコードするためのスクリプトを作成しました。良かったら使ってみて下さい。