More > JRiver Media Center 31 for Windows

Black bar detection not updating tag correctly

(1/12) > >>

mattkhan:
I've noticed multiple items have no black bar detected after a successful run (i.e. the field has 0x0xResXxResY in it after analysis, job reports as successful) but where the video clearly has black bars. I cleared the field & reran the job manually and checked the logs, the final output is


--- Code: ---0019955: 4076: Playback: CJRVideoAnalyzeExtended::BlackBarDetection: Crop Window: 0x142x1914x938, with 3 hits
0019955: 4076: Playback: CJRVideoAnalyzeExtended::BlackBarDetection: Crop Window: 0x142x1912x938, with 3 hits
0019955: 4076: Playback: CJRVideoAnalyzeExtended::BlackBarDetection: Crop Window: 0x142x1908x938, with 7 hits
0019955: 4076: Playback: CJRVideoAnalyzeExtended::BlackBarDetection: Crop Window: 0x142x1906x938, with 8 hits
0019955: 4076: Playback: CJRVideoAnalyzeExtended::BlackBarDetection: Crop Window: 0x142x1904x938, with 9 hits
0019955: 4076: Playback: CJRVideoAnalyzeExtended::BlackBarDetection: Crop Window: 0x142x1900x938, with 5 hits
0019955: 4076: Playback: CJRVideoAnalyzeExtended::BlackBarDetection: Crop Window: 0x142x1892x938, with 6 hits
0019955: 4076: Playback: CJRVideoAnalyzeExtended::BlackBarDetection: Crop Window: 0x144x1920x936, with 348 hits
0019955: 4076: Playback: CJRVideoAnalyzeExtended::BlackBarDetection: Crop Window: 0x144x1918x936, with 8 hits
0019955: 4076: Playback: CJRVideoAnalyzeExtended::BlackBarDetection: Crop Window: 0x142x1920x872, with 10 hits
0019955: 4076: Playback: CJRVideoAnalyzeExtended::BlackBarDetection: Crop Window: 0x142x1920x880, with 9 hits
0019955: 4076: Playback: CJRVideoAnalyzeExtended::BlackBarDetection: Crop Window: 0x142x1920x886, with 10 hits
0019955: 4076: Playback: CJRVideoAnalyzeExtended::BlackBarDetection: Crop Window: 0x0x1920x1080, with 30 hits
0019955: 4076: Playback: CJRVideoAnalyzeExtended::BlackBarDetection: Crop Window: 0x142x1920x938, with 200 hits
0019955: 4076: Playback: CJRVideoAnalyzeExtended::BlackBarDetection: Crop Window: 0x142x1918x938, with 271 hits
0019955: 4076: Playback: CJRVideoAnalyzeExtended::BlackBarDetection: Crop Window: 0x142x1916x938, with 5 hits
0019955: 4076: Playback: CJRVideoAnalyzeExtended::BlackBarDetection: Crop Window: 2x144x1894x936, with 4 hits
0019955: 4076: Playback: CJRVideoAnalyzeExtended::BlackBarDetection: Crop Window: 2x144x1772x936, with 4 hits
0019955: 4076: Playback: CJRVideoAnalyzeExtended::BlackBarDetection: Crop Window: 2x142x1878x938, with 2 hits
0019955: 4076: Playback: CJRVideoAnalyzeExtended::BlackBarDetection: Crop Window: 2x142x1920x938, with 124 hits
0019955: 4076: Playback: CJRVideoAnalyzeExtended::BlackBarDetection: Crop Window: 2x142x1918x938, with 27 hits
0019955: 4076: Playback: CJRVideoAnalyzeExtended::BlackBarDetection: Crop Window: 134x144x1736x936, with 4 hits
0019955: 4076: Playback: CJRVideoAnalyzeExtended::BlackBarDetection: Crop Window: 648x352x1312x784, with 4 hits
0019955: 4076: Playback: CJRVideoAnalyzeExtended::BlackBarDetection: Crop Window: 394x144x1534x936, with 4 hits
0019955: 4076: Playback: CJRVideoAnalyzeExtended::BlackBarDetection: Crop Window: 22x142x1918x938, with 5 hits
0019955: 4076: Playback: CJRVideoAnalyzeExtended::BlackBarDetection: Crop Window: 24x142x1918x938, with 3 hits
0019955: 4076: Playback: CJRVideoAnalyzeExtended::BlackBarDetection: Crop Window: 24x142x1920x938, with 5 hits
0019955: 4076: Playback: CJRVideoAnalyzeExtended::BlackBarDetection: Crop Window: 154x144x1720x936, with 40 hits
0019955: 4076: Playback: CJRVideoAnalyzeExtended::BlackBarDetection: Crop Window: 288x144x1614x936, with 4 hits
0019955: 4076: Playback: CJRVideoAnalyzeExtended::BlackBarDetection: Crop Window: 166x142x1920x938, with 5 hits
0019955: 4076: Playback: CJRVideoAnalyzeExtended::BlackBarDetection: Crop Window: 170x144x1712x936, with 4 hits
0019955: 4076: Playback: CJRVideoAnalyzeExtended::BlackBarDetection: Crop Window: 46x142x1918x938, with 3 hits
0019955: 4076: Playback: CJRVideoAnalyzeExtended::BlackBarDetection: Crop Window: 182x144x1702x936, with 40 hits
0019955: 4076: Playback: CJRVideoAnalyzeExtended::BlackBarDetection: Crop Window: 570x232x1364x868, with 40 hits
0019955: 4076: Playback: CJRVideoAnalyzeExtended::BlackBarDetection: Crop Window: 198x144x1678x936, with 40 hits
0019956: 4076: Playback: CJRVideoAnalyzeExtended::BlackBarDetection: Crop Window: 72x142x1918x938, with 5 hits
0019956: 4076: Playback: CJRVideoAnalyzeExtended::BlackBarDetection: Crop Window: 1598x244x1642x280, with 4 hits
0019956: 4076: Playback: CJRVideoAnalyzeExtended::BlackBarDetection: Crop Window: 76x142x1918x938, with 2 hits
0019956: 4076: Playback: CJRVideoAnalyzeExtended::BlackBarDetection: Crop Window: 204x144x1678x936, with 12 hits
0019956: 4076: Playback: CJRVideoAnalyzeExtended::BlackBarDetection: Crop Window: 204x144x1676x936, with 28 hits
0019956: 4076: Playback: CJRVideoAnalyzeExtended::BlackBarDetection: Crop Window: 88x150x1918x928, with 3 hits
0019956: 4076: Playback: CJRVideoAnalyzeExtended::BlackBarDetection: Crop Window: 88x150x1918x938, with 4 hits
0019956: 4076: Playback: CJRVideoAnalyzeExtended::BlackBarDetection: Crop Window: 218x144x1676x936, with 24 hits
0019956: 4076: Playback: CJRVideoAnalyzeExtended::BlackBarDetection: Crop Window: 218x144x1672x936, with 12 hits
0019956: 4076: Playback: CJRVideoAnalyzeExtended::BlackBarDetection: Crop Window: 220x144x1670x936, with 4 hits
0019956: 4076: Playback: CJRVideoAnalyzeExtended::BlackBarDetection: Crop Window: 222x144x1670x936, with 4 hits
0019956: 4076: Playback: CJRVideoAnalyzeExtended::BlackBarDetection: Crop Window: 114x144x1748x936, with 4 hits
0019956: 4076: Playback: CJRVideoAnalyzeExtended::BlackBarDetection: Crop Window: 122x144x1744x936, with 40 hits
0019956: 4076: Playback: CJRVideoAnalyzeExtended::BlackBarDetection: Crop Window: 504x160x1426x936, with 4 hits
0019958: 4076: Encoders: CJRVideoAnalyzeExtended::AVLog: [AVIOContext @ 0000023746F55E00] Statistics: 222161780 bytes read, 52 seeks
0019959: 4076: General: JRWorker::ProcessCommand: AnalyzeVideoBlackBars succeeded...

--- End code ---

the tag still has 0x0x1920x1080 in it despite it apparently clearly detecting the presence of blackbars. I'm not sure how it decides how to pick one value though but, from watching the film itself, it quite clearly simply has blackbars throughout the entire film (i.e. it's completely unambiguously a constant 2.39 throughout the film).

If the analysis is confused about what to pick, I think it needs to do a better job of reporting the uncertainty.
if it's just getting it wrong then that seems like something to improve.

this isn't a one off btw so I don't think this is just one disc being odd

Hendrik:

--- Code: ---0019955: 4076: Playback: CJRVideoAnalyzeExtended::BlackBarDetection: Crop Window: 0x0x1920x1080, with 30 hits

--- End code ---

This line is the problem - it detects some frames which use the full frame and thus does not cut anything.

What it basically does is take all the detections and find the smallest rectangle that doesn't cut any video off. On a clean movie you would usually only have one or two rects, but some detect this noisily, maybe their margins are not cut cleanly or they are older movies. Why it detects the full frame, I can't tell you without the movie at hand.

mattkhan:
Ok i see, thanks

It would be helpful to log some timestamps I think

I don't know the best way to handle this but current (misdetect with no notification) definitely not ideal

Does it read every frame or sample various timestamps?

Some ideas

Add an extra field which holds a list of all detected values
Allow picking the most common rather than largest
Add a warning if it detects a full image and a variety of common scope formats

Hendrik:
It jumps through the video at about 10% increments and reads a couple of frames at each spot.

I suppose I can add some kind of status field that indicates how clean a match was, which would help to let us investigate why it gets to that conclusion. I mostly focused on not erroneously cutting off image so far, as thats also easier to check for from the reported values. A full 16:9 frame is a perfectly valid value - may just not match the content.

mattkhan:
I appreciate doing this perfectly is probably impossible. I think ideally it needs to be able to distinguish between genuinely variable aspect ratio films and ones that are a fixed ratio with some odd frames then have some way to pick the best value as opposed to safest. I guess this might be a user preference though.

My preference would be to signal this via a tag so I can create a view of items that need manual review post import.

I use this to drive jrvr profile choice and I would personally prefer not to fallback to having to manually pick a profile.

Navigation

[0] Message Index

[#] Next page

Go to full version