Log in

View Full Version : Quality check of dvb recordings?


toke
11th January 2014, 16:21
I've set many automatic tv program recordings both on local DVR and on online service, where I can download local copies of those recorded shows.
Since these automatic recordings have produced multiple copies of same program (many re-runs these days) and since hdtv is still in a bit developing state here in Finland (many small drops and some bigger blackouts), I'd like to have efficient method to check which recording of ebety show I will archive.

Any ideas which (cheap or free) software would be good for this?
Preferably on osX, but windows is okay too, linux would be bigger hassle.

Is MSU ( http://compression.ru/video/quality_...t_tool_en.html ) good for this? Any better choises?

laserfan
11th January 2014, 16:46
I haven't used the MSU thing, but in any case would expect your eyes to be both the best and the quickest means of determing which recording is best.

I can't put my finger on it right now, but for a brief time there was a tool I would use to see between two recordings which one was the "cleanest" from a transport stream error point-of-view, but since it required a full scan of both/every stream it took a long time to do such analyses.

If I can remember what tool that was (free iirc) I will surely post-back here.

toke
11th January 2014, 17:01
I haven't used the MSU thing, but in any case would expect your eyes to be both the best and the quickest means of determing which recording is best.
For starters, I'd need to check about 300 hours of programs. With HD content, vlc starts to have decoding problems with speeds greater than 2x and you can't hear the audio.
I wouldn't like to spend next months free time to watch multiple same kids' programs, which are recorded for my daughter. If I can't find a tool, I'll just keep the biggest file and trash the others.

Checking tool could just draw few graphs per program; perhaps bitrate and PSNR. This should be easy to do with 10x speed. And with batch capability this tool could check 240 hours of footage in one day...

laserfan
11th January 2014, 18:33
I wouldn't like to spend next months free time to watch multiple same kids' programs, which are recorded for my daughter.
Hmmm I wouldn't spend even 5 minutes doing it, or having my computer crank-away checking ts errors. It's not like she's going to miss a key plot point if a kids' program has a glitch or three?

LoRd_MuldeR
11th January 2014, 18:44
@toke:

Keep in mind that pretty much all commonly used video quality metrics (such as PSNR and SSIM) only calculate the "error" between a perfect-quality reference version of the clip and a modified (e.g. compressed) version. So, unless you have "perfect" (or at least very high) quality version of all those programs available, e.g. ripped from your original BluRay discs, what do you want to compare the different recorded programs to ???

Calculating the "error" between two compressed versions doesn't tell you anything! In order to compare two (or more) compressed versions, you need to calculate the "error" between each of those clips and the perfect-quality original. Then you can decide which compressed version has the smallest error (compared to the original!) and thus the "best" quality. Obviously, this won't be possible without the perfect-quality original clip.

Last but not least: It is a well known fact that the objective quality metrics that are available today are still far away from giving an accurate measure of the perceived quality. So you shouldn't rely too much on those ;)

Blue_MiSfit
11th January 2014, 21:10
^^

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.

toke
11th January 2014, 22:04
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"...

LoRd_MuldeR
11th January 2014, 22:31
But is there any free/cheap software than can check the TS and at least draw a bitrate graph?

http://www.winhoros.de/docs/bitrate-viewer/

toke
12th January 2014, 02:18
http://www.winhoros.de/docs/bitrate-viewer/
And then there's tsreader, both very old and I guess no batch mode or comparisons between files?
Nothing else or newer?
Guess all quality freaks are just buying bd's or download exact images from torrents...

raffriff42
12th January 2014, 02:23
http://www.winhoros.de/docs/bitrate-viewer/Wow, nice program. "I think this is the beginning of a beautiful friendship."

toke, to find audio pops visually, you could drag the video into Audacity (http://audacity.sourceforge.net/).

toke
12th January 2014, 02:43
Found 3rd:
http://www.digitalekabeltelevisie.nl/dvb_inspector/index.shtml

kalehrl
12th January 2014, 11:12
If your ts files contain mpeg2 video, you can use projectx to demux them and any dropouts in recordings will be spotted and reported in the log file.

toke
13th January 2014, 00:59
If your ts files contain mpeg2 video, you can use projectx to demux them and any dropouts in recordings will be spotted and reported in the log file.
I have both, SD which is mpeg2 and HD which is h264.

Btw,
I tested bitRateViewer by winebottling it. Works pretty fast, although there's no batch "viewing" or saving the results for comparison, but maybe I can do some Automator magic on it...
Only problem is that the app's window is so tiny. Can you stretch the window bigger when running it on genuine windows?

LoRd_MuldeR
13th January 2014, 01:25
Only problem is that the app's window is so tiny. Can you stretch the window bigger when running it on genuine windows?

Seems like this is an intentional restriction of the "free" edition.

In the context menu of the window caption, there is a "show double size mode" option. Not sure you can access that in Wine, but you can also try ALT+D. Anyway, it will add some nasty advertising text on top of the graph.

(Interestingly it seems that the version 3.0, which you are supposed to buy in order to get "double size view", has never been released)

foxyshadis
17th January 2014, 04:53
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.

Darksoul71
17th January 2014, 12:58
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 | grep "error string" | wc -l
The copy only those DVB streams to a separate directory for later viewing / control if they have over a certain amount of errors (e.g. 100).

toke
14th February 2014, 23:15
Run a loop over all available DVB recording.
Great,
topic is evolving!
So, should I glue all .ts files to one very big file?
Or how do I loop multiple files through ffmpeg with single command?

LoRd_MuldeR
14th February 2014, 23:45
Just use a simple Batch or ShellScript file to loop over the files and pass each one to ffmpeg:
for %%f in ("C:\Some Folder\*.ts") do (
ffmpeg.exe -i %%f [more parameters]
)

But be aware that ffmpeg will not tell you anything about the "visual quality" of the stream, it just might be able to detect stream errors. That's two different pairs of shoes ;)

(I can easily create a stream that is perfectly valid and error-free, but still looks like a mess!)

toke
15th February 2014, 22:10
But be aware that ffmpeg will not tell you anything about the "visual quality" of the stream, it just might be able to detect stream errors. That's two different pairs of shoes ;)
Halfway is better than no way at all. Stream errors valid as "bad picture quality", even when it's not so vice versa. Less to go through with other means...

Darksoul71
16th February 2014, 09:04
Heya toke,

Well, as LoRd_MuldeR already wrote:
Looping about each ts file should do it. No merging is required.

Stream errors valid as "bad picture quality", even when it's not so vice versa.
With all the DVB-S recordings I edited I found out that the above is not (always true). :D

If you have ffmpeg complaining about stream errors the resulting edited file might (!) have playback issues but i also edited a few videos with stream errors and did not see any visual corruption at all.

DVB-X stuff is often pretty sensitive (bad receiption due to weather, DVB-X receiver going nuts) but quite robust as well.

HTH,
D$