У меня небольшая проблема.
Я получаю буфер RAW char * с камеры, и мне нужно добавить эти теги, прежде чем я смогу сохранить его на диск. Запись файла на диск и его повторное чтение не вариант, так как это будет происходить тысячи раз.
Данные буфера, которые я получаю от камеры, не содержат никакой информации EXIF, кроме ширины, высоты и пикселей на дюйм.
Есть идеи? (C++)





Какая разница? Почему выполнение этого действия с файлом на диске будет отличаться от выполнения этого действия в памяти?
Просто делайте то, что вы делаете после того, как прочитаете файл с диска ..
Насколько мне известно, данные EXIF в JPEG являются непрерывной частью файла. Так
Посмотрите на этот PDF, на странице 20 у вас есть диаграмма, показывающая, что вы должны были разместить или изменить свою exif-информацию. В чем разница с файлом на диске?
Содержит ли буфер JPEG вашей камеры раздел EXIF?
Нет, буфер JPEG с камеры не содержит раздела EXIF
Спасибо. Это помогает ... он отличается от стандарта JFIF
Возможно, вы захотите заглянуть в библиотеку Exiv2. Я знаю, что он может работать с файлами, но я полагаю, что он также имеет функции для работы с буферами памяти.
Обратите внимание, что Exiv2 не является бесплатным для коммерческого использования.
На самом деле это ужасное недоразумение. Exiv2 имеет двойную лицензию GPL и коммерческую. GPL имеет свои требования - да, но не запрещает вам использовать ее в коммерческих продуктах.
Извини за это. Так можно ли использовать Exiv2 как часть коммерческого продукта, если я не изменяю исходные файлы Exiv2 (но включаю его файлы заголовков из моих исходных файлов и ссылаюсь на его исходные файлы)?
Ваш коммерческий продукт должен иметь открытый исходный код и лицензию GPL. Это ограничение. Но на самом деле никто не запрещает вам его монетизировать. Отсюда мой комментарий по поводу недопонимания. В противном случае вы можете купить коммерческую лицензию.
Так что это не бесплатно. Вы платите, делая свой продукт открытым по определенной лицензии. Я по-прежнему считаю, что утверждение, что Exiv2 бесплатна для коммерческих продуктов, вводит в заблуждение (потому что это не бесплатно для большинства коммерческих продуктов).
➝ посмотрите на XMP Metadata Toolkit (Adobe, но несколько с открытым исходным кодом), в частности XMPFiles ...