3

I have to encode (transcode) many video files (usually from AVI to MP4). But to see if the encoded files are correct or not I will play all the files manually, which is rather tedious.

Is there any tool to check if an encoded file is perfect or not?

2
  • Your question is unclear. Do you want to assess the quality of the output, which is what the current answers address? Or see if all frames were encoded and without any errors during processing?
    – Gyan
    Apr 18, 2017 at 4:53
  • @Mulvya Thanks for your comment. In fact, both answers are very helpful, I am battling with myself to decide which one is better (please give me some time). You mentioned that if some frames are not encoded, I consider the file to be incorrect if some frames are not encoded. I wonder if those tools are able to detect that?
    – shintaroid
    Apr 18, 2017 at 9:49

3 Answers 3

1

You can use a free tool like the Moscow State University Video Quality Measurement Tool or something like Tektronix Aurora or Interra Baton in a professional setting.

However, you should always visually check at least the heads and tails of the video, in addition to any areas flagged by an automated QC tool. Spot checking the middle of the file is also a good idea. A specialty player like QCTools is helpful.

One thing to note: I've generally found that the amount of time needed to set up a good automated QC workflow is only worthwhile if you have a lot of material to QC (tens of hours or more) or you will use the workflow repeatedly for a long time. The amount of work needed to automate the QC outweighs the time spent checking short term, small workloads.

2

There are several methods/algorithms to compare a transcoded file against its original.

This is a good article which I believe covers what you're asking. It touches on algorithms such as Peak Signal-to-Noise (PSNR) ratio and Structural Similarity Index (SSIM) used to perform objective analysis -- without having to watch the actual video.

http://www.streamingmedia.com/Articles/ReadArticle.aspx?ArticleID=110206&utm_source=RSS&utm_medium=RSS&utm_campaign=Article_Reads

Without question, the gold standard for assessing video quality is a controlled subjective test, which, as previously mentioned, can be time-consuming and expensive to run. Objective quality benchmarks are algorithms that compare the compressed video with the source and render a value that predicts how the compressed file would fare in subjective tests. There are multiple algorithms, all rated according to how well they correspond with actual subjective evaluations. None are perfect, but some perform better than others.

Jan Ozer, the article author, even links to a demo of the Moscow University Video Quality Measurement Tool showing good and bad frame-to-frame comparisons.

Cheers,

Ian

2
0

I used to do everything in AviSynth. I would mix my Videos and call Batch Files to compress with x.264/5.

AviSynth also has Math Functions like Compare which compares Frames: http://avisynth.nl/index.php/Compare - Not difficult to write a Script that grabs a few Frames whenever there's much of a difference and create a Visual Report (a Video of the excess differences).

A Program that did everything perfectly is likely to be expensive due to a limited Market (with rich customers) and a Test that simply gives you one number doesn't necessarily mean much nor does it identify the problem - if it's a single dropped Frame would you want to spend hours recoding (possibly with the same result).

If you want to Automate for a low cost you'll have to learn to write the Program or simply do it with Scripting - AviSynth is designed for this sort of problem.

There's a reasonable chance of finding the Script written for you but the URL above gives a couple of examples of how easy the Language is to learn.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.