Какой самый быстрый способ получить тысячи фотографий с камеры, изменить размер и загрузить их в Интернет?

В настоящее время для съемки спортивных событий мой рабочий процесс состоит из следующих последовательных шагов:

  • снимать на месте (JPEG для файлов меньшего размера и минимальной постобработки);
  • пакетное изменение размера всех фотографий до размера, который лучше подходит для Интернета и ограниченных ресурсов хостинга;
  • загрузить измененные фотографии.

С сотнями или тысячами фотографий с мероприятия (и я не использую непрерывную съемку) все это занимает несколько часов, особенно потому, что на первом этапе фотографии просто лежат там. Из журналов сервера я вижу, что люди ожидают, что фотографии прибудут раньше.

Я предполагаю, что рабочий процесс выполнялся бы быстрее, если бы шаги можно было распараллелить, чтобы изменение размера и загрузка первых фотографий начинались мгновенно, а не через много часов после их съемки.

Я знаю, что есть карты Eye-Fi для передачи фотографий на локальное устройство Wi-Fi, но что дальше? Есть ли какое-нибудь программное обеспечение, которое будет изменять размер входящих фотографий и отправлять их по мобильному широкополосному каналу (через FTP или HTTP)? Я действительно думаю, что изменение размера должно происходить локально, так как широкополосный доступ не такой широкий.

Имея под рукой Raspberry Pi, я был бы заинтересован в решении на базе Linux, но мобильное приложение тоже подойдет. Ноутбук был бы слишком тяжелым и энергоемким, чтобы носить его с собой весь день.

Моей первой мыслью, когда я увидел «тысячи фотографий», было «пожалуйста, не надо!». Что касается решения для Linux, не должно быть слишком сложно связать вместе imagemagick, чтобы изменить размер фотографий, а затем использовать, возможно curl, или FTP-клиент для выполнения загрузки.
Несмотря на то, что его передача в стиле push больше подходит для вашей цели, я бы не рекомендовал Eye-Fi для использования с Linux из-за его неадекватной совместимости только с обратной разработкой сторонних производителей. К Toshiba FlashAir можно легко получить доступ через HTTP.

Ответы (5)

Если вы можете настроить Raspberry Pi для прослушивания через WiFi, я предлагаю следующее:

  1. Установите imagemagick на Pi, чтобы получить convertутилиту.
  2. Настройте Pi с SSID и NFS/SMB/любой общей папкой для получения изображений.
  3. Напишите что-нибудь в bash, например for x in *.jpg; do convert -resize 50% $x; done. Вы также можете опросить папку на Pi на наличие изменений, так что вы можете выполнить это относительно быстро — см.: этот поток SE . Обратите внимание, что convertразмер изображения будет изменен на месте, поэтому не нужно обрабатывать надоедливые дубликаты файлов.
  4. Выполните выбранную вами команду, чтобы отправить изображения на ваш сервер sshd/ftpd/httpd сразу после завершения команды изменения размера в сценарии.

обратите внимание Это мой первый ответ SE (хотя я давно читаю photo.se, надеюсь, он будет полезен.)

Это более или менее то, что я имел в виду, когда писал свой комментарий, но это правильный ответ, поэтому +1.
Wi-Fi на pi — непростая задача, так как он не всегда потребляет достаточно энергии от USB-порта, если вы можете сделать модем, который будет более эффективным для одного.
Кроме того, использование RAW + jpeg может быть быстрее, а обработка изображений в камере будет намного лучше, чем преобразование на пи, если Convert не сможет использовать графический процессор?
Джеймс, хорошее замечание по поводу USB пи, но мой, кажется, очень надежен на источнике ~ 1A 5V. Одно из этих портативных зарядных устройств для сотовых телефонов, подключенных через порт micro usb, должно хорошо работать для питания. Что касается raw/jpg, я думаю, что для общей эффективности лучше всего снимать в таком низком разрешении, как это вообще возможно. Пи не нужно изменять размер, его можно просто загрузить, если jpg-файлы камеры достаточно малы.

Photo Mechanic — один из наиболее широко используемых продуктов фотожурналистами из-за скорости, с которой вы можете читать свои карты, сканировать эскизы, добавлять метаданные и загружать изображения. Это отдельная программа, которая работает на Mac и Windows — я не думаю, что есть версия для Linux.

Если у вас есть карта Eye-Fi, Photo Mechanic может отслеживать папки на наличие новых файлов во время их съемки (так как Eye-Fi загружает изображения, Photo Mechanic может их импортировать). Он может добавлять данные IPTC из шаблона по мере их чтения. Предполагается, что он будет очень быстрым при создании миниатюр, а также при поиске и пометке. Он может обрезать, масштабировать и загружать в различные сервисы, а также имеет функцию загрузки в удаленный каталог через HTTP.

Я не использовал его сам, поэтому не могу сказать, что он отвечает всем вашим требованиям, но он признан лучшим продуктом для каталогизации изображений в полевых условиях.

У меня нет Eye-Fi (пока), но если он может изменять размер и загружать, портативная точка доступа Wi-Fi к мобильному устройству — это все, что мне нужно (и на самом деле уже есть).
Похоже, что на данный момент масштабирование происходит на сервере Eye-Fi , эффективно тратя много данных (и времени) по сети.
Извините, я отредактирую, когда я сказал «если у вас есть карта Eye-Fi, она может отслеживать», я имел в виду, что Photo Mechanic может отслеживать папку, в которую пишет Eye-Fi.

В Photoshop есть средство создания пакетной галереи (из папки), поэтому вы также получите миниатюры и большие изображения.

File-> Automate-> Web Photo Gallery=> Установите Optionsфлажок выбора

Обновление: я использовал и любил XnView - http://www.xnview.com/ Я вижу, что у него также есть версия для Linux. Это намного легче, чем Photoshop

Недостатком этого является то, что вам понадобится ноутбук для запуска Photoshop (который ОП уже исключил как слишком тяжелый и энергоемкий); Я не думаю, что Photoshop будет работать на Raspberry Pi.
Извините, я не знал о возможностях Raspberry Pi, но эта опция Photoshop также доступна для более старых версий — я не могу сказать, но журнал версий подойдет.

Я использовал Nikon D4, который встраивает IPTC в RAWS и jpg. Перед мероприятием я загружаю в камеру пакет шаблонов. D4 подключен к моему Pi через USB, но вы также можете подключить его через Wi-Fi, чтобы избежать проводов. RAWS хранятся на жестком диске, а jpg-файлы отправляются в мою базу данных с помощью php-скриптов для извлечения метаданных и отображения их рядом с миниатюрами на моем веб-сайте. Pi подключен к моему серверу через Ethernet, Wi-Fi или 3G. Камера и пи работают от батареек. Ключ Wi-Fi на Pi работает без использования USB-концентратора с питанием. Пи запускает cronjobs, а также ждет новых файлов. Он также может изменять размер файлов с помощью gphoto2. Лучший. Лоран

Звучит как аккуратный подход, но я думаю, что для компьютерного уровня этого сайта действительно требуется более высокий уровень детализации, чтобы быть полезным объяснением.

Я бы посоветовал инвестировать в программиста.

Программист может легко создать скрипт на Python для изменения размера изображения и скопировать его в каталог, находящийся под контролем Dropbox.

Затем Dropbox загружает изображение с измененным размером в свой облачный сервис. И вы делитесь своей папкой Dropbox со своими клиентами.

Вуаля!

  1. Снимите привязку/eyefi/wifi, чтобы скопировать в каталог.
  2. Опрос/уведомление скрипта Python при появлении нового файла.
  3. Попросите скрипт Python открыть файл, изменить размер, может быть, даже добавить водяной знак для хорошей меры.
  4. Скопируйте скрипт Python в папку Dropbox.
  5. Запустите Dropbox.exe на вашем компьютере.

www.dropbox.com