Added code to better detect video codecs
[videoscripts/.git] / merge_videos_by_day
index 0737ee128484420b439dd46474701685923ce639..146ac84bad6b8c38187ad78fc1a0ca96cdabc24f 100755 (executable)
@@ -92,10 +92,10 @@ foreach $file (sort `$find_cmd`) {
     if((! -f "$srcfile") && (! -f "$srcdir/$srcfile")) { next; }
 
     # Throw out encoded files left over from a previous run
-    print "srcfile: $srcfile\n";
+    #print "srcfile: $srcfile\n" if($opt_v);
     if($srcfile =~ /.hb.mp4/) { next; }
 
-    print "Found movie: srcdir: $srcdir srcfile: $srcfile srcext: $srcext dstext: $ext\n" if($opt_v);
+    print "Found video: srcdir: $srcdir srcfile: $srcfile srcext: $srcext dstext: $ext\n" if($opt_v);
             
     # Make a note of the month, year, and day this video was taken (from the modification time of the file)
     $date_taken = ctime(stat("$srcdir/$srcfile")->mtime);
@@ -156,7 +156,7 @@ foreach $dstfile (sort keys %videos) {
 
     my $videos = join(',', @{$videos{$dstfile}});
     
-    if($dstfile =~ /(\d+)-(\d+)-(\d+)/) {
+    if($dstfile =~ /(\d+)-(\d+)-(\d+)$/) {
        $year = $1;
        $month = $2;
        $day = sprintf("%02d",$3);
@@ -176,8 +176,8 @@ foreach $dstfile (sort keys %videos) {
        print "$cmd\n";
        if(!defined $opt_k) { 
            foreach $video (@{$videos{$dstfile}}) {
-               if($opt_v) { print "   $ffmpeg -i \"$video\" 2>&1 | grep \"compatible_brands\" | tail -n 1\n"; }
-               my $brands=`$ffmpeg -i "$video" 2>&1 | grep "compatible_brands" | tail -n 1`; chomp($brands);
+               if($opt_v) { print "   $ffmpeg -i $video 2>&1 | grep \"compatible_brands\" | tail -n 1\n"; }
+               my $brands=`$ffmpeg -i $video 2>&1 | grep "compatible_brands" | tail -n 1`; chomp($brands);
                if(($save_originals) && ($video =~ /\.$originals_file_ext/) && (!$brands || $brands !~ /$originals_no_copy_brands/)) {
                    print "-> Saving the original video $video\n";
                    if(index($video, basename(dirname($video))) == -1) { 
@@ -193,7 +193,7 @@ foreach $dstfile (sort keys %videos) {
        }
     } else {
        # Create the merged video
-       print "$cmd" if($opt_v);
+       print "$cmd\n" if($opt_v);
        my $errno = system("$cmd");
        $errno = $errno >> 8;
        if($errno) { die "-E- make_mkv encountered some errors with exit code $errno\n"; }
@@ -202,13 +202,13 @@ foreach $dstfile (sort keys %videos) {
        # Fix the permissions
        system("chown $owner \"$dstfile\"*");
        system("chgrp $group \"$dstfile\"*");
-       system("chmod $mode \"$dstfile\"*");
+       system("find \"$dstfile\"* -type f -exec chmod $mode -- {} +");
 
        # Remove the individual video files
        if(!defined $opt_k) { 
            foreach $srcvideo (@{$videos{$dstfile}}) {
-               if($opt_v) { print "   $ffmpeg -i \"$srcvideo\" 2>&1 | grep \"compatible_brands\" | tail -n 1\n"; }
-               my $brands=`$ffmpeg -i "$srcvideo" 2>&1 | grep "compatible_brands" | tail -n 1`; chomp($brands);
+               if($opt_v) { print "   $ffmpeg -i $srcvideo 2>&1 | grep \"compatible_brands\" | tail -n 1\n"; }
+               my $brands=`$ffmpeg -i $srcvideo 2>&1 | grep "compatible_brands" | tail -n 1`; chomp($brands);
                if(($save_originals) && ($srcvideo =~ /\.$originals_file_ext/) && (!$brands || $brands !~ /$originals_no_copy_brands/)) {               
                    print "-> Saving the original video $srcvideo to $origpathname\n";
                    if(index($srcvideo, basename(dirname($srcvideo))) == -1) {