#!/usr/bin/perl # コマンドラインから各パラメータを受け取る while ($ARGV[$n]){ if ($ARGV[$n] eq "-m"){ $monoral="-m"; print "Set audio to monoral.\n"; } if ($ARGV[$n] eq "-h"){ $highfreq="-h"; print "Set high freqency.\n"; } if ($ARGV[$n] eq "-yv"){ $vcd_video="|yuvscaler -O VCD "; print "yuvscaler will be used for VCD.\n"; } if ($ARGV[$n] eq "-v"){ $vcd_audio="-V"; $vcd_other="-f 1"; print "Set Video CD audio mode.\n"; } if ($ARGV[$n] eq "-v2"){ $vcd_audio="-V"; $vcd_other="-f 2"; print "Set Video CD audio mode that allows user bit rate.\n"; } if ($ARGV[$n] eq "-d"){ $delete="true"; print "Delete temporary files.\n"; } #print $ARGV[$n]; #print "\n"; $n++; } use Getopt::Long; my $ret = GetOptions ("i|INPUT_FILE_NAME:s","vb|VIDEO_BIT_RATE:s","ab|AUDIO_BIT_RATE:s","r|RADIUS:s","o|OUTPUT_FILE_NAME:s","m|MONORAL:s","4|FOUR:s","2|TWO:s","h|HIGHFREQ:s","a|ASPECTRATIO:s", "v|VCD:s", "v2|VCDUSR:s", "f|FRAMERATE:s", "n|NORM:s", "s|START:s","e|END:s","d|DELETE:s","yv|YUVFORVCD:s"); $time=time; $input_file=$opt_i; $video_rate=$opt_vb; $audio_rate=$opt_ab; $radius=$opt_r; $four=$opt_4; $two=$opt_2; $aspect_ratio=$opt_a; $frame_rate=$opt_f; $norm=$opt_n; $start=$opt_s; $end=$opt_e; $count=$end-$start+1; if ($four ne ""){ $four="-4 $four"; } if ($two ne ""){ $two="-2 $two"; } if ($aspect_ratio ne ""){ $aspect_ratio="-a $aspect_ratio"; } if ($frame_rate ne ""){ $frame_rate="-f $frame_rate"; } if ($norm ne ""){ $norm="-n $norm"; if ($vcd_video ne ""){ $vcd_video=$vcd_video.$norm; } } if ($start ne ""){ $start_a="-s $start"; $start_v="-o $start"; } if ($count ne ""){ $count_a="-c $count"; $count_v="-f $count"; } if ($radius == 0){ $radius=16; } $_=$input_file; s/.avi//; $mjpeg_file=$_."_mjpeg$time.avi"; $audio_temp=$_."$time.mp2"; $video_temp=$_."$time.m1v"; if ($opt_o eq ""){ $output_file=$_.".mpg"; } else { $output_file=$opt_o; } if ($opt_i eq ""){ print "Please specify source file name with option -i.\n"; } if ($video_rate <= 0){ print "Please specify video bit rate with -vb (more than 0)\n"; print "Using the default value 1152bps.\n"; $video_rate=1152; } if ($audio_rate <= 0){ print "Please specify audio bit rate with -ab (more than 0)\n"; print "Using the default value 224bps.\n"; $audio_rate=224; } $dv_conv="dv2jpg $input_file $mjpeg_file"; $audio_conv="lav2wav $start_a $count_a $mjpeg_file|mp2enc -b $audio_rate $vcd_audio -o $audio_temp $monoral"; $mjpeg_conv="lav2yuv $start_v $count_v $mjpeg_file $vcd_video|mpeg2enc -b $video_rate -r $radius -o $video_temp $four $two $highfreq $aspect_ratio $frame_rate $norm"; $joining="mplex $vcd_other $audio_temp $video_temp -o $output_file"; print $dv_conv."\n"; print $audio_conv."\n"; print $mjpeg_conv."\n"; print $joining."\n"; system $dv_conv; system $audio_conv; system $mjpeg_conv; system $joining; if ($delete eq "true"){ unlink $audio_temp; unlink $video_temp; unlink $mjpeg_file; }