^^ Analyzing video quality without a reference is mostly silly. There are tools that can watch a baseband video signal (HD-SDI) in real-time and log macroblocking, black frames / freezes, interlaced field reversal etc. Some also do compliance reporting of video levels, RGB gamut, audio levels / loudness etc. There are also software tools that do the same thing with file based media. Some can even correct certain issues in real-time! However, this is all very expensive ($$,$$$ to get started) and comes with a huge number of false positives. The software is also quite slow. It has its uses, but certainly not in the home :) In case you're interested, Vendors include Interra Systems, Venera Technologies, Tektronix, DigiMetrics, Sencore, and VidCheck to name a few. This type of kit is usually referred to as "software qc" in the broadcast world.
Okay, psnr is then out. But is there any free/cheap software than can check the TS and at least draw a bitrate graph? Most important thing to me is to spot those recordings that have seconds or even minutes of black (ie. no sound or picture). Btw, if there's half a second pop in audio, would this be nocieable in the graph? And please, the answer is not "don't do it"...
Like tsmuxer, ffmpeg will also report any stream errors it finds while demuxing and decoding. That can give you a pretty good idea of which stream is most correct. You just run: ffmpeg -i myvideo.ts -f null 2> logfile.txt And it'll crunch on it. You can take off the 2> and log off you want to read it on screen in realtime. mplayer has a similar functionality. It'll go as fast as your cpu can decode it.
I found ffmpeg quite useless for verifying DVB streams since it often reports stream errors which are not noticable when you edit the stream afterwards. Example: ffmpeg complains about stream errors, tsmuxer dies merging several M2TS segment but if I merge the segments via binary copy and edit them with AVIDemux the resulting video plays fine. dvbsnoop is able to analyse dvb streams but I am not aware of any error checking. Edit: Possibly stupid idea: Run a loop over all available DVB recording. Do ffmpeg -i myvideo.ts -f null 2> logfile.txt followed by a cat logfile.txt