Added code to better detect video codecs
[videoscripts/.git] / make_mkv
index c7690041400776d700aa323143d5d695280d9337..bf983252ee2d5c6c442265f67807c872f5b0202d 100755 (executable)
--- a/make_mkv
+++ b/make_mkv
@@ -218,6 +218,12 @@ foreach my $video (sort{$videos{$a} <=> $videos{$b}} keys %videos) {
     if($video_stream_info =~ / (\d+x\d+)[,| ]/) { $dimensions = "$1"; }
     else { print "-W- ffprobe was unable to find dimensions for video: $video\n"; }
 
+    # Video Codec
+    my $video_stream_info = `$ffprobe "$video" 2>&1 | grep -e "Stream.*Video"`; chomp($video_stream_info);
+    my $video_codec = "unknown";
+    if($video_stream_info =~ / Video: (\S+) /) { $video_codec = "$1"; }
+    else { print "-W- ffprobe was unable to find video codec for video: $video\n"; }
+
     # Color space
     my $color_space = "unknown";
     if($video_stream_info =~ /, (\S+)\(.*?\)/) { $color_space = "$1"; }
@@ -235,7 +241,7 @@ foreach my $video (sort{$videos{$a} <=> $videos{$b}} keys %videos) {
     else { print "-W- ffprobe was unable to find audio codec for video: $video\n"; }
 
     # Now create our parameters string
-    my $parameters = "$dimensions.$color_space.$audio_handler.$audio_codec";
+    my $parameters = "$dimensions.$video_codec.$color_space.$audio_handler.$audio_codec";
     
     print "   Adding video $video to be merged into output video file: $opt_o.$parameters.mkv\n" if($opt_v);
     push @{$merge_videos{"$parameters"}}, $video;