Я использую Airnef для загрузки изображений с моей цифровой зеркальной камеры Canon через python.
Я могу загрузить одно изображение без проблем, поэтому кажется, что вся настройка работает.Однако, как только я хочу загрузить другой образ, программа зависает.Код для меня выглядит довольно сложным.
Два месяца назад я опубликовал ветку на TestCams.com.Поскольку я не получил ответа, я публикую его как вопрос, связанный с Python.
Тема
Я запускаю airnef из командной строки.
python airnefcmd.py --ipaddress 192.168.188.84 --action getfiles --realtimedownload only --downloadexec open @pf@ --transferorder newestfirst --outputdir "/Users/besi/Desktop"
Я подключаю камеру, и мне показывают некоторую информацию о моем соединении:
Соединение установлено с 192.168.188.84:15740
Модель камеры «Canon EOS 200D», S / N «XXXXXXXXX»
Теперь airnef сообщает мне:
Ожидание загрузки фотографий с камеры в реальном времени.
Нажмите, чтобы выйти |
Я беруизображение и загружает его, как и ожидалось:
Загрузка «IMG_0084.JPG»: 96%
Airnef затем показывает еще немного информации об этом изображении:
/ Users / besi / Desktop / IMG_0084.JPG [размер = 4 602 357] за 1,94 секунды (2,26 МБ / с)
Я делаю еще несколько снимков, но они не загружаются ипрограммное обеспечение зависает при запросе:
Ожидание загрузки фотографий с камеры в режиме реального времени.Нажмите для выхода \
Исходный код
Исходный код доступен на веб-сайте Airnef.Я создал github-репозиторий для решения этой проблемы: https://github.com/besi/airnef
Место, где застрял код, находится по адресу airnefcmd.py: 3203
Обновление: сообщение на форуме
Вот ссылка на сообщение на форуме на testcams.com
Обновление: отладка
Первое изображение под названием IMG_0182 было загружено успешно.
В выходных данных отладки я вижу, что делается новый снимок, но загрузка пропускается, поскольку предыдущий образ уже был загружен:
См. airnef.log: 433:
filename = DCIM\100CANON\IMG_0183.JPG
captureDateSt = 20180926T071759
modificationDateStr= 20180926T071758
Найдено новое изображение с именем IMG_0183.JPG
.
Skipping IMG_0182.JPG - already downloaded this session
Старое загруженное изображение, по-видимому, блокирует дальнейшую обработку текущего изображения.
Skipping 100CANON - object is not file - MTP_OBJFORMAT_Assocation (0x3001)
Skipping DCIM - object is not file - MTP_OBJFORMAT_Assocation (0x3001)
Waiting for realtime photos from camera to download. Press <ctrl-c> to exit -execMtpOp: MTP_OP_GetObjectHandles - CmdReq payload:
Теперь мы снова попадаем в цикл, ожидая больше фотографий.Когда делается новый снимок, та же самая процедура повторяется.