{"id":1566,"date":"2015-12-05T12:45:39","date_gmt":"2015-12-05T10:45:39","guid":{"rendered":"https:\/\/alax.info\/blog\/?p=1566"},"modified":"2015-12-05T15:17:55","modified_gmt":"2015-12-05T13:17:55","slug":"logitech-c930e-camera-and-media-foundation","status":"publish","type":"post","link":"https:\/\/alax.info\/blog\/1566","title":{"rendered":"Logitech C930e camera and Media Foundation"},"content":{"rendered":"<p>Logitech&#8217;s C930e camera is the first one to be compliant with UVC 1.5 specification:<\/p>\n<blockquote><p>First 1080p HD webcam to support H.264 with Scalable Video Coding and UVC 1.5 encoding technology. [&#8230;] The result is a smoother video stream in applications like Skype for Business and Microsoft\u00c2\u00ae Lync\u00c2\u00ae 2013.<\/p><\/blockquote>\n<p>More marketing information there at Logitech. More interesting is what the new capabilities look from API side programmatically. Additionally to well known Motion JPEG (FourCC MJPG) and YUY2 video, the camera delivers H.264 (FourCC H264) video.<\/p>\n<figure style=\"width: 455px\" class=\"wp-caption alignright\"><a href=\"http:\/\/business.logitech.com\/en-us\/product\/webcam-c930e-business\"><img loading=\"lazy\" decoding=\"async\" class=\"\" src=\"http:\/\/business.logitech.com\/assets\/47465\/c930e-455x500.png\" alt=\"\" width=\"455\" height=\"500\" \/><\/a><figcaption class=\"wp-caption-text\">Logitech C930e Webcam<\/figcaption><\/figure>\n<p>Lync (Skype for Business) is presumably modified to accept that and it communicates to the camera using Media Foundation API.<\/p>\n<p>The camera&#8217;s H.264 capabilities are accessible using both APIs, DirectShow and Media Foundation, and there is apparently a mess with driver versions and operating system versions as well. The best results are achieved with stock driver from Microsoft (without installing Logitech driver, <a href=\"http:\/\/stackoverflow.com\/a\/24790291\/868014\">this information<\/a> is in good standing: &#8220;The only way I was able to get that stream under Windows 8.x was by NOT USING LOGITECH DRIVERS. This is a UVC 1.5 compatible camera and it will be configured automatically by the OS. With that driver (from Microsoft), use pin 1 (not 0) and you will get a ton of H264 formats.&#8221;).<\/p>\n<p>A printout of DirectShow capabilities using <a href=\"https:\/\/alax.info\/blog\/1531\">DirectShowCaptureCapabilities <\/a> is available <a href=\"https:\/\/www.alax.info\/svn\/public\/trunk\/Utilities\/DirectShowCaptureCapabilities\/Data\/Logitech%20Webcam%20C930e,%20Blackmagic%20WDM%20Capture,%20Decklink%20Video%20Capture.md\">here<\/a> (note <code>KS_H264VIDEOINFO<\/code> structure). This time it is about what it looks when one&#8217;s doing Media Foundation.<\/p>\n<p>As a Media Source, exposed are a few attributes and a great deal of media types (216 + 476), greater amount compared to DirectShow as it seems:<\/p>\n<ul>\n<ul>\n<li><code>MF_DEVSOURCE_ATTRIBUTE_MEDIA_TYPE<\/code>: 76 69 64 73 00 00 10 00 80 00 00 AA 00 38 9B 71 59 55 59 32 00 00 10 00 80 00 00 AA 00 38 9B 71<\/li>\n<li><code>MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_SYMBOLIC_LINK<\/code>: \\\\?\\usb#vid_046d&amp;pid_0843&amp;mi_00#6&amp;2314864d&amp;0&amp;0000#{e5323777-f976-4f5b-9b55-b94699c46e44}\\global (Type `VT_LPWSTR`)<\/li>\n<li><code>MF_DEVSOURCE_ATTRIBUTE_FRIENDLY_NAME<\/code>: Logitech Webcam C930e (Type `VT_LPWSTR`)<\/li>\n<li><code>MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_CATEGORY<\/code>: <code>KSCATEGORY_VIDEO_CAMERA<\/code><\/li>\n<li><code>MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE<\/code>: <code>MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_GUID<\/code><\/li>\n<li><code>MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_HW_SOURCE<\/code>: 4 (Type `VT_UI4`)<\/li>\n<\/ul>\n<li>Characteristics: <code>MFMEDIASOURCE_IS_LIVE | MFMEDIASOURCE_CAN_PAUSE<\/code><\/li>\n<li>Stream 0: Default Selected, Identifier 0x0, Major Type <code>MFMediaType_Video<\/code>, 216 Media Types<\/li>\n<li>Stream 1: Identifier 0x1, Major Type <code>MFMediaType_Video<\/code>, 476 Media Types<\/li>\n<\/ul>\n<p>The H.264 formats are marked with subtypes of\u00c2\u00a0<code><a href=\"https:\/\/msdn.microsoft.com\/en-us\/library\/windows\/desktop\/aa370819#encoded\">MFVideoFormat_H264<\/a><\/code> and <code>MFVideoFormat_H264_ES<\/code>. A raw print out is downloadable:<\/p>\n<ul>\n<li><a href=\"https:\/\/onedrive.live.com\/redir?resid=7411306174CF92C9!643&amp;authkey=!AFOc0nEXq6SOVXw&amp;ithint=file%2ctsv\">Media Foundation Video Media Types for Logitech C930e (Windows 10 Pro).tsv<\/a><\/li>\n<li><a href=\"https:\/\/onedrive.live.com\/redir?resid=7411306174CF92C9!639&amp;authkey=!AC6zzhQSkIcinlE&amp;ithint=file%2cxlsx\">Media Foundation Video Media Types for Logitech C930e (Windows 10 Pro).xlsx<\/a> (Excel Workbook)<\/li>\n<\/ul>\n<p>Specifically, it is interesting what are the attributes there since with Media Foundation it is tricky thing to find out quickly. The keys\/identifiers are listed below.<\/p>\n<h3>Common<\/h3>\n<ul>\n<li><code>MF_MT_ALL_SAMPLES_INDEPENDENT<\/code><\/li>\n<li><code>MF_MT_AM_FORMAT_TYPE<\/code><\/li>\n<li><code>MF_MT_AVG_BITRATE<\/code><\/li>\n<li><code>MF_MT_FIXED_SIZE_SAMPLES<\/code><\/li>\n<li><code>MF_MT_FRAME_RATE<\/code><\/li>\n<li><code>MF_MT_FRAME_RATE_RANGE_MAX<\/code><\/li>\n<li><code>MF_MT_FRAME_RATE_RANGE_MIN<\/code><\/li>\n<li><code>MF_MT_FRAME_SIZE<\/code><\/li>\n<li><code>MF_MT_INTERLACE_MODE<\/code><\/li>\n<li><code>MF_MT_MAJOR_TYPE<\/code><\/li>\n<li><code>MF_MT_PIXEL_ASPECT_RATIO<\/code><\/li>\n<li><code>MF_MT_SUBTYPE<\/code><\/li>\n<\/ul>\n<h3><code>MFVideoFormat_H264<\/code>, <code>MFVideoFormat_H264_ES<\/code><\/h3>\n<ul>\n<li><code>MF_MT_COMPRESSED<\/code><\/li>\n<li><code>MF_MT_H264_CAPABILITIES<\/code><\/li>\n<li><code>MF_MT_H264_MAX_CODEC_CONFIG_DELAY<\/code><\/li>\n<li><code>MF_MT_H264_MAX_MB_PER_SEC<\/code><\/li>\n<li><code>MF_MT_H264_RESOLUTION_SCALING<\/code><\/li>\n<li><code>MF_MT_H264_SIMULCAST_SUPPORT<\/code><\/li>\n<li><code>MF_MT_H264_SUPPORTED_RATE_CONTROL_MODES<\/code><\/li>\n<li><code>MF_MT_H264_SUPPORTED_SLICE_MODES<\/code><\/li>\n<li><code>MF_MT_H264_SUPPORTED_SYNC_FRAME_TYPES<\/code><\/li>\n<li><code>MF_MT_H264_SUPPORTED_USAGES<\/code><\/li>\n<li><code>MF_MT_H264_SVC_CAPABILITIES<\/code><\/li>\n<li><code>MF_MT_VIDEO_LEVEL<\/code><\/li>\n<li><code>MF_MT_VIDEO_PROFILE<\/code><\/li>\n<\/ul>\n<h3><code>MFVideoFormat_MJPG<\/code><\/h3>\n<ul>\n<li><code>MF_MT_SAMPLE_SIZE<\/code><\/li>\n<li><code>MF_MT_VIDEO_CHROMA_SITING<\/code><\/li>\n<li><code>MF_MT_VIDEO_LIGHTING<\/code><\/li>\n<li><code>MF_MT_VIDEO_NOMINAL_RANGE<\/code><\/li>\n<li><code>MF_MT_VIDEO_PRIMARIES<\/code><\/li>\n<li><code>MF_MT_YUV_MATRIX<\/code><\/li>\n<\/ul>\n<h3><code>MFVideoFormat_YUY2<\/code><\/h3>\n<ul>\n<li><code>MF_MT_DEFAULT_STRIDE<\/code><\/li>\n<li><code>MF_MT_SAMPLE_SIZE<\/code><\/li>\n<li><code>MF_MT_VIDEO_CHROMA_SITING<\/code><\/li>\n<li><code>MF_MT_VIDEO_LIGHTING<\/code><\/li>\n<li><code>MF_MT_VIDEO_NOMINAL_RANGE<\/code><\/li>\n<li><code>MF_MT_VIDEO_PRIMARIES<\/code><\/li>\n<li><code>MF_MT_YUV_MATRIX<\/code><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Logitech&#8217;s C930e camera is the first one to be compliant with UVC 1.5 specification: First 1080p HD webcam to support H.264 with Scalable Video Coding and UVC 1.5 encoding technology. [&#8230;] The result is a smoother video stream in applications like Skype for Business and Microsoft\u00c2\u00ae Lync\u00c2\u00ae 2013. More marketing information there at Logitech. More&hellip; <\/p>\n<p><a class=\"moretag\" href=\"https:\/\/alax.info\/blog\/1566\">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":[501,78,379,499,500,494,424,486,495,70],"class_list":["post-1566","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-c930e","tag-directshow","tag-h-264","tag-h264","tag-logitech","tag-lync","tag-media-foundation","tag-video","tag-webcam","tag-winapi"],"_links":{"self":[{"href":"https:\/\/alax.info\/blog\/wp-json\/wp\/v2\/posts\/1566","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=1566"}],"version-history":[{"count":0,"href":"https:\/\/alax.info\/blog\/wp-json\/wp\/v2\/posts\/1566\/revisions"}],"wp:attachment":[{"href":"https:\/\/alax.info\/blog\/wp-json\/wp\/v2\/media?parent=1566"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/alax.info\/blog\/wp-json\/wp\/v2\/categories?post=1566"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/alax.info\/blog\/wp-json\/wp\/v2\/tags?post=1566"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}