MediaArea / MediaConch_SourceCode

Media conformance checker
https://MediaArea.net/MediaConch
BSD 2-Clause "Simplified" License
29 stars 18 forks source link

Add Frame Rate Num & Frame Rate Den to MediaConch #726

Closed jsciame closed 2 years ago

jsciame commented 2 years ago

Is it possible to add Frame Rate Num and Frame Rate Den to MediaConch?

Frame rate mode : CFR Frame rate mode : Constant Frame rate : 23.976 Frame rate : 23.976 (24000/1001) FPS _FrameRate_Num : 24000 FrameRateDen : 1001 Frame count : 528

They exist in MediaInfo but don't seem to be available as fields in MediaConch. I've tried FrameRate_Den FrameRate_Num & FrameRateDen FrameRate_Num but they don't return any results when run.

<rule name="Frame Rate Numerator" value="FrameRate_Num" tracktype="Video" occurrence="1" operator="=" xpath="mi:MediaInfo/mi:track[@type='Video'][1]/mi:FrameRate_Num" requested="24000" actual="" outcome="fail"/> <rule name="Frame Rate Denominator" value="FrameRate_Den" tracktype="Video" occurrence="1" operator="=" xpath="mi:MediaInfo/mi:track[@type='Video'][1]/mi:FrameRate_Den" requested="1001" actual="" outcome="fail"/>

jsciame commented 2 years ago

You can close this one. I updated MediaInfo and GUI to v22.03 on my machune and all of the sudden the results are now returning for these values where they were not before. Mediaconch CLI was already at v22.03 and is where I was running policy against the media (wasn't using gui) Are there potential conflicts on a machine if you run an older version of the MediaConch GUI?

Before update

<rule name="Frame Rate Numerator" value="FrameRate_Num" tracktype="Video" occurrence="1" operator="=" xpath="mi:MediaInfo/mi:track[@type='Video'][1]/mi:FrameRate_Num" requested="24000" actual="" outcome="fail"/> <rule name="Frame Rate Denominator" value="FrameRate_Den" tracktype="Video" occurrence="1" operator="=" xpath="mi:MediaInfo/mi:track[@type='Video'][1]/mi:FrameRate_Den" requested="1001" actual="" outcome="fail"/>

After Update

<rule name="Frame Rate Numerator" value="FrameRate_Num" tracktype="Video" occurrence="1" operator="=" xpath="mi:MediaInfo/mi:track[@type='Video'][1]/mi:FrameRate_Num" requested="24000" actual="24000" outcome="pass"/> <rule name="Frame Rate Denominator" value="FrameRate_Den" tracktype="Video" occurrence="1" operator="=" xpath="mi:MediaInfo/mi:track[@type='Video'][1]/mi:FrameRate_Den" requested="1001" actual="1001" outcome="pass"/>

JeromeMartinez commented 2 years ago

Are there potential conflicts on a machine if you run an older version of the MediaConch GUI?

Fails when a new field is expected but not present, if the policy does not handle empty field as pass. Sometimes empty fields means "checked but not detected" in new version and "unsupported" in old version and in that case there is no way to differentiate them. We need to have a policy about upgrades/downgrades, the de facto ones is "downgrades not tested, upgrades best effort with as few changes as possible but not guaranteed that your use case is fine".