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

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

凡例:

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

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

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

    r29 r8  
    4242#tvConfig.pl ------------------------------- 
    4343$extendrecendsec = 10;                                                  #recording end second.  
    44 #$startupsleeptime = 52;                                        #process wait(MAX60sec) 
    45 $startupsleeptime = 37;                                 #process wait(MAX60sec) 
     44$startupsleeptime = 52;                                 #process wait(MAX60sec) 
    4645#$startupsleeptime = 1;                                 #process wait(MAX60sec) 
    4746 
     
    260259 
    261260# $recch でウェイト調整入れましょう 
    262 #52 
    263 #my $intval = $recch % 50; # 0〜49 
    264 #my $startupsleep = $startupsleeptime - $intval; #  3〜52 (VHF 40-51) 
    265 #37 
    266 my $intval = $recch % 35; # 0〜34 
    267 my $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"); 
     261my $intval = $recch % 50; # 0〜49 
     262my $startupsleep = $startupsleeptime - $intval; #  3〜52 (VHF 40-51) 
     263$reclengthsec = $reclengthsec + $intval + 1; # 
     264 
     265&writelog("tvrecording:  DEBUG SLEEP $startupsleeptime:$intval:$startupsleep"); 
    271266 
    272267sleep ( $startupsleep); 
  • /trunk/install/perl/getxml2db.pl

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

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

    r26 r1  
    1212# XMLTVをつかってEPG番組表インポート 
    1313# 
    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 
     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 
    1817 
    1918#録画ファイルとテーブルの整合性を更新 
  • /trunk/install/php/folcast.php

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

    r21 r1  
    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 //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  
    430 print "<div style=\"text-align:left;\">"; 
    431 print "$uptime<br>\n"; 
    432 print "トラコン稼働数:$ffmpegprocesses<br>\n"; 
    433 print "</div>"; 
     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*/ 
    434433 
    435434}//end sub 
  • /trunk/install/php/selectcaptureimage.php

    r25 r1  
    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旧仕様 
     16mplayer -ss 00:0:10 -vo jpeg:outdir=./ -ao null -sstep 14  -v 3 ../665-13-20051230-0145.m2p  
     17convert -verbose  -crop 160x120+1+3 -resize 165x126\!  ../*.jpg  
    1418 
    1519 DCC-JPL Japan/foltia project 
     
    7680print htmlspecialchars($rowdata[2]) . "</a> " ; 
    7781print htmlspecialchars($rowdata[3]) . " "; 
    78 $tid = $rowdata[0]; 
    79 if ($tid > 0){ 
    80 print "<a href = \"http://cal.syoboi.jp/tid/$tid/time#$pid\" target=\"_blank\">"; 
    81 print htmlspecialchars($rowdata[4]) . "</a> "; 
    82 }else{ 
    8382print htmlspecialchars($rowdata[4]) . " "; 
    84 } 
    8583print htmlspecialchars($rowdata[1]) . " "; 
    8684print htmlspecialchars($rowdata[6]) . "分 "; 
     
    8886 
    8987$mp4filename = $rowdata[9]; 
     88$tid = $rowdata[0]; 
    9089$serverfqdn = getserverfqdn(); 
    9190 
  • /trunk/install/php/showlibc.php

    r23 r1  
    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> 
    3638"; 
    3739                if ($tid == "") { 
    38         print "<title>foltia:Lib</title> 
    39 </head><body BGCOLOR=\"#ffffff\" TEXT=\"#494949\" LINK=\"#0047ff\" VLINK=\"#000000\" ALINK=\"#c6edff\" > \n"; 
     40        print "<body BGCOLOR=\"#ffffff\" TEXT=\"#494949\" LINK=\"#0047ff\" VLINK=\"#000000\" ALINK=\"#c6edff\" > \n"; 
    4041                printhtmlpageheader(); 
    4142                die_exit("再生可能番組がありません<BR>"); 
    4243                } 
     44 
    4345$con = m_connect(); 
    4446$now = date("YmdHi");    
    4547 
     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 
    4659$query = " 
    4760SELECT foltia_program.title   
     
    5770        $title = $title[0]; 
    5871        $title = strip_tags($title); 
    59         $title =  htmlspecialchars($title) ; 
    6072}else{ 
    6173$rowdata = pg_fetch_row($rs, 0); 
    6274$title = $rowdata[0]; 
    63 $title =  htmlspecialchars($title) ; 
    64 
    65 //ヘッダ続き 
    66 print "<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(); 
    72 print "  <p align=\"left\"><font color=\"#494949\" size=\"6\">録画ライブラリ番組個別表示</font></p> 
    73   <hr size=\"4\"> 
    74 <p align=\"left\">再生可能ムービーを表示します。<br>"; 
    75  
    76  
    77 if ($tid == 0){ 
    78 print "$title 【<A HREF = \"./folcast.php?tid=$tid\">この番組のFolcast</A>】 <br>\n"; 
    79 }else{ 
    80  
     75
    8176print "<a href=\"http://cal.syoboi.jp/tid/" . 
    82                                      htmlspecialchars($tid)  . "\" target=\"_blank\">$title</a> 【<A HREF = \"./folcast.php?tid=$tid\">この番組のFolcast</A>】 <br>\n"; 
    83 
     77                                     htmlspecialchars($tid)  . "\" target=\"_blank\">" . 
     78                                     htmlspecialchars($title) . "</a> 【<A HREF = \"./folcast.php?tid=$tid\">この番組のFolcast</A>】 <br>\n"; 
     79                                          
     80                                          
    8481//確認 
    8582if (file_exists ("$recfolderpath/$tid.localized")){ 
     
    149146$subtitle = htmlspecialchars($subtitle); 
    150147$onairdate = htmlspecialchars($onairdate); 
    151 $pid = htmlspecialchars($rowdata[6]); 
    152148$fName = htmlspecialchars($rowdata[7]); 
    153149if (ereg(".MP4", $fName)){ 
     
    177173}//end if sb 
    178174 
    179 print "  <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> 
     175print " 
     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> 
    181178    <td>$count</td> 
    182179  </tr> 
    183180  <tr> 
    184 "; 
    185 if ($tid == 0){ 
    186 print "\n    <td>$subtitle</td>"; 
    187 }else{ 
    188 print "\n    <td><a href = \"http://cal.syoboi.jp/tid/$tid/time#$pid\" target=\"_blank\">$subtitle</a></td>"; 
    189 }//if 
    190 print "  </tr> 
     181    <td>$subtitle</td> 
     182  </tr> 
    191183  <tr> 
    192184    <td>$onairdate</td> 
    193185  </tr> 
    194186  <tr> 
    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> 
    196   </tr> 
    197 "; 
     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> 
     188  </tr> 
     189"; 
     190 
    198191 
    199192}//for 
     
    201194print "録画ファイルがありません<br>\n"; 
    202195}//if 
     196 
     197//旧仕様 
     198/* 
     199//ディレクトリからファイル一覧を取得 
     200        exec ("ls $recfolderpath/$tid.localized/mp4/*.MP4", $mp4files); 
     201 
     202if (file_exists("./selectcaptureimage.php") ) { 
     203        $sbpluginexist = 1; 
     204} 
     205 
     206$serverfqdn = getserverfqdn(); 
     207 
     208foreach($mp4files as $pathfName) { 
     209$fName = ""; 
     210$fNametmp = split("/",$pathfName); 
     211$fName = array_pop($fNametmp); 
     212 if(($fName == ".") or ($fName == "..") ){ continue; } 
     213 
     214if (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 = " 
     222SELECT  
     223foltia_program.tid, 
     224foltia_program.title, 
     225foltia_subtitle.countno, 
     226foltia_subtitle.subtitle, 
     227foltia_subtitle.startdatetime , 
     228foltia_subtitle.m2pfilename , 
     229foltia_subtitle.pid   
     230FROM foltia_subtitle , foltia_program    
     231WHERE foltia_subtitle.pspfilename = '$fName'  
     232AND foltia_program.tid = foltia_subtitle.tid  
     233AND foltia_program.tid = $tid  
     234"; 
     235//print "<!-- FILENAME:$fName:$pathfName:$query -->\n"; 
     236$rs = ""; 
     237$rs = m_query($con, $query, "DBクエリに失敗しました"); 
     238 
     239if (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 
     250if ($rowdata[2]== "" ){ 
     251        $count = "[話数]"; 
     252}else{ 
     253        $count = $rowdata[2]; 
     254} 
     255if ($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 
     276if (($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//-- 
     289print " 
     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//旧仕様ココまで 
    203310?> 
    204311        </tbody> 
track feed