...
Code Block | ||
---|---|---|
| ||
decoder_priority=OPENH264,FF |
7. Перезапустить WCS.
Снижение порога многопоточного кодирования
По умолчанию, многопоточное кодирование включается для профилей 720p. В некоторых случая необходимо снизить этот порог, чтобы кодировать по профилям 480p также в два и более потоков
Code Block | ||
---|---|---|
| ||
video_encoder_second_thread_threshold=408950 |
Уменьшение количества выделений памяти при декодировании
Для уменьшения количества выделений памяти при декодировании в сборке 5.2.559 добавлена возможность использования пула буферов для декодированных картинок. Эта возможность включается настройкой
Code Block | ||
---|---|---|
| ||
decoder_buffer_pool=true |
В этом случае под каждое разрешение картинки выделяется пул буферов. По окончании использования буфера, он не удаляется, а возвращается в пул. Чтобы получить информацию об использовании памяти, необходимо включить вывод статистики при помощи настройки
Code Block | ||
---|---|---|
| ||
decoder_buffer_pool_stats=true |
Статистика доступна по запросу (только в формате JSON)
Code Block | ||||
---|---|---|---|---|
| ||||
curl -s 'http://localhost:8081/?action=stat&format=json&groups=decoder_buffer_pool_stats' |
и сгруппирована по пулам
Code Block | ||||
---|---|---|---|---|
| ||||
{
"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 | Сжать пулы буферов декодирования |
Транскодирование по двум и более профилям с одинаковыми параметрами видео
...