Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
themeRDark
decoder_priority=OPENH264,FF

7. Перезапустить WCS.

Снижение порога многопоточного кодирования

По умолчанию, многопоточное кодирование включается для профилей 720p. В некоторых случая необходимо снизить этот порог, чтобы кодировать по профилям 480p также в два и более потоков

Code Block
themeRDark
video_encoder_second_thread_threshold=408950

Уменьшение количества выделений памяти при декодировании

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

Code Block
themeRDark
decoder_buffer_pool=true

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

Code Block
themeRDark
decoder_buffer_pool_stats=true

Статистика доступна по запросу (только в формате JSON)

Code Block
languagebash
themeRDark
curl -s 'http://localhost:8081/?action=stat&format=json&groups=decoder_buffer_pool_stats'

и сгруппирована по пулам

Code Block
languagejs
themeRDark
{
  "decoder_buffer_pool_stats": {
    "decoder_buffer_pool_info": {
      "decoder_buffer_pool_info_pools": {
        "3072x1536": {
          "decoder_buffer_pool_width": 3072,
          "decoder_buffer_pool_height": 1536,
          "decoder_buffer_pool_size_bytes": 84934656,
          "decoder_buffer_pool_leased": 6,
          "decoder_buffer_pool_allocated": 12
        },
        "1280x720": {
          "decoder_buffer_pool_width": 1280,
          "decoder_buffer_pool_height": 720,
          "decoder_buffer_pool_size_bytes": 688584704,
          "decoder_buffer_pool_leased": 0,
          "decoder_buffer_pool_allocated": 3605
        }
      },
      "decoder_buffer_pool_total_size_bytes": 773519360
    }
  }
}

Здесь

  • decoder_buffer_pool_total_size_bytes - общий размер памяти, выделенной под пулы, в байтах
  • decoder_buffer_pool_width - высота картинки
  • decoder_buffer_pool_height - ширина картинки
  • decoder_buffer_pool_size_bytes - размер памяти, выделенной под пул, в байтах
  • decoder_buffer_pool_leased - количество используемых буферов
  • decoder_buffer_pool_allocated - количество выделенных буферов в пуле

При необходимости, память, выделенная под неиспользуемые буфера, может быть очищена при помощи REST API запроса /debug/decoder/shrink_buffer_provider_pools

Освобождение памяти, выделенной под неиспользуемые буфера

REST-запрос должен быть HTTP/HTTPS POST запросом в таком виде:

  • HTTP: http://test.flashphoner.com:8081/rest-api/debug/decoder/shrink_buffer_provider_pools
  • HTTPS: https://test.flashphoner.com:8444/rest-api/debug/decoder/shrink_buffer_provider_pools

Здесь:

  • test.flashphoner.com - адрес WCS-сервера
  • 8081 - стандартный REST / HTTP порт WCS-сервера
  • 8444 - стандартный HTTPS порт
  • rest-api - обязательная часть URL
  • /debug/decoder/shrink_buffer_provider_pools - используемый REST-метод

REST запросы необходимо отправлять на Transcoder сервер.

REST-метод

Статусы ответа

Описание

/debug/decoder/shrink_buffer_provider_pools

200 – OK

500 – Internal Server Error

Сжать пулы буферов декодирования

Транскодирование по двум и более профилям с одинаковыми параметрами видео

...