Comments (6)
can you share the output of mediaconch -mt failfailfail.mkv
and your policy
from mediaconch.
https://drive.google.com/drive/folders/1LaQdx2_JoDK7L-eFDmY69pMcVfzxNTWi?usp=sharing
from mediaconch.
Seems like a bug in the conditional logic. The xml of the policy result is at https://gist.github.com/dericed/bee9a592c9a5b96803770e6279902a7d.
https://gist.github.com/dericed/bee9a592c9a5b96803770e6279902a7d#file-ghk-xml-L27-L31
<policy name="Pixel Aspect Ratio is D1?" type="or" rules_run="3" fail_count="1" pass_count="2" outcome="fail">
<rule name="NTSC D1?" value="PixelAspectRatio" tracktype="Video" occurrence="*" operator="=" xpath="mi:MediaInfo/mi:track[@type='Video'][*]/mi:PixelAspectRatio='0.900'" outcome="pass"/>
<rule name="PAL D1?" value="PixelAspectRatio" tracktype="Video" occurrence="*" operator="=" xpath="mi:MediaInfo/mi:track[@type='Video'][*]/mi:PixelAspectRatio='1.067'" actual="0.900" outcome="fail"/>
<rule name="FFV1 is encoded in GOP size of 1?" value="Format_Settings_GOP" tracktype="Video" occurrence="*" operator="=" xpath="mi:MediaInfo/mi:track[@type='Video'][*]/mi:Format_Settings_GOP='N=1'" outcome="pass"/>
</policy>
This is an 'or' policy with 2 passing rules and a failing rules, but the whole policy fails.
At https://gist.github.com/dericed/bee9a592c9a5b96803770e6279902a7d#file-ghk-xml-L53-L56
<policy name="Video Sample Range clarified?" type="or" rules_run="2" fail_count="0" pass_count="2" outcome="fail">
<rule name="Range data is stored?" scope="mmt" value="Segment/Tracks/TrackEntry/Video/Colour/Range/" occurrence="*" xpath="mmt:MicroMediaTrace/mmt:b[@n='Segment']/mmt:b[@n='Tracks']/mmt:b[@n='TrackEntry']/mmt:b[@n='Video']/mmt:b[@n='Colour']/mmt:b[@n='Range']" outcome="pass"/>
<rule name="Range data is not Unspecified?" scope="mmt" value="Segment/Tracks/TrackEntry/Video/Colour/Range/Data" occurrence="*" operator="!=" xpath="mmt:MicroMediaTrace/mmt:b[@n='Segment']/mmt:b[@n='Tracks']/mmt:b[@n='TrackEntry']/mmt:b[@n='Video']/mmt:b[@n='Colour']/mmt:b[@n='Range']/mmt:d!='o2'" outcome="pass"/>
</policy>
all the rules of the policy pass but the policy itself fails. :-/
from mediaconch.
type='or' refers to an exclusive or.
<aliasxsl:when test="$type = 'or' and $pass_count = 1">pass</aliasxsl:when>
(I can't find the original xsl in the sources tree.)
Maybe add more precise nor/xor options and keep current 'or' behaviour for compatibility .
from mediaconch.
thanks @g-maxime for the catch.
So the workaround is to have a rule which is also false, and we fix the the 'or' (IMO no need to keep compatibility, the only known usage is e.g. DAR is 4:3 or 16:9 so "or" or "xor" have same result).
from mediaconch.
Fixed by MediaArea/MediaConch_SourceCode#692 closing?
from mediaconch.
Related Issues (20)
- rawcooked invalid MKV files HOT 7
- Wishlist: Content preset for 24fps (film) HOT 1
- Crash with a full DPX directory HOT 1
- MediaTrace displays HOT 1
- GUI not responding HOT 1
- Check FFV1 implementation in non-MKV container?
- Policy check fails not being flagged HOT 3
- [Bug] Input is not proper UTF on Ubuntu and not on MacOS HOT 8
- No bitrate for video and audio streams in a TS file HOT 5
- Files fail in CLI but pass in GUI against same policy file HOT 4
- Public Policy page down? HOT 6
- EBML implementation failure for RAWCooked files HOT 2
- CC 708 Tracks in MediaConch Broken? HOT 2
- "Policy from file" only reads files on boot drive in MacOS
- feature request: exit status codes HOT 3
- Mediaconch Rule with * passing when values differ across tracks HOT 3
- Feature Request: Detect Timecode Discontinuity HOT 3
- Existing policy appears to be broken by daily build HOT 2
- Mediaconch V22.09 'or' policy failures on Ubuntu 22.04.1 LTS HOT 10
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mediaconch.