-# Only merge the videos if there is more than 1 video to merge on a given day for a given ext
-# If there is only 1 video for a given day for a given ext, re-quantize it here if that option was given
-foreach $ext (sort keys %videos) {
- foreach $video (sort keys %{$videos{$ext}}) {
-
- # Get a count of the number of videos for this date
- my $num_videos = $#{$videos{$ext}{$video}} + 1;
-
- # Process any single videos now
- if($num_videos <= 1) {
-
- # Store the srcvideo name
- my $srcvideo = $videos{$ext}{$video}[0];
- my $pwd = `pwd`; chomp($pwd);
-
- # Make a note if this video is interlaced or not
- my $ffmpeg_cmd = "";
- if($use_compute_host) { $ffmpeg_cmd .= "ssh $compute_host 'cd \"$pwd\";"; }
- $ffmpeg_cmd .= "$ffmpeg -i $srcvideo 2>&1 | grep -q \"frame rate differs\"";
- if($use_compute_host) { $ffmpeg_cmd .= "'"; }
- my $progressive = system('$ffmpeg_cmd');
- if(!$progressive) { print " Detected interlaced video content: $srcvideo\n"; }
-
- # Re-quantize the input video to reduce the resulting output filesize
- # This also gives us a chance to deinterlace the video as well
- # Only do this for .MTS videos
- if((defined $opt_q) && ($ext =~ /mts/i)) {
-
- # Set our requantize factor accordingly
- my $requantize_option = "";
- if(!$progressive) { $requantize_option = "-q $interlaced_requantize_quality"; }
- else { $requantize_option = "-q $progressive_requantize_quality"; }
-
- # Set our de-interlace option accordingly
- my $deinterlace_option = "";
- if(!$progressive) { $deinterlace_option = "-d"; }
-
- # Use HandBrake to requantize/deinterlace the input video
- print " Re-quantizing input video content: $video\n";
- my $handbrake_cmd = "";
- if($use_compute_host) { $handbrake_cmd .= "ssh $compute_host 'cd \"$pwd\";"; }
- $handbrake_cmd .= "$handbrake $deinterlace_option $requantize_option $handbrake_options -i $srcvideo -o \"$video\" > /dev/null 2>&1";
- if($use_compute_host) { $handbrake_cmd .= "'"; }
- if(! defined $opt_t) {
- my $errno = system("$handbrake_cmd");
- $errno = $errno >> 8;
- if($errno > 1) {
- unlink "$video";
- die "-E- handbrake encountered some errors with exit code $errno\n";
- } else {
- # Remove the original srcvideo since we created a new version of it that we are going to keep instead
- if(!defined $opt_k) {
- system("rm -f $srcvideo\n");
- }
- }
- }
- }
-
- # Remove the video from the array since we already processed it above
- delete $videos{$ext}{$video};
- next;
- }
- }
-}
-