Я намерен создать адаптер, предоставляющий такие методы, как «StartCapture» и «StopCapture», используя mediafoundation, и хотел бы, чтобы несколько клиентов имели возможность доступа к этим методам одновременно с одного устройства веб-камеры.
В настоящее время код, который я видел в примерах, позволяет только одному потоку захватывать данные в файл (другой оказывается пустым).
Разрешает ли MediaFoundation одновременный доступ к устройству? Если так, как?
Устройства видеоввода традиционно использовались исключительно в качестве ресурсов. После того, как один клиент начал сеанс, другие клиенты не могут использовать камеру до тех пор, пока она не будет запущена во время текущего сеанса.
В Windows 10 Anniversary Update появился так называемый Frame Server, который является промежуточным слоем, который, как было объявлено, совместно использует камеру между клиентами при определенных обстоятельствах.
Насколько мне известно, это не работает. По крайней мере, он не работал для нескольких камер, которые я пробовал, и на данный момент общий доступ не работает с Windows 10 Creators Update. Цитируйте, возможно, хотя существуют определенные камеры / режимы, для которых эта функция реализует совместное использование.
Других решений пока нет …