Over many years, my library of DVDs has evolved as my taste in entertainment has developed. The early collection consisted of all the movies that were available on disc, but it has since reshaped to include just the movies we enjoy watching.
Along the way the methods for accessing this entertainment has also evolved. Originally viewing was from disc directly but after having a few DVDs become unreadable the idea of archiving to hard drive become fairly common practice. There was varying video and audio quality to these archival copies, and while this has improved over the years a handful of my DVD collection needs to get re-encoded.
To help identify video quality issues, the script pymediareport was put together. This is a simple set of filters using a forked version of ffprobe3 to descend folders of media looking for files meeting specific criteria.
The first problem is that some older copies were made without the surround sound information (Dolby Digital or DTS). This makes these movies less enjoyable on the home theater but fortunately the script can easily identify these videos:
pymediareport.py --find_stereo_only --find_single_audio_only --recursive /mnt/movies
Starting with the top level of /mnt/movies, this recursively searches for videos that have stereo sound with one audio track. These results therefore represent movies that only have a stereo soundtrack and would be a good candidate for re-archival.
The next problem is that some movies were copied in 4:3 aspect ratio. These may be movies filmed before widescreen was prevalent and in other cases these are movies that need to be replaced:
pymediareport.py --find_fullscreen --recursive /mnt/movies
There were certainly some surprises here, Bambi for example does not appear to be widescreen nor was it filmed that way. However, some other movies in my collection such as GoldenEye, Lean On Me and Men in Black 2 will need to be replaced.
Finally, some movies were archived using lower quality settings for video encoding. At the time the idea would have been to conserve disk storage; however, as the size of television screens has increased this optimization has become readily apparent. For my library, filtering on low bitrate encodings tends to identify these files:
pymediareport.py --find_low_bit_rate --recursive /mnt/movies
Needless to say, I was shocked to discover that my copy of Star Trek: The Motion Picture met this threshold. This mistake will be rectified shortly.
Feel free to use this script to audit the quality of content in your library. There may be other criteria that has not yet been incorporated, this is truly a needs based solution so these additional filters can certainly be included as required.