Локальный экспорт архива

Локальный экспорт архива запускает экспорт архива и сохраняет полученный файл в папку, предназначенную для сохранения скриншотов. Поддерживаются несколько методов локального экспорта архива:

  • Методы выполняемые при помощи объекта интерфейс оператора.

    Примеры запросов без возможности гибкой настройки параметров экспорта:

        https://192.168.1.200:8080/objects/operatorgui_jmxwAqxm/archive_export?channel_name_or_guid=HsnnGa9B&start_time_YYYYMMDD_HHMMSS=2014-11-26 17:34:00&end_time_YYYYMMDD_HHMMSS=2014-11-26 17:35:00&filename=export.avi&archive_on_device=0&sid=e03qD0eg
        https://192.168.1.200:8080/objects/operatorgui_jmxwAqxm/archive_export_ss?channel_name_or_guid=HsnnGa9B&start_time_YYYYMMDD_HHMMSS=2014-11-26 17:34:00&end_time_YYYYMMDD_HHMMSS=2014-11-26 17:35:00&filename=export.avi&archive_on_device=0&sid=e03qD0eg
    		

    Пример запроса с возможностью гибкой настройки параметров экспорта:

        https://192.168.1.200:8080/objects/operatorgui_jmxwAqxm/archive_export_ex?channel_name_or_guid=HsnnGa9B&start_time_YYYYMMDD_HHMMSS=2014-11-26 17:34:00&end_time_YYYYMMDD_HHMMSS=2014-11-26 17:35:00&filename=export.avi&sid=e03qD0eg&options={"is_hardware": 0, "video_codec": "MPEG4", "video_bitrate":3000}
    		

    Важно

    Методы локального экспорта архива выполненные при помощи объекта интерфейс оператора не работают при следующих условиях:

    • метод запускается на "слепом" сервере с TRASSIR OS (с неактивным интерфейсом оператора);
    • метод запускается на сервере с Windows, где серверное приложение запущено в виде службы.
  • Метод выполняемый при помощи объекта канал. Данный метод не зависит от доступности интерфейса оператора и может быть запущен на любом сервере.

    Примеры запроса:

        https://192.168.1.200:8080/objects/CKq5LLiO/export_archive?start_time_YYYYMMDD_HHMMSS=2014-11-26 17:34:00&end_time_YYYYMMDD_HHMMSS=2014-11-26 17:35:00&filename=export.avi&sid=e03qD0eg&options={"is_hardware": 1}
    		

Ключевые элементы запросов:

  • archive_export, archive_export_ss - команды вызова экспорта архива основного или дополнительного потока;
  • archive_export_ex, [GUID_канала]/export_archive - команды вызова настраиваемого экспорта архива любого потока;
  • operatorgui_[GUID_интерфейса] - идентификатор интерфейса оператора;
  • channel_name_or_guid=[GUID_канала] - идентификатор канала, с которого производится экспорт;
  • start_time_YYYYMMDD_HHMMSS=2014-11-26 17:34:00 - дата и время начала экспорта;
  • end_time_YYYYMMDD_HHMMSS=2014-11-26 17:35:00 - дата и время конца экспорта;
  • filename=[имя_файла.avi] - имя файла;
  • archive_on_device=0 - выбор источника архива:

    • 0 - архив на сервере;
    • 1 - архив на устройстве.
  • options={[параметры]} - набор параметров экспорта в формате JSON:

    "is_hardware" - выбор источника архива:

    • 0 - архив на сервере (значение по умолчанию);
    • 1 - архив на устройстве.

    "want_ss" - выбор потока:

    • 0 - основной поток (значение по умолчанию);
    • 1 - дополнительный поток.

    "video_codec" - выбор видеокодека, в который будет закодирован файл экспорта:

    • "" - без перекодирования (значение по умолчанию);
    • "MPEG4" - перекодировать в MPEG4;
    • "WMV" - перекодировать в WMV (в TRASSIR OS не поддерживается).

    "video_resolution" - выбор разрешения видеопотока (если используется перекодирование):

    • "" - исходное разрешение видеопотока (значение по умолчанию);
    • "2560x1920", "1920x1080", "1600x1200", "1280x1024", "1280x960", "1280x720", "1024x768", "800x600", "720x576", "704x576", "640x480", "352x288", "320x240", "176x144" - варианты разрешений.

    "video_bitrate" - выбор битрейта экспортируемого файла (если используется перекодирование):

    • 200, 400, 600, 800, 1000, 2000, 2500, 3000, 5000, 7500, 10000, 16000 - варианты битрейта.

    "audio_codec" - выбор аудиокодека, в который будет закодирован звук в файле экспорта:

    • "" - без перекодирования (значение по умолчанию);
    • "No audio" - без звука;
    • "PCM" - перекодировать в PCM;
    • "WMA" - перекодировать в WMA (в TRASSIR OS не поддерживается).

    "audio_bitrate" - выбор битрейта аудиопотока экспортируемого файла (если используется перекодирование в WMA):

    • 64, 128 - варианты битрейта.

    "need_channel_name_watermark" - впечатать имя канала на видео:

    • 0 - не впечатывать (значение по умолчанию);
    • 1 - впечатать.

    "need_timestamp_watermark" - впечатать дату и время на видео:

    • 0 - не впечатывать (значение по умолчанию);
    • 1 - впечатать.

    "watermark_align" - положение текста на видео:

    • 1 - верхний левый угол (значение по умолчанию);
    • 2 - верхний правый угол;
    • 3 - нижний левый угол;
    • 4 - нижний правый угол.

    "need_fliprotate" - поворот и отражение видео:

    • 0 - не использовать (значение по умолчанию);
    • 1 - использовать.

    "watermark_need_figures" - впечатать фигуры или субтитры на видео:

    • 0 - не впечатывать (значение по умолчанию);
    • 1 - впечатать.
  • sid=[id_сессии] - id сессии, в которой выполняется запрос (см. пример Получение id сессии).

Подсказка

Время указывается с учетом часового пояса, настроенного на сервере.

Пример ответа сервера:

{
    "success" : "1",
}
Команды управления задачами локального экспорта

Запрос текущих задач локального экспорта

Пример запроса:

    https://192.168.1.200:8080/export_tasks?sid=e03qD0eg

Ключевые элементы запроса:

Пример ответа сервера:

[{
	"additional_data" : "{\n\t\"extras\" : \n\t{\n\t\t\"bluring\" : false,\n\t\t\"class_detection\" : \"head\",\n\t\t\"need_research_detectors\" : false\n\t}\n}\n",
	"created_ts" : "1571922911615786",
	"export_finish_ts" : "0",
	"export_start_ts" : "1571922911615786",
	"filename" : "C:/VMS/Screenshots/TR-D8121WDIR2v2 1_20191024-132119--20191024-132727.avi",
	"fragments" :
	[

			{
				"channel" : "qK30lb5k_OsnJuSGv",
				"end_ts" : "1571911565998605",
				"filename" : "",
				"start_ts" : "1571911180998846"
			},
			{
				"channel" : "qK30lb5k_OsnJuSGv",
				"end_ts" : "1571912847980932",
				"filename" : "",
				"start_ts" : "1571912479981939"
			}

	],
	"id" : "uzbijs1A",
	"out_format" : 0,
	"postponed_until_ts" : "1571922910083000",
	"progress_percent" : "30",
	"state" : 1,
	"state_desc" : "in_progress"
}]

В данном примере ответ содержит:

  • "additional_data" - набор параметров задачи локального экспорта;
  • "created_ts" - время создания задачи локального экспорта;
  • "export_start_ts" - время начала выполнения задачи локального экспорта;
  • "export_finish_ts" - время завершения задачи локального экспорта;
  • "filename" - путь и имя файла (если экспортируется несколько фрагментов);
  • "fragments" - список экспортируемых фрагментов:

    • "channel" - уникальный идентификатор канала в формате [GUID_канала]_[GUID_сервера];
    • "start_ts" - время начала экспортируемого фрагмента;
    • "end_ts" - время конца экспортируемого фрагмента;
    • "filename" - путь и имя файла фрагмента (если экспортируется один фрагмент);
  • "id" - уникальный идентификатор задачи локального экспорта;
  • "out_format" - формат файла экспорта (0 - AVI, 1 - TRAVI);
  • "postponed_until_ts" - время запланированного запуска задачи (если используется отложенный экспорт);
  • "progress_percent" - процент завершения задачи;
  • "state" - статус задачи:

    • 0 - задача в ожидании;
    • 1 - задача выполняется;
    • 2 - задача завершена.
  • "state_desc" - описание статуса:

    • "postponed" - задача в ожидании;
    • "in_progress" - задача выполняется;
    • "completed" - задача завершена.

Подсказка

Время указывается в микросекундах в формате UNIX-время с учетом часового пояса, настроенного на сервере.

Запрос на удаление задачи локального экспорта

Пример запроса:

    https://192.168.1.200:8080/export_cancel?sid=e03qD0eg&task_id=uzbijs1A

Ключевые элементы запроса:

  • sid=[id_сессии] - id сессии, в которой выполняется запрос (см. пример Получение id сессии);
  • task_id=[id_задачи] - уникальный идентификатор задачи локального экспорта.

Пример ответа сервера:

{
    "success" : "1"
}