epgrecの録画済一覧ページをちょいといじった
前置き
自分の録画サーバのディレクトリ構成は以下のようになっている。
un_encode_ts/ : エンコード前のtsファイルを入れる encoded_ts/ : エンコード完了後のtsファイルを入れる mp4/ : エンコードしたmp4ファイルを入れる
現状は、インストールしたepgrecのままなので作成したasfのストリーミング先が un_encode_ts/ のままである。
これでは不便というかtsファイルが見れないので改良。
その他、便利かな?と思った機能を追加した。
以下、追加した機能
- asfのストリーミング先をencoded_ts/以下に変更
- ストリーミング先にmp4を追加
- テーブルを録画日時による昇順/降順で表示
- 1ページに表示する件数を選択
触ったファイル
触ったファイルは以下のとおり。
./templates/recordedTable.html ./recordedTable.php ./viewer.php
以下、差分。
- recordedTable.html
録画済ページ表示用ファイル。
optionとしてソート、表示件数を追加。
テーブルカラムとして、モードが不要だったので削除。
mp4のリンク先を追加。
@@ -153,0 +154,9 @@ +ソート<select name="sort"> + <option value="DESC">降順</option> + <option value="ASC">昇順</option> +</select> +表示件数<select name="table_items"> + <option value=50>50</option> + <option value=100>100</option> + <option value=500>500</option> +</select> @@ -174 +183 @@ - <th>モード</th> +<!-- <th>モード</th> --> @@ -176,0 +186 @@ + <th>mp4リンク</th> @@ -186 +196 @@ - <td>{$rec.mode}</td> +<!-- <td>{$rec.mode}</td> --> @@ -188,0 +199 @@ + <td><a href="{$rec.asf_mp4}" id="tid_{$rec.id}">mp4</a></td>
- recordedTable.php
データベースから録画済ページのデータを取得する。
$sort : ページ表示のソート用の変数
$table_items : 1ページの表示件数
を追加。POSTで受信する。
mp4のリンクページ 追加。
asfはviewer.phpで作成されるため、mp4かtsかの判定用としてGETメソッドのパラメータにfile_typeを追加。
@@ -13,0 +14,2 @@ +$sort = "DESC"; +$table_items = 50; @@ -43,0 +46,10 @@ + if( isset($_POST['sort'])) { + if( $_POST['sort'] != "" ) { + $sort = $_POST['sort']; + } + } + if( isset($_POST['table_items'])) { + if( $_POST['table_items'] != "" ) { + $table_items = $_POST['table_items']; + } + } @@ -47 +59 @@ -$options .= " ORDER BY starttime DESC"; +$options .= " ORDER BY starttime " . $sort . " LIMIT ". $table_items; @@ -60 +72,2 @@ - $arr['asf'] = "".$settings->install_url."/viewer.php?reserve_id=".$r->id; + $arr['asf'] = "".$settings->install_url."/viewer.php?reserve_id=".$r->id."&file_type=ts"; + $arr['asf_mp4'] = "".$settings->install_url."/viewer.php?reserve_id=".$r->id."&file_type=mp4";
- viewer.php
asfファイル作成ファイル。
GETでfile_typeを取得。
file_typeから作成するリンク先を encoded_ts 以下にするか mp4 以下にするか決めている。
@@ -17,0 +18 @@ +$file_type = $_GET['file_type']; @@ -41 +42,9 @@ - echo "<REF HREF=\"".$settings->install_url."/video/encoded_ts"."/".$rrec->path ."\" />"; + if( $file_type == "ts" ) echo "<REF HREF=\"".$settings->install_url."/video/encoded_ts"."/".$rrec->path ."\" />"; + if( $file_type == "mp4") { + $path_split = explode( "." , $rrec->path ); + $file_name = $path_split[0] . ".mp4"; + $file_dir = "/video/mp4"; + if( file_exists( "." . $file_dir . "/watched/" . $file_name ) ) $file_dir = $file_dir . "/watched"; + if( file_exists( "." . $file_dir . "/watched/2013/" . $file_name ) ) $file_dir = $file_dir . "/watched/2013"; + echo "<REF HREF=\"".$settings->install_url.$file_dir."/".$file_name ."\" />"; + }