Перейти к содержанию

FaceStream v.5.1.20#

Изменения

  • Теперь, вместе с отправкой исходного кадра в LUNA PLATFORM, отправляется заголовок X-Luna-Meta-rescale, содержащий коэффициент масштабирования исходного изображения в форме числа с плавающей запятой.

    Ранее при задании ширины исходного кадра для масштабирования (параметр size_source_frame) невозможно было определить координаты ограничивающего прямоугольника на исходном изображении, поскольку в LUNA PLATFORM отправлялись только координаты ограничивающего прямоугольника отмасштабированного изображения.

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

    Примечание. Реальный размер рассчитывается с абсолютной погрешностью менее 1 / (2 * коэффициент масштабирования).

    Например, полученное изображение имеет размер 200x113, а коэффициент масштабирования равен 0.104399, тогда реальный размер исходного изображения равен 1916x1082 (200/0.104399=1916, 113/0.104399=1082).

    Коэффициент масштабирования можно найти в LUNA PLATFORM:

    • в заголовке ответа на запрос "get image" к сервису LUNA API. Запрос должен быть выполнен с параметром запроса with_meta = 1
    • в файле "image_id.meta.json", расположенном рядом с исходным изображением в бакете исходных изображений хранилища LUNA Image Store

    Заголовок X-Luna-Meta-rescale отправляется только если включена отправка исходного кадра (параметр send_source_frame = 1). В обработчике LUNA PLATFORM также должна быть включена политика сохранения исходного изображения.

    Если для исходного кадра не выставлено масштабирование (параметр size_source_frame = 0), то значение заголовка ответа X-Luna-Meta-rescale будет равно 1.

  • В настройки сервиса LUNA Streams добавлена группа настроек <LUNA_STREAMS_HTTP_SETTINGS, содержащая настройки, отвечающие за обработку HTTP-подключений.

    Доступны следующие настройки:

    • request_timeout - продолжительность времени между моментом, когда новое открытое TCP-соединение передается на сервер, и моментом, когда получен весь HTTP-запрос. Значение (в секундах) - целое число, по умолчанию 60.
    • response_timeout - продолжительность времени между моментом, когда сервер передает HTTP-запрос приложению, и моментом, когда HTTP-ответ отправляется клиенту. Значение (в секундах) - целое число, по умолчанию 600.
    • request_max_size - насколько большим может быть запрос. Значение (в байтах) - целое число, по умолчанию 1 Гб.
    • keep_alive_timeout - тайм-аут поддержания активности HTTP. Значение (в секундах) - целое число, по умолчанию 15.

    См. подробную информацию по следующей ссылке: https://sanic.dev/en/guide/deployment/configuration.html#builtin-values

  • В настройки сервиса LUNA Streams добавлена настройка FORMAT, позволяющая указать формат логирования - default (стандартный формат вывода логов) и json (вывод логов в формате json).

Исправленные ошибки

  • Исправлена ошибка, при которой включение параметра send_source_frame могло приводить к понижению производительности FaceStream.

  • Исправлена ошибка в скрипте Docker Compose, из-за которой загрузка настроек LUNA Streams выполнялась через скрипт load_dump.py (старый способ, используемый в версиях 5.1.12 и ниже), а не через механизм миграций (новый способ, используемый в версиях 5.1.13 и выше).

    Примечание. Если предыдущая версия FaceStream запускалась через Docker Compose, то при обновлении необходимо дополнительно выполнить команду загрузки настроек через механизм миграций для предыдущей версии LUNA Streams v.0.5.17, а затем выполнить ту же команду загрузки настроек для новой версии LUNA Streams v.0.6.2. См. раздел "Миграция настроек" руководства по обновлению FaceStream.