Hatena::ブログ(Diary)

あっち行ったり、こっち来たり。

2010-01-14

foltiaでメインストリームだけ残して不要なセグメントを削除する用に修正と、これまでの変更点をまとめて差分掲載する。

不要セグメントの削除

これすることによってtsのファイルサイズを8割カットして保存できるので、無難かなと。特にトラコン等への影響はなさそう。

※ちょっと問題が。tss.py実行中にipodtranscode.plが呼ばれる影響で正常に変換その他が出来ないような挙動を確認した。現在元に戻して運用する方向に変更。スリム化は録画時の問題なのでdigitaltvrecording.plで済ませようと思っていたのだが、ipodtranscodeを呼び出すタイミングと合わせて検証を進める必要がある。というわけで、この修正はちょっと利用しない方が無難かも。

Index: digitaltvrecording.pl
===================================================================
--- digitaltvrecording.pl       (リビジョン 92)
+++ digitaltvrecording.pl       (作業コピー)
@@ -445,9 +445,21 @@
        &writelog("digitaltvrecording ERROR $toolpath/perl/tool/TsSplitter.exe not found.");
        }
 }else{
-       &writelog("digitaltvrecording DEBUG not split TS.$bssplitflag");
+       if (-e "$toolpath/perl/tool/tss.py"){
+               system("$toolpath/perl/tool/tss.py $outputfile");
+                $splitfile = $outputfile;
+                $splitfile =~ s/\.m2t$/_tss.m2t/;
+                if (-e "$splitfile"){
+                       system("rm -rf $outputfile ; mv $splitfile $outputfile");
+                       &writelog("digitaltvrecording DEBUG rm -rf $outputfile ; mv $splitfile $outputfile: $?.");
+               }else{
+                       &writelog("digitaltvrecording ERROR File not found:$splitfile.");
+               }
+       }else{
+               &writelog("digitaltvrecording ERROR $toolpath/perl/tool/tss.py not found.");
+       }
+#      &writelog("digitaltvrecording DEBUG not split TS.$bssplitflag");
 }# endif #BS1/BS2
 
 }#end calldigitalrecorder
 
-

上記を含んだこれまでのすべての変更点

主にココでの作業差分等です。モノはperlsvn diffになってます。

Index: digitaltvrecording.pl
===================================================================
--- digitaltvrecording.pl       (リビジョン 92)
+++ digitaltvrecording.pl       (作業コピー)
@@ -445,9 +445,21 @@
        &writelog("digitaltvrecording ERROR $toolpath/perl/tool/TsSplitter.exe not found.");
        }
 }else{
-       &writelog("digitaltvrecording DEBUG not split TS.$bssplitflag");
+       if (-e "$toolpath/perl/tool/tss.py"){
+               system("$toolpath/perl/tool/tss.py $outputfile");
+                $splitfile = $outputfile;
+                $splitfile =~ s/\.m2t$/_tss.m2t/;
+                if (-e "$splitfile"){
+                       system("rm -rf $outputfile ; mv $splitfile $outputfile");
+                       &writelog("digitaltvrecording DEBUG rm -rf $outputfile ; mv $splitfile $outputfile: $?.");
+               }else{
+                       &writelog("digitaltvrecording ERROR File not found:$splitfile.");
+               }
+       }else{
+               &writelog("digitaltvrecording ERROR $toolpath/perl/tool/tss.py not found.");
+       }
+#      &writelog("digitaltvrecording DEBUG not split TS.$bssplitflag");
 }# endif #BS1/BS2
 
 }#end calldigitalrecorder
 
-
Index: captureimagemaker.pl
===================================================================
--- captureimagemaker.pl        (リビジョン 92)
+++ captureimagemaker.pl        (作業コピー)
@@ -119,9 +119,9 @@
 #10
 if ($filename =~ /m2t$/){
        &writelog("captureimagemaker DEBUG mplayer -ss 00:00:10 -vo jpeg:outdir=$capimgdirname/$captureimgdir/ -vf scale=192:108 -ao null -sstep 9 -v 3 $recfolderpath/$filename");
-       system ("mplayer -ss 00:00:10 -vo jpeg:outdir=$capimgdirname/$captureimgdir/ -vf scale=192:108 -ao null -sstep 9 -v 3 $recfolderpath/$filename");
+       system ("mplayer -nosound -ss 00:00:10 -vo jpeg:outdir=$capimgdirname/$captureimgdir/ -vf scale=192:108 -sstep 9 -v 3 $recfolderpath/$filename");
 }else{
        &writelog("captureimagemaker DEBUG mplayer -ss 00:00:10 -vo jpeg:outdir=$capimgdirname/$captureimgdir/ -vf crop=690:460:12:10,scale=160:120 -ao null -sstep 9 -v 3 $recfolderpath/$filename");
-       system ("mplayer -ss 00:00:10 -vo jpeg:outdir=$capimgdirname/$captureimgdir/ -vf crop=690:460:12:10,scale=160:120 -ao null -sstep 9 -v 3 $recfolderpath/$filename");
+       system ("mplayer -nosound -ss 00:00:10 -vo jpeg:outdir=$capimgdirname/$captureimgdir/ -vf crop=690:460:12:10,scale=160:120 -sstep 9 -v 3 $recfolderpath/$filename");
 }
 
Index: ipodtranscode.pl
===================================================================
--- ipodtranscode.pl    (リビジョン 92)
+++ ipodtranscode.pl    (作業コピー)
@@ -161,6 +161,10 @@
 
        # H.264
        $trcnmpegfile = $inputmpeg2 ;
+       # Split TV Program
+#      system ("wine $toolpath/perl/tool/TsSplitter.exe -EIT -ECM -EMM- -SD -1SEG -SEP2 -WAIT2 $inputmpeg2");
+       #$writelog("Split TV Program");
+       
        # 
        if ($aspect == 1){#〓
        $cropopt = " -croptop 150 -cropbottom 150 -cropleft 200 -cropright 200 ";
@@ -171,11 +175,11 @@
        }
        # 
        if (($trconqty eq "")||($trconqty == 1)){
-       $ffmpegencopt = " -s 360x202 -deinterlace -r 24.00 -vcodec libx264 -g 300 -b 330000 -level 13 -loop 1 -sc_threshold 60 -partp4x4 1 -rc_eq 'blurCplx^(1-qComp)' -refs 3 -maxrate 700000 -async 50 -f h264 $filenamebody.264";
+       $ffmpegencopt = " -s 360x202 -deinterlace -r 24.00 -vcodec libx264 -vpre default -g 300 -b 330000 -level 13  -sc_threshold 60 -rc_eq 'blurCplx^(1-qComp)' -refs 3 -maxrate 700000 -async 50 -f h264 $filenamebody.264";
        }elsif($trconqty == 2){
-       $ffmpegencopt = " -s 480x272 -deinterlace -r 29.97 -vcodec libx264 -g 300 -b 400000 -level 13 -loop 1 -sc_threshold 60 -partp4x4 1 -rc_eq 'blurCplx^(1-qComp)' -refs 3 -maxrate 700000 -async 50 -f h264 $filenamebody.264";
+       $ffmpegencopt = " -s 480x272 -deinterlace -r 29.97 -vcodec libx264 -vpre default -g 300 -b 400000 -level 13  -sc_threshold 60 -rc_eq 'blurCplx^(1-qComp)' -refs 3 -maxrate 700000 -async 50 -f h264 $filenamebody.264";
        }elsif($trconqty == 3){#640x352
-       $ffmpegencopt = " -s 640x352 -deinterlace -r 29.97 -vcodec libx264 -g 100 -b 600000 -level 13 -loop 1 -sc_threshold 60 -partp4x4 1 -rc_eq 'blurCplx^(1-qComp)' -refs 3 -maxrate 700000 -async 50 -f h264 $filenamebody.264";
+       $ffmpegencopt = " -s 640x352 -deinterlace -r 29.97 -vcodec libx264 -vpre default -g 100 -b 600000 -level 13  -sc_threshold 60 -rc_eq 'blurCplx^(1-qComp)' -refs 3 -maxrate 700000 -async 50 -f h264 $filenamebody.264";
        }
        &changefilestatus($pid,$FILESTATUSTRANSCODEFFMPEG);
        &writelog("ipodtranscode ffmpeg $filenamebody.264");
@@ -186,14 +190,14 @@
                &changefilestatus($pid,$FILESTATUSTRANSCODETSSPLITTING);
                unlink("${filenamebody}_tss.m2t");
                unlink("${filenamebody}_HD.m2t");
-               if (-e "$toolpath/perl/tool/tss.py"){
+               if (-e "/home/foltia/perl/tool/tss.py"){
                &writelog("ipodtranscode tss $inputmpeg2");
-               system("$toolpath/perl/tool/tss.py $inputmpeg2");
+               system("/home/foltia/perl/tool/tss.py $inputmpeg2");
                
                }else{
                # TsSplit
                &writelog("ipodtranscode TsSplitter $inputmpeg2");
-               system("wine $toolpath/perl/tool/TsSplitter.exe  -EIT -ECM  -EMM -SD -1SEG -WAIT2 $inputmpeg2");
+               system("wine /home/foltia/perl/tool/TsSplitter.exe  -EIT -ECM  -EMM -SD -1SEG -WAIT2 $inputmpeg2");
                }
                if(-e "${filenamebody}_tss.m2t"){
                $trcnmpegfile = "${filenamebody}_tss.m2t";
@@ -246,15 +250,14 @@
        # MP4
        unlink("${filenamebody}.base.mp4");
        &changefilestatus($pid,$FILESTATUSTRANSCODEMP4BOX);
-       &writelog("ipodtranscode MP4Box $filenamebody");
-               system ("cd $recfolderpath ; MP4Box -fps 29.97 -add $filenamebody.264 -new $filenamebody.base.mp4");
+       &writelog("ipodtranscode /usr/local/bin/MP4Box $filenamebody");
+       system ("/usr/local/bin/MP4Box -fps 29.97 -add $filenamebody.264 -new $filenamebody.base.mp4");
 #$exit_value = $? >> 8;
 #$signal_num = $? & 127;
 #$dumped_core = $? & 128; 
 #&writelog("ipodtranscode DEBUG MP4Box -fps 29.97 -add:$exit_value:$signal_num:$dumped_core");
-
        if (-e "$filenamebody.base.mp4"){
-       system ("cd $recfolderpath ; MP4Box -add $filenamebody.aac $filenamebody.base.mp4");
+       system ("/usr/local/bin/MP4Box -add $filenamebody.aac $filenamebody.base.mp4");
 #$exit_value = $? >> 8;
 #$signal_num = $? & 127;
 #$dumped_core = $? & 128; 
@@ -271,11 +274,11 @@
        &changefilestatus($pid,$FILESTATUSTRANSCODEATOM);
        &writelog("ipodtranscode ATOM $filenamebody");
        #system ("/usr/local/bin/ffmpeg -y -i $filenamebody.base.mp4 -vcodec copy -acodec copy -f ipod ${mp4outdir}MAQ${mp4filenamestring}.MP4");
-       system ("cd $recfolderpath ; MP4Box -ipod $filenamebody.base.mp4");
+       system ("/usr/local/bin/MP4Box -ipod $filenamebody.base.mp4");
 $exit_value = $? >> 8;
 $signal_num = $? & 127;
 $dumped_core = $? & 128;
-&writelog("ipodtranscode DEBUG MP4Box -ipod:$exit_value:$signal_num:$dumped_core");
+&writelog("ipodtranscode DEBUG /usr/local/bin/MP4Box -ipod:$exit_value:$signal_num:$dumped_core");
        system("mv $filenamebody.base.mp4 ${mp4outdir}MAQ${mp4filenamestring}.MP4");
        &writelog("ipodtranscode mv $filenamebody.base.mp4 ${mp4outdir}MAQ${mp4filenamestring}.MP4");
 # ipodtranscode mv /home/foltia/php/tv/1329-21-20080829-0017.base.mp4 /home/foltia/php/tv/1329.localized/mp4/MAQ-/home/foltia/php/tv/1329-21-20080829-0017.MP4
@@ -383,9 +386,9 @@
 my $thmfilename = "MAQ${mp4filenamestring}.THM";
 &writelog("ipodtranscode DEBUG thmfilename $thmfilename");
 
-system ("mplayer -ss 00:01:20 -vo jpeg:outdir=$pspdirname -ao null -sstep 1 -frames 3  -v 3 $outputfilename");
+system ("mplayer -nosound -ss 00:01:20 -vo jpeg:outdir=$pspdirname -frames 3 -v 3 $outputfilename");
 
-&writelog("ipodtranscode DEBUG mplayer -ss 00:01:20 -vo jpeg:outdir=$pspdirname -ao null -sstep 1 -frames 3  -v 3 $outputfilename");
+&writelog("ipodtranscode DEBUG mplayer -nosound -ss 00:01:20 -vo jpeg:outdir=$pspdirname -frames 3  -v 3 $outputfilename");
 
 if (-e "$pspdirname/$thmfilename"){
 $timestamp =`date "+%Y%m%d-%H%M%S"`;
Index: cron_foltia_dayly.sh
===================================================================
--- cron_foltia_dayly.sh        (リビジョン 92)
+++ cron_foltia_dayly.sh        (作業コピー)
@@ -11,7 +11,8 @@
 
 # XMLTVEPGɽ
 #
-/usr/bin/perl  /usr/bin/tv_grab_jp | /home/foltia/perl/xmltv2foltia.pl
+#/usr/bin/perl  /usr/bin/tv_grab_jp | /home/foltia/perl/xmltv2foltia.pl
+/usr/bin/perl /home/foltia/perl/tool/tv_grap.pl
 # 2
 #/usr/bin/perl  /usr/bin/tv_grab_jp --config-file ~/.xmltv/tv_grab_jp.conf.jcom  | /home/foltia/perl/xmltv2foltia.pl
 #/usr/bin/perl  /usr/bin/tv_grab_jp --config-file ~/.xmltv/tv_grab_jp.conf.tvk  | /home/foltia/perl/xmltv2foltia.pl

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/shiwork/20100114/1263476908