なので、Oneseg_Extract.exeとTSConverter.exeさえ移植すれば何とかなるわけだが、MP4Boxはportsからインストールできるし、DtsEditの最新版のソースをseraphy@管理人様に公開していただいたので、いい加減ながら移植した。
今回はとりあえずOneseg_Extractほぼ互換perlスクリプトだけ。
segwrapper.pmを使用したので簡単。最初の方の時刻関係は無くてもいいかも。
-- Oneseg_Extract.pl --
#!/usr/bin/perl残りはまた今度。
#
use Time::Local;
#
# path to "segwrapper.pm"
use lib '/usr/local/perlrtmp/lib';
use segwrapper;
#
my $outputfile=$ARGV[$#ARGV];
if($outputfile=~/(\d{6}-\d{6}-\d{6}-\d\d)\.ts$/){
my $inputfile=$1;
$outputfile=~/(\d{2})(\d{2})(\d{2})-\d{6}-(\d{2})(\d{2})(\d{2})-\d\d\.ts$/;
if(time>timelocal($6,$5,$4,$3,$2-1,$1+2000)){
my $opt = O_RDONLY | O_BINARY;
eval { $opt |= O_LARGEFILE; };
open(OUT,"> $outputfile") or die("can not open $outputfile for write");
binmode(OUT);
segwrapper::segopen(my $handle, $inputfile, $opt);
my $packet_size = 4096;
while(segwrapper::segread($handle, my $buf, $packet_size)) { print OUT $buf; }
segwrapper::segclose($handle);
exit;
}
}
print "no record\n";
exit(-1);
No comments:
Post a Comment