Я очень новичок в EDSDK, поэтому извините за, возможно, странный вопрос в некоторых местах.
Можно ли получить доступ к видеопотоку и выполнить некоторые операции с ним с помощью SDK? Это нужно для захвата очень тонкой области (ROI) определенного размера (например, 3840×10 пикселей) для каждого кадра в потоке. Не воспринимайте это как сжатие кадра, соотношения сторон не требуются. Эти изменения в теории должны увеличить fps, потому что область будет очень тонкой (Должны ли они?).
Я нашел фрагмент кода ниже из официальной документации, хотя кажется, что это вызывает только отправку сигнала для запуска и остановки записи видео, без доступа к потоку.
EdsUInt32 record_start = 4; // Begin movie shooting
err = EdsSetPropertyData(cameraRef, kEdsPropID_Record, 0, sizeof(record_start), &record_start);
EdsUInt32 record_stop = 0; // End movie shooting
err = EdsSetPropertyData(cameraRef, kEdsPropID_Record, 0, sizeof(record_stop), &record_stop);
Буду очень благодарен за любые предложения и помощь. Пожалуйста, не стесняйтесь спрашивать любую дополнительную информацию!
Этот SDK не позволяет вам напрямую получать доступ к потокам высокого разрешения, как это делают промышленные камеры. Вы можете получить доступ к изображениям в реальном времени через USB ~ 960×640 в формате JPG. Запись фильма возможна только на внутреннюю карту и после прекращения передачи результата. За пределами этого SDK использование внешнего рекордера HDMI обеспечивает доступ к каналу почти в реальном времени с максимальным FullHD1080p, в зависимости от модели и не всегда «чистым».
Других решений пока нет …