1

Цель: записать видео (без звука) поток с веб-камеры as-is, то есть не транскодировать.Ошибка носителя Media Sink Writer E_NOINTERFACE (0x80004002)

Текущая реализация состоит в использовании простой топологии, как следующий (число узлов в скобках для справки при чтении журнала трассировки):

[Source (0)] -> [Tee (1)] -> (auto-added Decoder (2)) -> [EVR (3)] 
          \-> [Sink Writer (4)] 

Использования IMFMediaSession для обработки разрешения топологии (после того, как было объять EVR выход путем разрешения активации объекта, как описано в MSDN - binding outputs)

Если я не добавить Раковина Writer на всех - сеанс работает очень хорошо, производя вывод (предварительный просмотр видео) в указанном окне. Работает независимо от того, присутствует ли данный узел Tee (как и ожидалось).

Проблема возникает, когда я пытаюсь включить раковины Writer в топологии.

Инициализатор стока Инициализация вполне минималистична. В основном только MFCreateSinkWriterFromURL() обеспечивая имя выходного файла и IMFAttributes не с указанием без каких-либо преобразователей с без аппаратной не превращает плюс низкой латентности и не дроссельный. Транскодируемый контейнер типа указан как MPEG4, но результат не изменяется, если этот параметр выведен из расширения файла (.mp4).

После Sink Writer создается новый поток добавляет к нему через AddStream() и веб-камера СМИ типа непосредственно используются для указания медиа выходного по типу, а также в SetInputMediaType() вызова.

BeginWriting() называется закончить инициализацию Раковины Автора «ы после чего он будет добавлен к узлу с вызовом SetObject().

Tee затем подключения это вторичный выход в Sink Writer узел «s и топология будет решена (успешно) и, предположительно, готов к работе.

После того, как топология поставлена ​​в очередь на вновь созданную сессию с флагом MFSESSION_SETTOPOLOGY_NORESOLUTION (вместе с MFSESSION_SETTOPOLOGY_IMMEDIATE), начнется воспроизведение и запись - это мое настоящее понимание того, как оно должно работать.

Однако именно там я получаю Медиа Session события через Invoke() для типа события MESessionTopologySet с кодом состояния ошибки 0x80004002!

Игра с Сценарист (с указанием пустых/по умолчанию) не дал положительных результатов. Перемещение разрешения топологии, которое должно произойти до того, как я добавлю автора, ничего не изменило. Указание первичного выходного потока для Тройник узел по состоянию на EVR тоже не помог.

Отключить MS Red-Stone Функция с EnableFrameServerMode установлена ​​в 0 не помогла.

Строительство и работает с Windows SDK 10.0.10586 на Windows 10 Pro рабочего стола.


Ниже бревно из mftrace для справки (пришлось подрезать немного, чтобы вписаться в 30K предел):

 

PID, TID Time (UTC) TraceMessage 
--------- -------------- ------------ 
...... removed the beginning to save space 
8000,2ED0 21:51:35.64241 CMFPlatExportDetours::MFStartup @ Version=0x00020070, dwFlags=0x00000001 
...... enumerating hardware and setting up client factories 
8000,2ED0 21:51:35.65757 CMFPlatExportDetours::MFStartup @ Version=0x00020070, dwFlags=0x00000000 
...... CoCreateInstance calls 
8000,2ED0 21:51:35.66117 CMFActivateDetours::ActivateObject @000001B0B3BE3390 New MFT @000001B0B3BE3590 
8000,2ED0 21:51:35.66119 CMFActivateDetours::ActivateObject @000001B0B3BE3390 New source @000001B0B3BEFB80 
8000,2ED0 21:51:35.66123 CMFMediaSourceDetours::TracePD @000001B0B3BEFB80 Stream 0 (ID 0): selected 1, MT: MF_MT_FRAME_SIZE=1374389534960 (320,240);MF_MT_AVG_BITRATE=36864000;MF_MT_YUV_MATRIX=2;MF_MT_MAJOR_TYPE=MEDIATYPE_Video;MF_MT_VIDEO_LIGHTING=3;MF_MT_DEFAULT_STRIDE=640;MF_MT_VIDEO_CHROMA_SITING=6;MF_MT_AM_FORMAT_TYPE=FORMAT_VIDEOINFO2;MF_MT_FIXED_SIZE_SAMPLES=1;MF_MT_VIDEO_NOMINAL_RANGE=2;MF_MT_FRAME_RATE=128849018881 (30,1);MF_MT_PIXEL_ASPECT_RATIO=4294967297 (1,1);MF_MT_ALL_SAMPLES_INDEPENDENT=1;MF_MT_FRAME_RATE_RANGE_MIN=128849018881 (30,1);MF_MT_SAMPLE_SIZE=153600;MF_MT_VIDEO_PRIMARIES=2;MF_MT_INTERLACE_MODE=2;MF_MT_FRAME_RATE_RANGE_MAX=128849018881 (30,1);MF_MT_SUBTYPE=MFVideoFormat_YUY2 
8000,2ED0 21:51:35.66150 CMFActivateDetours::ActivateObject @000001B0B3BE3390 New MFT @000001B0B3BE3590 
8000,2ED0 21:51:35.66150 CMFActivateDetours::ActivateObject @000001B0B3BE3390 New source @000001B0B3BEFB80 
8000,2ED0 21:51:35.66153 CMFMediaSourceDetours::TracePD @000001B0B3BEFB80 Stream 0 (ID 0): selected 1, MT: MF_MT_FRAME_SIZE=1374389534960 (320,240);MF_MT_AVG_BITRATE=36864000;MF_MT_YUV_MATRIX=2;MF_MT_MAJOR_TYPE=MEDIATYPE_Video;MF_MT_VIDEO_LIGHTING=3;MF_MT_DEFAULT_STRIDE=640;MF_MT_VIDEO_CHROMA_SITING=6;MF_MT_AM_FORMAT_TYPE=FORMAT_VIDEOINFO2;MF_MT_FIXED_SIZE_SAMPLES=1;MF_MT_VIDEO_NOMINAL_RANGE=2;MF_MT_FRAME_RATE=128849018881 (30,1);MF_MT_PIXEL_ASPECT_RATIO=4294967297 (1,1);MF_MT_ALL_SAMPLES_INDEPENDENT=1;MF_MT_FRAME_RATE_RANGE_MIN=128849018881 (30,1);MF_MT_SAMPLE_SIZE=153600;MF_MT_VIDEO_PRIMARIES=2;MF_MT_INTERLACE_MODE=2;MF_MT_FRAME_RATE_RANGE_MAX=128849018881 (30,1);MF_MT_SUBTYPE=MFVideoFormat_YUY2 
8000,2ED0 21:51:38.33229 CMFActivateDetours::ActivateObject @000001B0B3BE3390 New MFT @000001B0B3BE3590 
8000,2ED0 21:51:38.33229 CMFActivateDetours::ActivateObject @000001B0B3BE3390 New source @000001B0B3BEFB80 
8000,2ED0 21:51:38.33233 CMFMediaSourceDetours::TracePD @000001B0B3BEFB80 Stream 0 (ID 0): selected 1, MT: MF_MT_FRAME_SIZE=1374389534960 (320,240);MF_MT_AVG_BITRATE=36864000;MF_MT_YUV_MATRIX=2;MF_MT_MAJOR_TYPE=MEDIATYPE_Video;MF_MT_VIDEO_LIGHTING=3;MF_MT_DEFAULT_STRIDE=640;MF_MT_VIDEO_CHROMA_SITING=6;MF_MT_AM_FORMAT_TYPE=FORMAT_VIDEOINFO2;MF_MT_FIXED_SIZE_SAMPLES=1;MF_MT_VIDEO_NOMINAL_RANGE=2;MF_MT_FRAME_RATE=128849018881 (30,1);MF_MT_PIXEL_ASPECT_RATIO=4294967297 (1,1);MF_MT_ALL_SAMPLES_INDEPENDENT=1;MF_MT_FRAME_RATE_RANGE_MIN=128849018881 (30,1);MF_MT_SAMPLE_SIZE=153600;MF_MT_VIDEO_PRIMARIES=2;MF_MT_INTERLACE_MODE=2;MF_MT_FRAME_RATE_RANGE_MAX=128849018881 (30,1);MF_MT_SUBTYPE=MFVideoFormat_YUY2 
8000,2ED0 21:51:38.33272 CMFReadWriteExportDetours::MFCreateSinkWriterFromURL @ URL: 'c:\tmp\rry-raw.mp4', bytestream @0000000000000000, MF_SINK_WRITER_DISABLE_THROTTLING=1;MF_TRANSCODE_CONTAINERTYPE=MFTranscodeContainerType_MPEG4;MF_READWRITE_DISABLE_CONVERTERS=1;{9C27891A-ED7A-40E1-88E8-B22727A024EE}=1;MF_READWRITE_ENABLE_HARDWARE_TRANSFORMS=0 
8000,2ED0 21:51:38.33289 COle32ExportDetours::CoCreateInstance @ Created {48E2ED0F-98C2-4A37-BED5-166312DDD83F} MFReadWrite Class Factory (C:\Windows\System32\mfreadwrite.dll) @000001B0B234EFA0 - traced interfaces: IMFReadWriteClassFactory @000001B0B234EFA0, 
8000,2ED0 21:51:38.33290 CMFReadWriteClassFactoryDetours::CreateInstanceFromURL @000001B0B234EFA0 URL: 'c:\tmp\rry-raw.mp4', MF_SINK_WRITER_DISABLE_THROTTLING=1;MF_TRANSCODE_CONTAINERTYPE=MFTranscodeContainerType_MPEG4;MF_READWRITE_DISABLE_CONVERTERS=1;{9C27891A-ED7A-40E1-88E8-B22727A024EE}=1;MF_READWRITE_ENABLE_HARDWARE_TRANSFORMS=0 
8000,2ED0 21:51:38.33292 CMFPlatExportDetours::MFCreateFile @ URL: 'c:\tmp\rry-raw.mp4' 
8000,2ED0 21:51:38.33315 CMFReadWriteClassFactoryDetours::HandleObject @ New sink writer @000001B0B3C01770 
8000,2ED0 21:51:38.33322 CMFSinkWriterDetours::AddStream @000001B0B3C01770 Stream Index 0x0, MT: MF_MT_FRAME_SIZE=1374389534960 (320,240);MF_MT_AVG_BITRATE=36864000;MF_MT_YUV_MATRIX=2;MF_MT_MAJOR_TYPE=MEDIATYPE_Video;MF_MT_VIDEO_LIGHTING=3;MF_MT_DEFAULT_STRIDE=640;MF_MT_VIDEO_CHROMA_SITING=6;MF_MT_AM_FORMAT_TYPE=FORMAT_VIDEOINFO2;MF_MT_FIXED_SIZE_SAMPLES=1;MF_MT_VIDEO_NOMINAL_RANGE=2;MF_MT_FRAME_RATE=128849018881 (30,1);MF_MT_PIXEL_ASPECT_RATIO=4294967297 (1,1);MF_MT_ALL_SAMPLES_INDEPENDENT=1;MF_MT_FRAME_RATE_RANGE_MIN=128849018881 (30,1);MF_MT_SAMPLE_SIZE=153600;MF_MT_VIDEO_PRIMARIES=2;MF_MT_INTERLACE_MODE=2;MF_MT_FRAME_RATE_RANGE_MAX=128849018881 (30,1);MF_MT_SUBTYPE=MFVideoFormat_YUY2 
8000,2ED0 21:51:38.33326 CMFSinkWriterDetours::SetInputMediaType @000001B0B3C01770 Stream Index 0x0, MT: MF_MT_FRAME_SIZE=1374389534960 (320,240);MF_MT_AVG_BITRATE=36864000;MF_MT_YUV_MATRIX=2;MF_MT_MAJOR_TYPE=MEDIATYPE_Video;MF_MT_VIDEO_LIGHTING=3;MF_MT_DEFAULT_STRIDE=640;MF_MT_VIDEO_CHROMA_SITING=6;MF_MT_AM_FORMAT_TYPE=FORMAT_VIDEOINFO2;MF_MT_FIXED_SIZE_SAMPLES=1;MF_MT_VIDEO_NOMINAL_RANGE=2;MF_MT_FRAME_RATE=128849018881 (30,1);MF_MT_PIXEL_ASPECT_RATIO=4294967297 (1,1);MF_MT_ALL_SAMPLES_INDEPENDENT=1;MF_MT_FRAME_RATE_RANGE_MIN=128849018881 (30,1);MF_MT_SAMPLE_SIZE=153600;MF_MT_VIDEO_PRIMARIES=2;MF_MT_INTERLACE_MODE=2;MF_MT_FRAME_RATE_RANGE_MAX=128849018881 (30,1);MF_MT_SUBTYPE=MFVideoFormat_YUY2 
8000,2ED0 21:51:38.33379 COle32ExportDetours::CoCreateInstance @ Created {A22C4FC7-6E91-4E1D-89E9-53B2667B72BA} MF MPEG4 Sink Class Factory (C:\Windows\System32\mfmp4srcsnk.dll) @000001B0B234EFA0 - traced interfaces: 
8000,2ED0 21:51:38.33423 CMFByteStreamDetours::GetCapabilities @000001B0B3BE0520 Capabilities 0x00000806 
8000,2ED0 21:51:38.33434 CMFSinkWriterDetours::BeginWriting @000001B0B3C01770 Began writing 
8000,2ED0 21:51:38.33538 COle32ExportDetours::CoCreateInstance @ New MFT @000001B0B3C24730, VIDEO_ZOOM_RECT=00 00 00 00 00 00 00 00 00 00 80 3f 00 00 80 3f 
8000,2ED0 21:51:38.33539 COle32ExportDetours::CoCreateInstance @ Created {E474E05A-AB65-4F6A-827C-218B1BAAF31F} MF Video Mixer (C:\Windows\System32\evr.dll) @000001B0B3C24730 - traced interfaces: IMFTransform @000001B0B3C24730, 
8000,2ED0 21:51:38.38105 COle32ExportDetours::CoCreateInstance @ Created {A0A7A57B-59B2-4919-A694-ADD0A526C373} Tearless Window Presenter (C:\Windows\System32\evr.dll) @000001B0B3C292E8 - traced interfaces: 
8000,2ED0 21:51:38.38107 COle32ExportDetours::CoCreateInstance @ Created {98455561-5136-4D28-AB08-4CEE40EA2781} MF Video Presenter (C:\Windows\System32\evr.dll) @000001B0B3C27390 - traced interfaces: 
8000,2ED0 21:51:38.38111 CMFTransformDetours::ProcessMessage @000001B0B3C24730 Message type=0x00000002 MFT_MESSAGE_SET_D3D_MANAGER, param=B3C28090 
8000,2ED0 21:51:38.39477 CMFActivateDetours::ActivateObject @000001B0B3C00430 New sink @000001B0B3C29950 
8000,2ED0 21:51:38.39477 CMFMediaSinkDetours::Attach @000001B0B3C29950 Clock state @000001B0B3C29970 
8000,2ED0 21:51:38.40944 CMFTransformDetours::SetInputType @000001B0B3C24730 Succeeded MT: MF_MT_FRAME_SIZE=1374389534960 (320,240);MF_MT_AVG_BITRATE=36864000;MF_MT_YUV_MATRIX=2;MF_MT_MAJOR_TYPE=MEDIATYPE_Video;MF_MT_VIDEO_LIGHTING=3;MF_MT_DEFAULT_STRIDE=640;MF_MT_VIDEO_CHROMA_SITING=6;MF_MT_AM_FORMAT_TYPE=FORMAT_VIDEOINFO2;MF_MT_FIXED_SIZE_SAMPLES=1;MF_MT_VIDEO_NOMINAL_RANGE=2;MF_MT_FRAME_RATE=128849018881 (30,1);MF_MT_PIXEL_ASPECT_RATIO=4294967297 (1,1);MF_MT_ALL_SAMPLES_INDEPENDENT=1;MF_MT_FRAME_RATE_RANGE_MIN=128849018881 (30,1);MF_MT_SAMPLE_SIZE=153600;MF_MT_VIDEO_PRIMARIES=2;MF_MT_INTERLACE_MODE=2;MF_MT_FRAME_RATE_RANGE_MAX=128849018881 (30,1);MF_MT_SUBTYPE=MFVideoFormat_YUY2 
8000,2ED0 21:51:38.40952 CMFTransformDetours::SetInputType @000001B0B3C2B0F0 Succeeded MT: MF_MT_FRAME_SIZE=1374389534960 (320,240);MF_MT_AVG_BITRATE=36864000;MF_MT_YUV_MATRIX=2;MF_MT_MAJOR_TYPE=MEDIATYPE_Video;MF_MT_VIDEO_LIGHTING=3;MF_MT_DEFAULT_STRIDE=640;MF_MT_VIDEO_CHROMA_SITING=6;MF_MT_AM_FORMAT_TYPE=FORMAT_VIDEOINFO2;MF_MT_FIXED_SIZE_SAMPLES=1;MF_MT_VIDEO_NOMINAL_RANGE=2;MF_MT_FRAME_RATE=128849018881 (30,1);MF_MT_PIXEL_ASPECT_RATIO=4294967297 (1,1);MF_MT_ALL_SAMPLES_INDEPENDENT=1;MF_MT_FRAME_RATE_RANGE_MIN=128849018881 (30,1);MF_MT_SAMPLE_SIZE=153600;MF_MT_VIDEO_PRIMARIES=2;MF_MT_INTERLACE_MODE=2;MF_MT_FRAME_RATE_RANGE_MAX=128849018881 (30,1);MF_MT_SUBTYPE=MFVideoFormat_YUY2 
8000,2ED0 21:51:38.40986 CMFTransformDetours::SetInputType @000001B0B3C24730 Succeeded MT: MF_MT_FRAME_SIZE=1374389534960 (320,240);MF_MT_AVG_BITRATE=36864000;MF_MT_YUV_MATRIX=2;MF_MT_MAJOR_TYPE=MEDIATYPE_Video;MF_MT_VIDEO_LIGHTING=3;MF_MT_DEFAULT_STRIDE=640;MF_MT_VIDEO_CHROMA_SITING=6;MF_MT_AM_FORMAT_TYPE=FORMAT_VIDEOINFO2;MF_MT_FIXED_SIZE_SAMPLES=1;MF_MT_VIDEO_NOMINAL_RANGE=2;MF_MT_FRAME_RATE=128849018881 (30,1);MF_MT_PIXEL_ASPECT_RATIO=4294967297 (1,1);MF_MT_ALL_SAMPLES_INDEPENDENT=1;MF_MT_FRAME_RATE_RANGE_MIN=128849018881 (30,1);MF_MT_SAMPLE_SIZE=153600;MF_MT_VIDEO_PRIMARIES=2;MF_MT_INTERLACE_MODE=2;MF_MT_FRAME_RATE_RANGE_MAX=128849018881 (30,1);MF_MT_SUBTYPE=MFVideoFormat_YUY2 
8000,2ED0 21:51:38.40988 CMFTransformDetours::SetOutputType @000001B0B3C2B0F0 Succeeded MT: MF_MT_FRAME_SIZE=1374389534960 (320,240);MF_MT_AVG_BITRATE=36864000;MF_MT_YUV_MATRIX=2;MF_MT_MAJOR_TYPE=MEDIATYPE_Video;MF_MT_VIDEO_LIGHTING=3;MF_MT_DEFAULT_STRIDE=640;MF_MT_VIDEO_CHROMA_SITING=6;MF_MT_AM_FORMAT_TYPE=FORMAT_VIDEOINFO2;MF_MT_FIXED_SIZE_SAMPLES=1;MF_MT_VIDEO_NOMINAL_RANGE=2;MF_MT_FRAME_RATE=128849018881 (30,1);MF_MT_PIXEL_ASPECT_RATIO=4294967297 (1,1);MF_MT_ALL_SAMPLES_INDEPENDENT=1;MF_MT_FRAME_RATE_RANGE_MIN=128849018881 (30,1);MF_MT_SAMPLE_SIZE=153600;MF_MT_VIDEO_PRIMARIES=2;MF_MT_INTERLACE_MODE=2;MF_MT_FRAME_RATE_RANGE_MAX=128849018881 (30,1);MF_MT_SUBTYPE=MFVideoFormat_YUY2 
...... attach clock and rate control 
8000,2ED0 21:51:38.41105 CTopologyHelpers::Trace @000001B0B3C2A8E0 >>>>>>>>>>>>> input topology 
8000,2ED0 21:51:38.41106 CTopologyHelpers::TraceNode @ Node 0 @000001B0B3C00430 ID:1F4000000001, 0 inputs, 1 outputs, type 1, MF_TOPONODE_MARKIN_HERE=1;MF_TOPONODE_MARKOUT_HERE=1;MF_TOPONODE_MEDIASTART=0 (0,0);[email protected];[email protected];[email protected] 
8000,2ED0 21:51:38.41107 CTopologyHelpers::TraceObject @ Source @000001B0B3BEFB80 {00000000-0000-0000-0000-000000000000} (C:\Windows\SYSTEM32\MFCORE.DLL), MFMEDIASOURCE_CHARACTERISTICS=0x00000005 
8000,2ED0 21:51:38.41109 CTopologyHelpers::TraceStream @ Output stream 0, connected to node @000001B0B3C2B030 stream 0, MT: MF_MT_FRAME_SIZE=1374389534960 (320,240);MF_MT_AVG_BITRATE=36864000;MF_MT_YUV_MATRIX=2;MF_MT_MAJOR_TYPE=MEDIATYPE_Video;MF_MT_VIDEO_LIGHTING=3;MF_MT_DEFAULT_STRIDE=640;MF_MT_VIDEO_CHROMA_SITING=6;MF_MT_AM_FORMAT_TYPE=FORMAT_VIDEOINFO2;MF_MT_FIXED_SIZE_SAMPLES=1;MF_MT_VIDEO_NOMINAL_RANGE=2;MF_MT_FRAME_RATE=128849018881 (30,1);MF_MT_PIXEL_ASPECT_RATIO=4294967297 (1,1);MF_MT_ALL_SAMPLES_INDEPENDENT=1;MF_MT_FRAME_RATE_RANGE_MIN=128849018881 (30,1);MF_MT_SAMPLE_SIZE=153600;MF_MT_VIDEO_PRIMARIES=2;MF_MT_INTERLACE_MODE=2;MF_MT_FRAME_RATE_RANGE_MAX=128849018881 (30,1);MF_MT_SUBTYPE=MFVideoFormat_YUY2 
8000,2ED0 21:51:38.41109 CTopologyHelpers::TraceNode @ Node 1 @000001B0B3C2B030 ID:1F4000000003, 1 inputs, 2 outputs, type 3, MF_TOPONODE_PRIMARYOUTPUT=0 
8000,2ED0 21:51:38.41109 CTopologyHelpers::TraceObject @ Tee @0000000000000000 {00000000-0000-0000-0000-000000000000} ((null)), (null) 
8000,2ED0 21:51:38.41111 CTopologyHelpers::TraceStream @ Input stream 0, connected to node @000001B0B3C00430 stream 0, MT: MF_MT_FRAME_SIZE=1374389534960 (320,240);MF_MT_AVG_BITRATE=36864000;MF_MT_YUV_MATRIX=2;MF_MT_MAJOR_TYPE=MEDIATYPE_Video;MF_MT_VIDEO_LIGHTING=3;MF_MT_DEFAULT_STRIDE=640;MF_MT_VIDEO_CHROMA_SITING=6;MF_MT_AM_FORMAT_TYPE=FORMAT_VIDEOINFO2;MF_MT_FIXED_SIZE_SAMPLES=1;MF_MT_VIDEO_NOMINAL_RANGE=2;MF_MT_FRAME_RATE=128849018881 (30,1);MF_MT_PIXEL_ASPECT_RATIO=4294967297 (1,1);MF_MT_ALL_SAMPLES_INDEPENDENT=1;MF_MT_FRAME_RATE_RANGE_MIN=128849018881 (30,1);MF_MT_SAMPLE_SIZE=153600;MF_MT_VIDEO_PRIMARIES=2;MF_MT_INTERLACE_MODE=2;MF_MT_FRAME_RATE_RANGE_MAX=128849018881 (30,1);MF_MT_SUBTYPE=MFVideoFormat_YUY2 
8000,2ED0 21:51:38.41112 CTopologyHelpers::TraceStream @ Output stream 0, connected to node @000001B0B3C2ADB0 stream 0, MT: MF_MT_FRAME_SIZE=1374389534960 (320,240);MF_MT_AVG_BITRATE=36864000;MF_MT_YUV_MATRIX=2;MF_MT_MAJOR_TYPE=MEDIATYPE_Video;MF_MT_VIDEO_LIGHTING=3;MF_MT_DEFAULT_STRIDE=640;MF_MT_VIDEO_CHROMA_SITING=6;MF_MT_AM_FORMAT_TYPE=FORMAT_VIDEOINFO2;MF_MT_FIXED_SIZE_SAMPLES=1;MF_MT_VIDEO_NOMINAL_RANGE=2;MF_MT_FRAME_RATE=128849018881 (30,1);MF_MT_PIXEL_ASPECT_RATIO=4294967297 (1,1);MF_MT_ALL_SAMPLES_INDEPENDENT=1;MF_MT_FRAME_RATE_RANGE_MIN=128849018881 (30,1);MF_MT_SAMPLE_SIZE=153600;MF_MT_VIDEO_PRIMARIES=2;MF_MT_INTERLACE_MODE=2;MF_MT_FRAME_RATE_RANGE_MAX=128849018881 (30,1);MF_MT_SUBTYPE=MFVideoFormat_YUY2 
8000,2ED0 21:51:38.41114 CTopologyHelpers::TraceStream @ Output stream 1, connected to node @000001B0B3C29130 stream 0, MT: MF_MT_FRAME_SIZE=1374389534960 (320,240);MF_MT_AVG_BITRATE=36864000;MF_MT_YUV_MATRIX=2;MF_MT_MAJOR_TYPE=MEDIATYPE_Video;MF_MT_VIDEO_LIGHTING=3;MF_MT_DEFAULT_STRIDE=640;MF_MT_VIDEO_CHROMA_SITING=6;MF_MT_AM_FORMAT_TYPE=FORMAT_VIDEOINFO2;MF_MT_FIXED_SIZE_SAMPLES=1;MF_MT_VIDEO_NOMINAL_RANGE=2;MF_MT_FRAME_RATE=128849018881 (30,1);MF_MT_PIXEL_ASPECT_RATIO=4294967297 (1,1);MF_MT_ALL_SAMPLES_INDEPENDENT=1;MF_MT_FRAME_RATE_RANGE_MIN=128849018881 (30,1);MF_MT_SAMPLE_SIZE=153600;MF_MT_VIDEO_PRIMARIES=2;MF_MT_INTERLACE_MODE=2;MF_MT_FRAME_RATE_RANGE_MAX=128849018881 (30,1);MF_MT_SUBTYPE=MFVideoFormat_YUY2 
8000,2ED0 21:51:38.41115 CTopologyHelpers::TraceNode @ Node 2 @000001B0B3C2ACF0 ID:1F4000000002, 1 inputs, 0 outputs, type 0, MF_TOPONODE_STREAMID=0;MF_TOPONODE_NOSHUTDOWN_ON_REMOVE=0;MF_TOPONODE_TRANSFORM_OBJECTID={D23E6477-B104-4707-81CB-E1CA19A07016};{B8AA3129-DFC9-423A-8ACD-1D82850A3D1F}[email protected] 
8000,2ED0 21:51:38.41115 CTopologyHelpers::TraceObject @ Sink @000001B0B3C2A048 {D23E6477-B104-4707-81CB-E1CA19A07016} (C:\Windows\SYSTEM32\MF.dll), (null) 
8000,2ED0 21:51:38.41115 CTopologyHelpers::TraceStream @ Input stream 0, connected to node @000001B0B3C2ADB0 stream 0, MT: > 
8000,2ED0 21:51:38.41116 CTopologyHelpers::TraceNode @ Node 3 @000001B0B3C2ADB0 ID:1F4000000008, 1 inputs, 1 outputs, type 2, MF_TOPONODE_TRANSFORM_OBJECTID={CF862982-23B0-4E3D-8C76-D03FEF084AF8} 
8000,2ED0 21:51:38.41116 CTopologyHelpers::TraceObject @ MFT @000001B0B3C2B0F0 {CF862982-23B0-4E3D-8C76-D03FEF084AF8} (C:\Windows\SYSTEM32\MFCORE.DLL), MFT_SUPPORT_DYNAMIC_FORMAT_CHANGE=1 
8000,2ED0 21:51:38.41118 CTopologyHelpers::TraceStream @ Input stream 0, connected to node @000001B0B3C2B030 stream 0, MT: MF_MT_FRAME_SIZE=1374389534960 (320,240);MF_MT_AVG_BITRATE=36864000;MF_MT_YUV_MATRIX=2;MF_MT_MAJOR_TYPE=MEDIATYPE_Video;MF_MT_VIDEO_LIGHTING=3;MF_MT_DEFAULT_STRIDE=640;MF_MT_VIDEO_CHROMA_SITING=6;MF_MT_AM_FORMAT_TYPE=FORMAT_VIDEOINFO2;MF_MT_FIXED_SIZE_SAMPLES=1;MF_MT_VIDEO_NOMINAL_RANGE=2;MF_MT_FRAME_RATE=128849018881 (30,1);MF_MT_PIXEL_ASPECT_RATIO=4294967297 (1,1);MF_MT_ALL_SAMPLES_INDEPENDENT=1;MF_MT_FRAME_RATE_RANGE_MIN=128849018881 (30,1);MF_MT_SAMPLE_SIZE=153600;MF_MT_VIDEO_PRIMARIES=2;MF_MT_INTERLACE_MODE=2;MF_MT_FRAME_RATE_RANGE_MAX=128849018881 (30,1);MF_MT_SUBTYPE=MFVideoFormat_YUY2 
8000,2ED0 21:51:38.41120 CTopologyHelpers::TraceStream @ Output stream 0, connected to node @000001B0B3C2ACF0 stream 0, MT: MF_MT_FRAME_SIZE=1374389534960 (320,240);MF_MT_AVG_BITRATE=36864000;MF_MT_YUV_MATRIX=2;MF_MT_MAJOR_TYPE=MEDIATYPE_Video;MF_MT_VIDEO_LIGHTING=3;MF_MT_DEFAULT_STRIDE=640;MF_MT_VIDEO_CHROMA_SITING=6;MF_MT_AM_FORMAT_TYPE=FORMAT_VIDEOINFO2;MF_MT_FIXED_SIZE_SAMPLES=1;MF_MT_VIDEO_NOMINAL_RANGE=2;MF_MT_FRAME_RATE=128849018881 (30,1);MF_MT_PIXEL_ASPECT_RATIO=4294967297 (1,1);MF_MT_ALL_SAMPLES_INDEPENDENT=1;MF_MT_FRAME_RATE_RANGE_MIN=128849018881 (30,1);MF_MT_SAMPLE_SIZE=153600;MF_MT_VIDEO_PRIMARIES=2;MF_MT_INTERLACE_MODE=2;MF_MT_FRAME_RATE_RANGE_MAX=128849018881 (30,1);MF_MT_SUBTYPE=MFVideoFormat_YUY2 
8000,2ED0 21:51:38.41120 CTopologyHelpers::TraceNode @ Node 4 @000001B0B3C29130 ID:1F4000000004, 1 inputs, 0 outputs, type 0, MF_TOPONODE_STREAMID=0;MF_TOPONODE_NOSHUTDOWN_ON_REMOVE=0 
8000,2ED0 21:51:38.41120 CMFTopologyNodeDetours::GetGUID @000001B0B3C29130 attribute not found guidKey = MF_TOPONODE_TRANSFORM_OBJECTID 
8000,2ED0 21:51:38.41121 CTopologyHelpers::TraceObject @ UnknownType @0000000000000000 {00000000-0000-0000-0000-000000000000} ((null)), (null) 
8000,2ED0 21:51:38.41121 CTopologyHelpers::TraceStream @ Input stream 0, connected to node @000001B0B3C2B030 stream 1, MT: > 
8000,2ED0 21:51:38.41121 CTopologyHelpers::Trace @000001B0B3C2A8E0 MF_TOPOLOGY_RESOLUTION_STATUS = 0 
8000,2ED0 21:51:38.41121 CTopologyHelpers::Trace @000001B0B3C2A8E0 >>>>>>>>>>>> queued topology 
8000,229C 21:51:38.41144 CTopologyHelpers::TraceNode @ Node 0 @000001B0B3C00430 ID:1F4000000001, 0 inputs, 1 outputs, type 1, MF_TOPONODE_MARKIN_HERE=1;MF_TOPONODE_MARKOUT_HERE=1;MF_TOPONODE_MEDIASTART=0 (0,0);[email protected];[email protected];[email protected];{9C27891A-ED7A-40E1-88E8-B22727A024EE}=1 
8000,229C 21:51:38.41145 CTopologyHelpers::TraceObject @ Source @000001B0B3BEFB80 {00000000-0000-0000-0000-000000000000} (C:\Windows\SYSTEM32\MFCORE.DLL), MFMEDIASOURCE_CHARACTERISTICS=0x00000005 
8000,229C 21:51:38.41147 CTopologyHelpers::TraceStream @ Output stream 0, connected to node @000001B0B3C2B030 stream 0, MT: MF_MT_FRAME_SIZE=1374389534960 (320,240);MF_MT_AVG_BITRATE=36864000;MF_MT_YUV_MATRIX=2;MF_MT_MAJOR_TYPE=MEDIATYPE_Video;MF_MT_VIDEO_LIGHTING=3;MF_MT_DEFAULT_STRIDE=640;MF_MT_VIDEO_CHROMA_SITING=6;MF_MT_AM_FORMAT_TYPE=FORMAT_VIDEOINFO2;MF_MT_FIXED_SIZE_SAMPLES=1;MF_MT_VIDEO_NOMINAL_RANGE=2;MF_MT_FRAME_RATE=128849018881 (30,1);MF_MT_PIXEL_ASPECT_RATIO=4294967297 (1,1);MF_MT_ALL_SAMPLES_INDEPENDENT=1;MF_MT_FRAME_RATE_RANGE_MIN=128849018881 (30,1);MF_MT_SAMPLE_SIZE=153600;MF_MT_VIDEO_PRIMARIES=2;MF_MT_INTERLACE_MODE=2;MF_MT_FRAME_RATE_RANGE_MAX=128849018881 (30,1);MF_MT_SUBTYPE=MFVideoFormat_YUY2 
8000,229C 21:51:38.41147 CTopologyHelpers::TraceNode @ Node 1 @000001B0B3C2B030 ID:1F4000000003, 1 inputs, 2 outputs, type 3, MF_TOPONODE_PRIMARYOUTPUT=0;{9C27891A-ED7A-40E1-88E8-B22727A024EE}=1 
8000,229C 21:51:38.41148 CTopologyHelpers::TraceObject @ Tee @0000000000000000 {00000000-0000-0000-0000-000000000000} ((null)), (null) 
8000,229C 21:51:38.41149 CTopologyHelpers::TraceStream @ Input stream 0, connected to node @000001B0B3C00430 stream 0, MT: MF_MT_FRAME_SIZE=1374389534960 (320,240);MF_MT_AVG_BITRATE=36864000;MF_MT_YUV_MATRIX=2;MF_MT_MAJOR_TYPE=MEDIATYPE_Video;MF_MT_VIDEO_LIGHTING=3;MF_MT_DEFAULT_STRIDE=640;MF_MT_VIDEO_CHROMA_SITING=6;MF_MT_AM_FORMAT_TYPE=FORMAT_VIDEOINFO2;MF_MT_FIXED_SIZE_SAMPLES=1;MF_MT_VIDEO_NOMINAL_RANGE=2;MF_MT_FRAME_RATE=128849018881 (30,1);MF_MT_PIXEL_ASPECT_RATIO=4294967297 (1,1);MF_MT_ALL_SAMPLES_INDEPENDENT=1;MF_MT_FRAME_RATE_RANGE_MIN=128849018881 (30,1);MF_MT_SAMPLE_SIZE=153600;MF_MT_VIDEO_PRIMARIES=2;MF_MT_INTERLACE_MODE=2;MF_MT_FRAME_RATE_RANGE_MAX=128849018881 (30,1);MF_MT_SUBTYPE=MFVideoFormat_YUY2 
8000,229C 21:51:38.41151 CTopologyHelpers::TraceStream @ Output stream 0, connected to node @000001B0B3C2ADB0 stream 0, MT: MF_MT_FRAME_SIZE=1374389534960 (320,240);MF_MT_AVG_BITRATE=36864000;MF_MT_YUV_MATRIX=2;MF_MT_MAJOR_TYPE=MEDIATYPE_Video;MF_MT_VIDEO_LIGHTING=3;MF_MT_DEFAULT_STRIDE=640;MF_MT_VIDEO_CHROMA_SITING=6;MF_MT_AM_FORMAT_TYPE=FORMAT_VIDEOINFO2;MF_MT_FIXED_SIZE_SAMPLES=1;MF_MT_VIDEO_NOMINAL_RANGE=2;MF_MT_FRAME_RATE=128849018881 (30,1);MF_MT_PIXEL_ASPECT_RATIO=4294967297 (1,1);MF_MT_ALL_SAMPLES_INDEPENDENT=1;MF_MT_FRAME_RATE_RANGE_MIN=128849018881 (30,1);MF_MT_SAMPLE_SIZE=153600;MF_MT_VIDEO_PRIMARIES=2;MF_MT_INTERLACE_MODE=2;MF_MT_FRAME_RATE_RANGE_MAX=128849018881 (30,1);MF_MT_SUBTYPE=MFVideoFormat_YUY2 
8000,229C 21:51:38.41152 CTopologyHelpers::TraceStream @ Output stream 1, connected to node @000001B0B3C29130 stream 0, MT: MF_MT_FRAME_SIZE=1374389534960 (320,240);MF_MT_AVG_BITRATE=36864000;MF_MT_YUV_MATRIX=2;MF_MT_MAJOR_TYPE=MEDIATYPE_Video;MF_MT_VIDEO_LIGHTING=3;MF_MT_DEFAULT_STRIDE=640;MF_MT_VIDEO_CHROMA_SITING=6;MF_MT_AM_FORMAT_TYPE=FORMAT_VIDEOINFO2;MF_MT_FIXED_SIZE_SAMPLES=1;MF_MT_VIDEO_NOMINAL_RANGE=2;MF_MT_FRAME_RATE=128849018881 (30,1);MF_MT_PIXEL_ASPECT_RATIO=4294967297 (1,1);MF_MT_ALL_SAMPLES_INDEPENDENT=1;MF_MT_FRAME_RATE_RANGE_MIN=128849018881 (30,1);MF_MT_SAMPLE_SIZE=153600;MF_MT_VIDEO_PRIMARIES=2;MF_MT_INTERLACE_MODE=2;MF_MT_FRAME_RATE_RANGE_MAX=128849018881 (30,1);MF_MT_SUBTYPE=MFVideoFormat_YUY2 
8000,229C 21:51:38.41153 CTopologyHelpers::TraceNode @ Node 2 @000001B0B3C2ACF0 ID:1F4000000002, 1 inputs, 0 outputs, type 0, MF_TOPONODE_STREAMID=0;MF_TOPONODE_NOSHUTDOWN_ON_REMOVE=0;MF_TOPONODE_TRANSFORM_OBJECTID={D23E6477-B104-4707-81CB-E1CA19A07016};{9C27891A-ED7A-40E1-88E8-B22727A024EE}=1;{B8AA3129-DFC9-423A-8ACD-1D82850A3D1F}[email protected] 
8000,229C 21:51:38.41153 CTopologyHelpers::TraceObject @ Sink @000001B0B3C2A048 {D23E6477-B104-4707-81CB-E1CA19A07016} (C:\Windows\SYSTEM32\MF.dll), (null) 
8000,229C 21:51:38.41153 CTopologyHelpers::TraceStream @ Input stream 0, connected to node @000001B0B3C2ADB0 stream 0, MT: > 
8000,229C 21:51:38.41154 CTopologyHelpers::TraceNode @ Node 3 @000001B0B3C2ADB0 ID:1F4000000008, 1 inputs, 1 outputs, type 2, MF_TOPONODE_TRANSFORM_OBJECTID={CF862982-23B0-4E3D-8C76-D03FEF084AF8};{9C27891A-ED7A-40E1-88E8-B22727A024EE}=1 
8000,229C 21:51:38.41155 CTopologyHelpers::TraceObject @ MFT @000001B0B3C2B0F0 {CF862982-23B0-4E3D-8C76-D03FEF084AF8} (C:\Windows\SYSTEM32\MFCORE.DLL), MFT_SUPPORT_DYNAMIC_FORMAT_CHANGE=1;{9C27891A-ED7A-40E1-88E8-B22727A024EE}=1 
8000,229C 21:51:38.41156 CTopologyHelpers::TraceStream @ Input stream 0, connected to node @000001B0B3C2B030 stream 0, MT: MF_MT_FRAME_SIZE=1374389534960 (320,240);MF_MT_AVG_BITRATE=36864000;MF_MT_YUV_MATRIX=2;MF_MT_MAJOR_TYPE=MEDIATYPE_Video;MF_MT_VIDEO_LIGHTING=3;MF_MT_DEFAULT_STRIDE=640;MF_MT_VIDEO_CHROMA_SITING=6;MF_MT_AM_FORMAT_TYPE=FORMAT_VIDEOINFO2;MF_MT_FIXED_SIZE_SAMPLES=1;MF_MT_VIDEO_NOMINAL_RANGE=2;MF_MT_FRAME_RATE=128849018881 (30,1);MF_MT_PIXEL_ASPECT_RATIO=4294967297 (1,1);MF_MT_ALL_SAMPLES_INDEPENDENT=1;MF_MT_FRAME_RATE_RANGE_MIN=128849018881 (30,1);MF_MT_SAMPLE_SIZE=153600;MF_MT_VIDEO_PRIMARIES=2;MF_MT_INTERLACE_MODE=2;MF_MT_FRAME_RATE_RANGE_MAX=128849018881 (30,1);MF_MT_SUBTYPE=MFVideoFormat_YUY2 
8000,229C 21:51:38.41158 CTopologyHelpers::TraceStream @ Output stream 0, connected to node @000001B0B3C2ACF0 stream 0, MT: MF_MT_FRAME_SIZE=1374389534960 (320,240);MF_MT_AVG_BITRATE=36864000;MF_MT_YUV_MATRIX=2;MF_MT_MAJOR_TYPE=MEDIATYPE_Video;MF_MT_VIDEO_LIGHTING=3;MF_MT_DEFAULT_STRIDE=640;MF_MT_VIDEO_CHROMA_SITING=6;MF_MT_AM_FORMAT_TYPE=FORMAT_VIDEOINFO2;MF_MT_FIXED_SIZE_SAMPLES=1;MF_MT_VIDEO_NOMINAL_RANGE=2;MF_MT_FRAME_RATE=128849018881 (30,1);MF_MT_PIXEL_ASPECT_RATIO=4294967297 (1,1);MF_MT_ALL_SAMPLES_INDEPENDENT=1;MF_MT_FRAME_RATE_RANGE_MIN=128849018881 (30,1);MF_MT_SAMPLE_SIZE=153600;MF_MT_VIDEO_PRIMARIES=2;MF_MT_INTERLACE_MODE=2;MF_MT_FRAME_RATE_RANGE_MAX=128849018881 (30,1);MF_MT_SUBTYPE=MFVideoFormat_YUY2 
8000,229C 21:51:38.41159 CTopologyHelpers::TraceNode @ Node 4 @000001B0B3C29130 ID:1F4000000004, 1 inputs, 0 outputs, type 0, MF_TOPONODE_STREAMID=0;MF_TOPONODE_NOSHUTDOWN_ON_REMOVE=0;{9C27891A-ED7A-40E1-88E8-B22727A024EE}=1 
8000,229C 21:51:38.41159 CMFTopologyNodeDetours::GetGUID @000001B0B3C29130 attribute not found guidKey = MF_TOPONODE_TRANSFORM_OBJECTID 
8000,229C 21:51:38.41159 CTopologyHelpers::TraceObject @ UnknownType @0000000000000000 {00000000-0000-0000-0000-000000000000} ((null)), (null) 
8000,229C 21:51:38.41159 CTopologyHelpers::TraceStream @ Input stream 0, connected to node @000001B0B3C2B030 stream 1, MT: > 
8000,229C 21:51:38.41159 CTopologyHelpers::Trace @000001B0B3C2A8E0 MF_TOPOLOGY_RESOLUTION_STATUS = 0 
8000,229C 21:51:38.41159 CTopologyHelpers::Trace @000001B0B3C2A8E0

ответ

1

Раковина Писатель не является действительным объектом, чтобы быть для Выходной узел. Единственными действительными объектами для этого являются IMFStreamSink и IMFActivate.

После того, как IMFStreamSink был правильно создан и настроен, все остальное начало работать как шарм.

шаги по созданию IMFStreamSink для использования в SetObject() вызова узла:

  1. Создать IMFByteStream (например, через MFCreateFile())
  2. Создание IMFMediaSink на основе этого IMFByteStream и установить его (как описано в MSDN)
  3. Используя GetStreamSinkById(), получите объект IMFStreamSink - тот, который будет использоваться в вызове SetObject() узла!