Я использую эту библиотеку: https://www.codeproject.com/Articles/688276/Canon-EDSDK-Tutorial-in-Csharp
У меня несколько камер (Canon EOS 1300D). Я загружаю их с помощью API:
CanonAPI canonAPI = new CanonAPI();
List<Camera> cameras = canonAPI.GetCameraList();
затем я делаю некоторые настройки (сохранять файлы на ПК, а не в камерах и открывать сеанс). После этого я хочу сделать сразу несколько фотографий. Вроде максимально близко друг к другу. Сейчас все, о чем я могу думать, это:
foreach (Camera camera in cameras)
{
camera.TakePhotoAsync();
}
К сожалению, этот подход имеет небольшую задержку. Но у нескольких камер (5) эта задержка составляет несколько 200-300 мс (кажется, не помню), и это слишком много.
Еще информация: для фотосъемки я использую WPF и кнопку. Камеры подключены через USB-концентратор, у них нет SD-карты, и я сохраняю фотографии прямо на компьютер. Все работает, нужно сразу фоткать.