{"id":1933,"date":"2019-06-29T17:30:13","date_gmt":"2019-06-29T15:30:13","guid":{"rendered":"https:\/\/alax.info\/blog\/?p=1933"},"modified":"2019-06-29T17:30:13","modified_gmt":"2019-06-29T15:30:13","slug":"cleanpoint-markup-fun-with-a-fragmented-mp4-file-and-media-foundation-mpeg-4-source","status":"publish","type":"post","link":"https:\/\/alax.info\/blog\/1933","title":{"rendered":"CleanPoint markup fun with a fragmented MP4 file and Media Foundation MPEG-4 Source"},"content":{"rendered":"\n<p><a href=\"https:\/\/docs.microsoft.com\/en-us\/windows\/desktop\/medfound\/mpeg-4-file-source\">MPEG-4 Media Foundation Source<\/a> stubbornly keeps marking a second video sample with a <code><a href=\"https:\/\/docs.microsoft.com\/en-us\/windows\/desktop\/medfound\/mfsampleextension-cleanpoint-attribute\">MFSampleExtension_CleanPoint<\/a><\/code> flag even though nothing suggests that the video frame is an IDR frame. <\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"516\" src=\"https:\/\/alax.info\/blog\/wp-content\/uploads\/2019\/06\/AA-800x516.png\" alt=\"\" class=\"wp-image-1934\" srcset=\"https:\/\/alax.info\/blog\/wp-content\/uploads\/2019\/06\/AA-800x516.png 800w, https:\/\/alax.info\/blog\/wp-content\/uploads\/2019\/06\/AA-320x207.png 320w, https:\/\/alax.info\/blog\/wp-content\/uploads\/2019\/06\/AA-768x496.png 768w, https:\/\/alax.info\/blog\/wp-content\/uploads\/2019\/06\/AA-600x387.png 600w, https:\/\/alax.info\/blog\/wp-content\/uploads\/2019\/06\/AA.png 1309w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/figure>\n\n\n\n<p>The actual video frame is a P frame both in terms of MP4 box formatting and contained NAL units (the video is in fact an &#8220;infinite GOP&#8221; flavor of recording where all frames are P frames except the very first IDR one).<\/p>\n\n\n\n<p>The problem is specific to fragmented MP4 files (and maybe even a subset of those), however is pretty much consistent and shows up with both H.264 and H.265\/HEVC video.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>MPEG-4 Media Foundation Source stubbornly keeps marking a second video sample with a MFSampleExtension_CleanPoint flag even though nothing suggests that the video frame is an IDR frame. The actual video frame is a P frame both in terms of MP4 box formatting and contained NAL units (the video is in fact an &#8220;infinite GOP&#8221; flavor&hellip; <\/p>\n<p><a class=\"moretag\" href=\"https:\/\/alax.info\/blog\/1933\">Read the full article<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[63,571,379,504,424,470,486],"class_list":["post-1933","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-bug","tag-fmp4","tag-h-264","tag-h-265","tag-media-foundation","tag-mp4","tag-video"],"_links":{"self":[{"href":"https:\/\/alax.info\/blog\/wp-json\/wp\/v2\/posts\/1933","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/alax.info\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/alax.info\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/alax.info\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/alax.info\/blog\/wp-json\/wp\/v2\/comments?post=1933"}],"version-history":[{"count":0,"href":"https:\/\/alax.info\/blog\/wp-json\/wp\/v2\/posts\/1933\/revisions"}],"wp:attachment":[{"href":"https:\/\/alax.info\/blog\/wp-json\/wp\/v2\/media?parent=1933"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/alax.info\/blog\/wp-json\/wp\/v2\/categories?post=1933"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/alax.info\/blog\/wp-json\/wp\/v2\/tags?post=1933"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}