/ [20:30] における更新

差分発生行の前後
無視リスト:
ファイル:

凡例:

変更無し
追加
削除
更新
コピー
移動
  • /trunk/doc/CHANGES.txt

    r18 r28  
    11foltia 更新履歴 http://www.dcc-jpl.com/soft/foltia/ 
     2 
     306.12.24 
     4tvrecording.pl: 
     5 録画開始前の余裕時間を約15秒増やした。 
     6 
     706.12.22 
     8selectcaptureimage.php: 
     9 サブタイトルのしょぼいカレンダーへのリンク追加。 
     10 
     1106.12.18 
     12showlibc.php: 
     13 サブタイトルへのリンク追加。 
     14 ページタイトルに番組名表示。 
     15folcast.php: 
     16 出力にContent-Disposition:ヘッダ追加 
     17 
     1806.12.14 
     19foltialib.php:printdiskusage 
     20 表示スタイルを変更 
    221 
    32206.12.12; 
  • /trunk/doc/index.html

    r8 r30  
    6060<ul> 
    6161  <li>Linuxの動くAT互換機:手もと開発・録画機はCeleron 2.6GHz,1GB RAMのスペックで30分番組のMPEG4(XviD)変換が22分程度で完了しています。</li> 
    62   <li>ivtvドライバで動作するビデオキャプチャカード:foltiaの機能を引きだすためには複数のエンコーダを搭載するのがおすすめです。手もとの環境ではIOデータ 
    63     GV-MVP/RXを2枚、RX2Wを1枚で計4チャンネル同時録画環境にしています。画質の点からは複数エンコーダが一枚のカードに載ったRX2Wよりも1エンコーダのGV-MVP/RX2の方が多少有利なようです。</li> 
     62  <li>ivtvドライバで動作するビデオキャプチャカード:foltiaの機能を引きだすためには複数のエンコーダを搭載するのがおすすめです。手もとの環境ではIOデータ <a href="http://www.iodata.jp/prod/multimedia/tv/2003/gv-mvprx/">GV-MVP/RX</a>を2枚、<a href="http://www.iodata.jp/prod/multimedia/tv/2004/gv-mvprx2w/index.htm">GV-MVP/RX2W</a>を1枚で計4チャンネル同時録画環境にしています。画質の点からは複数エンコーダが一枚のカードに載ったRX2Wよりも1エンコーダのGV-MVP/RX2の方が多少有利なようです。しかしながら、GV-MVP/RX2Wは2006年7月に生産完了になってしまいました。</li> 
    6463  <li>Home Electronics社製USB 赤外線トランスミッタ <a href="http://www.home-electro.com/tira2.php">Tira-2.1</a>(オプション):外部チューナコントロール機能を使う場合必要です。<br /> 
    6564   </li> 
     
    143142  Device::SerialPort(Tira2を使う場合のオプション)</p> 
    144143<h3>・XMLTVインストール</h3> 
    145 <p>EPG番組表取得に必要なXMLTV日本語版を<a href="http://linux.paken.org/index.php?XMLTVニ?ワツミア?ネヌ">ぱ研</a>よりインストールします。</p> 
     144<p>EPG番組表取得に必要なXMLTV日本語版をインストールします。<a href="http://linux.paken.org/index.php?XMLTV%C6%FC%CB%DC%C2%D0%B1%FE%C8%C7">ぱ研</a>が制作したものがすでに本家にマージされているようです。</p> 
    146145<h3>・ffmpegインストール</h3> 
    147146<p>iPod H.264/AVCを作れる拡張をされたffmpegをインストールします。<br /> 
     
    320319<p>&nbsp;</p> 
    321320<h3>予約一覧:</h3> 
    322 <p> 大きく上下のふたつのエリアに分かれていて、予約されている番組の放映予定と番組名を一覧表示します。ここでも[TID]をクリックすると番組予約画面へ、[タイトル]をクリックすると「しょぼいカレンダー」の該当番組詳細画面へそれぞれ移動します。録画予約の解除は下半分のタイトルリストの項目から行います。「画質」項目は録画ビットレートをMbps単位で表示しています。<br /> 
     321<p> 大きく上下のふたつのエリアに分かれていて、予約されている番組の放映予定と番組名を一覧表示します。ここでも[TID]をクリックすると番組予約画面へ、[タイトル]をクリックすると「しょぼいカレンダー」の該当番組詳細画面へそれぞれ移動します。録画予約の解除は下半分のタイトルリストの項目から行います。EPG予約の解除もここから行います。「画質」項目は録画ビットレートをMbps単位で表示しています。<br /> 
    323322  デモ画面:<a href="http://www.dcc-jpl.com/soft/foltia/demo/listreserve.php">http://www.dcc-jpl.com/soft/foltia/demo/listreserve.php</a><br /> 
    324323  <img src="img/screen09.png" width="800" height="600" /><br /> 
     324  |中略<br /> 
     325  <img src="img/screen18.png" width="800" height="600" /><br /> 
    325326</p> 
    326327<h3>番組一覧:</h3> 
     
    336337</p> 
    337338<h3>録画一覧(録画順):</h3> 
    338 <p>   録画済みのMPEG2ファイルを放映順に一覧表示します。削除チェックボックスにチェックを入れて削除ボタンを押すとそのファイルは削除されます。上の方にディスク空き容量とトラコンプロセスを表示している部分がありますがこの部分は相当いい加減な書きかたなため環境にあわせて適当に修正して下さい。<br /> 
     339<p>   録画済みのMPEG2ファイルを放映順に一覧表示します。削除チェックボックスにチェックを入れて削除ボタンを押すとそのファイルは削除されます。上部にディスク空き容量とトラコンプロセスを表示します。。<br /> 
    339340  デモ画面:<a href="http://www.dcc-jpl.com/soft/foltia/demo/showplaylist.php">http://www.dcc-jpl.com/soft/foltia/demo/showplaylist.php</a><br /> 
    340341    <img src="img/screen11.png" width="800" height="600" /><br /> 
  • /trunk/install/perl/tvrecording.pl

    r8 r29  
    4242#tvConfig.pl ------------------------------- 
    4343$extendrecendsec = 10;                                                  #recording end second.  
    44 $startupsleeptime = 52;                                 #process wait(MAX60sec) 
     44#$startupsleeptime = 52;                                        #process wait(MAX60sec) 
     45$startupsleeptime = 37;                                 #process wait(MAX60sec) 
    4546#$startupsleeptime = 1;                                 #process wait(MAX60sec) 
    4647 
     
    259260 
    260261# $recch でウェイト調整入れましょう 
    261 my $intval = $recch % 50; # 0〜49 
    262 my $startupsleep = $startupsleeptime - $intval; #  3〜52 (VHF 40-51) 
    263 $reclengthsec = $reclengthsec + $intval + 1; # 
    264  
    265 &writelog("tvrecording:  DEBUG SLEEP $startupsleeptime:$intval:$startupsleep"); 
     262#52 
     263#my $intval = $recch % 50; # 0〜49 
     264#my $startupsleep = $startupsleeptime - $intval; #  3〜52 (VHF 40-51) 
     265#37 
     266my $intval = $recch % 35; # 0〜34 
     267my $startupsleep = $startupsleeptime - $intval; #  3-37 (VHF 25-36,tvk 30) 
     268$reclengthsec = $reclengthsec + (60 - $startupsleep) + 1; # 
     269 
     270&writelog("tvrecording:  DEBUG SLEEP $startupsleeptime:$intval:$startupsleep:$reclengthsec"); 
    266271 
    267272sleep ( $startupsleep); 
  • /trunk/install/perl/getxml2db.pl

    r18 r21  
    4040if ($ARGV[0]  eq "long"){ 
    4141        $uri="http://cal.syoboi.jp/cal_chk.php"; 
     42        #$uri="http://syobocal.orz.hm/cal_chk.php"; 
    4243        &writelog("getxml2db  use long mode."); 
    4344}else{ 
    4445        $uri="http://cal.syoboi.jp/cal_chk.xml"; 
     46        #$uri="http://syobocal.orz.hm/cal_chk.xml"; 
    4547} 
    4648 
  • /trunk/install/perl/xmltv2foltia.pl

    r1 r27  
    66#xmltv2foltia.pl  
    77#XMLTV日本語版の出力するXMLを受け取り、EPGデータベースに挿入します。 
     8# 
     9#↓本家に取り込まれたっぽい(未確認) 
     10# 
    811#XMLTVは 
    912# http://www.systemcreate-inc.com/gsxr/pc/mythtv.html#patches 
    1013#のパッチをあてたものを想定しています。オリジナルと比較して、サブタイトルや内容など 
    11 #より秀才な内容を取得できます。 
     14#より詳細な内容を取得できます。 
    1215# 
    1316# usage;perl  /usr/bin/tv_grab_jp | ./xmltv2foltia.pl  
  • /trunk/install/perl/cron_foltia_dayly.sh

    r1 r26  
    1212# XMLTVをつかってEPG番組表インポート 
    1313# 
    14 # /usr/bin/perl  /usr/bin/tv_grab_jp --config-file   | /home/foltia/perl/xmltv2foltia.pl 
    15 /usr/bin/perl  /usr/bin/tv_grab_jp --config-file ~/.xmltv/tv_grab_jp.conf.jcom  | /home/foltia/perl/xmltv2foltia.pl 
    16 /usr/bin/perl  /usr/bin/tv_grab_jp --config-file ~/.xmltv/tv_grab_jp.conf.tvk  | /home/foltia/perl/xmltv2foltia.pl 
     14/usr/bin/perl  /usr/bin/tv_grab_jp --config-file   | /home/foltia/perl/xmltv2foltia.pl 
     15# 2つの局設定使うような場合 
     16#/usr/bin/perl  /usr/bin/tv_grab_jp --config-file ~/.xmltv/tv_grab_jp.conf.jcom  | /home/foltia/perl/xmltv2foltia.pl 
     17#/usr/bin/perl  /usr/bin/tv_grab_jp --config-file ~/.xmltv/tv_grab_jp.conf.tvk  | /home/foltia/perl/xmltv2foltia.pl 
    1718 
    1819#録画ファイルとテーブルの整合性を更新 
  • /trunk/install/php/folcast.php

    r8 r24  
    2020 
    2121header('Content-Type: application/rss+xml'); 
    22  
     22header('Content-Disposition: attachment; filename="folcast.xml"'); 
    2323 
    2424  include("./foltialib.php"); 
  • /trunk/install/php/foltialib.php

    r1 r21  
    414414        $freearea = preg_split ("/[\s,]+/", $hdfreearea[0]); 
    415415 
    416       exec ( "ps ax | grep ffmpeg", $encoding); 
    417       exec ( "ps ax | grep faac", $processlock); 
     416//    exec ( "ps ax | grep ffmpeg", $encoding); 
     417//    exec ( "ps ax | grep faac", $processlock); 
    418418 
    419419print " 
     
    423423"; 
    424424 
    425 //      print "$freearea[1]<br>$freearea[2]<br>$freearea[3]<br>$freearea[4]<br>$hdfreearea[0]<br>$encoding[0]<br>$processlock[0]</p>\n"; 
    426         print "$encoding[0]<br>$processlock[0]</p>\n"; 
    427  
    428 /* 
    429 <div style="width:100%;border:1px solid black;text-align:left;"><span style="float:right;">170GB</span> 
    430 <div style="width:86%;border:1px solid black;background:white;">1.1TB/1.3TB(87%)</div> 
    431 </div> 
    432 */ 
     425//exec('ps ax | grep ffmpeg |grep MP4 ' ,$ffmpegprocesses); 
     426$ffmpegprocesses = `ps ax | grep ffmpeg | grep -v grep |  wc -l `; 
     427 
     428$uptime = exec('uptime'); 
     429 
     430print "<div style=\"text-align:left;\">"; 
     431print "$uptime<br>\n"; 
     432print "トラコン稼働数:$ffmpegprocesses<br>\n"; 
     433print "</div>"; 
    433434 
    434435}//end sub 
  • /trunk/install/php/selectcaptureimage.php

    r1 r25  
    1212 
    1313mplayer -ss 00:00:10 -vo jpeg:outdir=/home/foltia/php/tv/691.localized/img/6/ -vf crop=702:468:6:6,scale=160:120,pp=lb  -ao null -sstep 14  -v 3 /home/foltia/php/tv/691-6-20060216-0130.m2p 
    14  
    15 旧仕様 
    16 mplayer -ss 00:0:10 -vo jpeg:outdir=./ -ao null -sstep 14  -v 3 ../665-13-20051230-0145.m2p  
    17 convert -verbose  -crop 160x120+1+3 -resize 165x126\!  ../*.jpg  
    1814 
    1915 DCC-JPL Japan/foltia project 
     
    8076print htmlspecialchars($rowdata[2]) . "</a> " ; 
    8177print htmlspecialchars($rowdata[3]) . " "; 
     78$tid = $rowdata[0]; 
     79if ($tid > 0){ 
     80print "<a href = \"http://cal.syoboi.jp/tid/$tid/time#$pid\" target=\"_blank\">"; 
     81print htmlspecialchars($rowdata[4]) . "</a> "; 
     82}else{ 
    8283print htmlspecialchars($rowdata[4]) . " "; 
     84} 
    8385print htmlspecialchars($rowdata[1]) . " "; 
    8486print htmlspecialchars($rowdata[6]) . "分 "; 
     
    8688 
    8789$mp4filename = $rowdata[9]; 
    88 $tid = $rowdata[0]; 
    8990$serverfqdn = getserverfqdn(); 
    9091 
  • /trunk/install/php/showlibc.php

    r1 r23  
    3434<?php 
    3535print "<link rel=\"alternate\" type=\"application/rss+xml\" title=\"RSS\" href=\"./folcast.php?tid=$tid\" /> 
    36 <title>foltia:Lib $tid</title> 
    37 </head> 
    3836"; 
    3937                if ($tid == "") { 
    40         print "<body BGCOLOR=\"#ffffff\" TEXT=\"#494949\" LINK=\"#0047ff\" VLINK=\"#000000\" ALINK=\"#c6edff\" > \n"; 
     38        print "<title>foltia:Lib</title> 
     39</head><body BGCOLOR=\"#ffffff\" TEXT=\"#494949\" LINK=\"#0047ff\" VLINK=\"#000000\" ALINK=\"#c6edff\" > \n"; 
    4140                printhtmlpageheader(); 
    4241                die_exit("再生可能番組がありません<BR>"); 
    4342                } 
    44  
    4543$con = m_connect(); 
    4644$now = date("YmdHi");    
    4745 
    48 ?> 
    49 <body BGCOLOR="#ffffff" TEXT="#494949" LINK="#0047ff" VLINK="#000000" ALINK="#c6edff" > 
    50 <div align="center"> 
    51 <?php  
    52         printhtmlpageheader(); 
    53 ?> 
    54   <p align="left"><font color="#494949" size="6">録画ライブラリ番組個別表示</font></p> 
    55   <hr size="4"> 
    56 <p align="left">再生可能ムービーを表示します。<br> 
    57  
    58 <?php 
    5946$query = " 
    6047SELECT foltia_program.title   
     
    7057        $title = $title[0]; 
    7158        $title = strip_tags($title); 
     59        $title =  htmlspecialchars($title) ; 
    7260}else{ 
    7361$rowdata = pg_fetch_row($rs, 0); 
    7462$title = $rowdata[0]; 
    75 
     63$title =  htmlspecialchars($title) ; 
     64
     65//ヘッダ続き 
     66print "<title>foltia:Lib $tid:$title</title> 
     67</head> 
     68<body BGCOLOR=\"#ffffff\" TEXT=\"#494949\" LINK=\"#0047ff\" VLINK=\"#000000\" ALINK=\"#c6edff\" > 
     69<div align=\"center\"> 
     70"; 
     71        printhtmlpageheader(); 
     72print "  <p align=\"left\"><font color=\"#494949\" size=\"6\">録画ライブラリ番組個別表示</font></p> 
     73  <hr size=\"4\"> 
     74<p align=\"left\">再生可能ムービーを表示します。<br>"; 
     75 
     76 
     77if ($tid == 0){ 
     78print "$title 【<A HREF = \"./folcast.php?tid=$tid\">この番組のFolcast</A>】 <br>\n"; 
     79}else{ 
     80 
    7681print "<a href=\"http://cal.syoboi.jp/tid/" . 
    77                                      htmlspecialchars($tid)  . "\" target=\"_blank\">" . 
    78                                      htmlspecialchars($title) . "</a> 【<A HREF = \"./folcast.php?tid=$tid\">この番組のFolcast</A>】 <br>\n"; 
    79                                           
    80                                           
     82                                     htmlspecialchars($tid)  . "\" target=\"_blank\">$title</a> 【<A HREF = \"./folcast.php?tid=$tid\">この番組のFolcast</A>】 <br>\n"; 
     83
    8184//確認 
    8285if (file_exists ("$recfolderpath/$tid.localized")){ 
     
    146149$subtitle = htmlspecialchars($subtitle); 
    147150$onairdate = htmlspecialchars($onairdate); 
     151$pid = htmlspecialchars($rowdata[6]); 
    148152$fName = htmlspecialchars($rowdata[7]); 
    149153if (ereg(".MP4", $fName)){ 
     
    173177}//end if sb 
    174178 
    175 print " 
    176   <tr> 
    177     <td rowspan=\"4\" width=\"170\"><A HREF=\"$httpmediamappath/$tid.localized/mp4/$fName\" target=\"_blank\"><IMG SRC = \"$httpmediamappath/$tid.localized/mp4/$thumbnail\" WIDTH = \"160\" HEIGHT = \"120\"></A></td> 
     179print "  <tr> 
     180    <td rowspan=\"4\" width=\"170\"><a href = \"$httpmediamappath/$tid.localized/mp4/$fName\" target=\"_blank\"><img src = \"$httpmediamappath/$tid.localized/mp4/$thumbnail\" width = \"160\" height = \"120\"></A></td> 
    178181    <td>$count</td> 
    179182  </tr> 
    180183  <tr> 
    181     <td>$subtitle</td> 
    182   </tr> 
     184"; 
     185if ($tid == 0){ 
     186print "\n    <td>$subtitle</td>"; 
     187}else{ 
     188print "\n    <td><a href = \"http://cal.syoboi.jp/tid/$tid/time#$pid\" target=\"_blank\">$subtitle</a></td>"; 
     189}//if 
     190print "  </tr> 
    183191  <tr> 
    184192    <td>$onairdate</td> 
    185193  </tr> 
    186194  <tr> 
    187     <td><A HREF=\"$httpmediamappath/$tid.localized/mp4/$fName\" target=\"_blank\">$fName</A> / <script language=\"JavaScript\" type=\"text/javascript\">QT_WriteOBJECT_XHTML('http://g.hatena.ne.jp/images/podcasting.gif','16','16','','controller','FALSE','href','http://$serverfqdn/$httpmediamappath/$tid.localized/mp4/$fName','target','QuickTimePlayer','type','video/mp4');</script> $caplink</td> 
     195    <td><a href =\"$httpmediamappath/$tid.localized/mp4/$fName\" target=\"_blank\">$fName</A> / <script language=\"JavaScript\" type=\"text/javascript\">QT_WriteOBJECT_XHTML('http://g.hatena.ne.jp/images/podcasting.gif','16','16','','controller','FALSE','href','http://$serverfqdn/$httpmediamappath/$tid.localized/mp4/$fName','target','QuickTimePlayer','type','video/mp4');</script> $caplink</td> 
    188196  </tr> 
    189197"; 
    190  
    191198 
    192199}//for 
     
    194201print "録画ファイルがありません<br>\n"; 
    195202}//if 
    196  
    197 //旧仕様 
    198 /* 
    199 //ディレクトリからファイル一覧を取得 
    200         exec ("ls $recfolderpath/$tid.localized/mp4/*.MP4", $mp4files); 
    201  
    202 if (file_exists("./selectcaptureimage.php") ) { 
    203         $sbpluginexist = 1; 
    204 } 
    205  
    206 $serverfqdn = getserverfqdn(); 
    207  
    208 foreach($mp4files as $pathfName) { 
    209 $fName = ""; 
    210 $fNametmp = split("/",$pathfName); 
    211 $fName = array_pop($fNametmp); 
    212  if(($fName == ".") or ($fName == "..") ){ continue; } 
    213  
    214 if (ereg(".MP4", $fName)){ 
    215         $thumbnail = $fName; 
    216         $thumbnail = ereg_replace(".MP4", ".THM", $thumbnail); 
    217         //      $filesplit = split("-",$fName); 
    218 //print "<!-- FILENAME:$fName:$pathfName:$query -->\n"; 
    219 $query = ""; 
    220  
    221 $query = " 
    222 SELECT  
    223 foltia_program.tid, 
    224 foltia_program.title, 
    225 foltia_subtitle.countno, 
    226 foltia_subtitle.subtitle, 
    227 foltia_subtitle.startdatetime , 
    228 foltia_subtitle.m2pfilename , 
    229 foltia_subtitle.pid   
    230 FROM foltia_subtitle , foltia_program    
    231 WHERE foltia_subtitle.pspfilename = '$fName'  
    232 AND foltia_program.tid = foltia_subtitle.tid  
    233 AND foltia_program.tid = $tid  
    234 "; 
    235 //print "<!-- FILENAME:$fName:$pathfName:$query -->\n"; 
    236 $rs = ""; 
    237 $rs = m_query($con, $query, "DBクエリに失敗しました"); 
    238  
    239 if (pg_num_rows ($rs )  == 0){ 
    240  
    241         $count = "[話数]"; 
    242         $subtitle = "[サブタイトル]"; 
    243         $onairdate = "[放映日]"; 
    244         $caplink = ""; 
    245 }else{ 
    246  
    247 $rowdata = pg_fetch_row($rs, $row); 
    248 $title = $rowdata[1]; 
    249  
    250 if ($rowdata[2]== "" ){ 
    251         $count = "[話数]"; 
    252 }else{ 
    253         $count = $rowdata[2]; 
    254 } 
    255 if ($rowdata[3]== "" ){ 
    256         $subtitle = "[サブタイトル]"; 
    257 }else{ 
    258         $subtitle = $rowdata[3]; 
    259 } 
    260 $onairdate =  $rowdata[4]; 
    261  
    262 $tid = htmlspecialchars($rowdata[0]); 
    263 $title = htmlspecialchars($title); 
    264 $count = htmlspecialchars($count); 
    265 $subtitle = htmlspecialchars($subtitle); 
    266 $onairdate = htmlspecialchars($onairdate); 
    267  
    268 $day = substr($onairdate,0,4)."/".substr($onairdate,4,2)."/".substr($onairdate,6,2); 
    269 $time = substr($onairdate,8,2).":".substr($onairdate,10,2); 
    270 $onairdate = "$day $time"; 
    271  
    272 //Starlight Breaker向け拡張 
    273 //$debug_pg_num_rows = pg_num_rows ($rs ); 
    274 $caplink = ""; 
    275  
    276 if (($sbpluginexist == 1) && (pg_num_rows ($rs ) > 0)){ 
    277  $capimgpath = htmlspecialchars(preg_replace("/.m2p/", "", $rowdata[5])); 
    278         if (file_exists("$recfolderpath/$tid.localized/img/$capimgpath") ){ 
    279         $caplink = " / <a href = \"./selectcaptureimage.php?pid=$rowdata[6]\">キャプ</a>"; 
    280         }else{ 
    281         $caplink = " / キャプなし"; 
    282         } 
    283 }else{ 
    284 $caplink = ""; 
    285 }//end if sb 
    286  
    287 } //end if 検索件数が0のとき 
    288 //-- 
    289 print " 
    290   <tr> 
    291     <td rowspan=\"4\" width=\"170\"><A HREF=\"$httpmediamappath/$tid.localized/mp4/$fName\" target=\"_blank\"><IMG SRC = \"$httpmediamappath/$tid.localized/mp4/$thumbnail\" WIDTH = \"160\" HEIGHT = \"120\"></A></td> 
    292     <td>$count</td> 
    293   </tr> 
    294   <tr> 
    295     <td>$subtitle</td> 
    296   </tr> 
    297   <tr> 
    298     <td>$onairdate</td> 
    299   </tr> 
    300   <tr> 
    301     <td><A HREF=\"$httpmediamappath/$tid.localized/mp4/$fName\" target=\"_blank\">$fName</A> / <script language=\"JavaScript\" type=\"text/javascript\">QT_WriteOBJECT_XHTML('http://g.hatena.ne.jp/images/podcasting.gif','16','16','','controller','FALSE','href','http://$serverfqdn/$httpmediamappath/$tid.localized/mp4/$fName','target','QuickTimePlayer','type','video/mp4');</script> $caplink</td> 
    302   </tr> 
    303 "; 
    304  
    305         }//end if ereg m2p 
    306 }//end foreach 
    307  
    308 */ 
    309 //旧仕様ココまで 
    310203?> 
    311204        </tbody> 
track feed