Subscribe

How to install nginx-module-media-framework in CentOS/RHEL 9 (x86_64)

Kaltura Live Media Framework

License: BSD Vendor: GetPageSpeed, Inc. https://github.com/kaltura/media-framework

Install

sudo dnf -y install https://extras.getpagespeed.com/release-latest.rpm
sudo dnf -y install dnf-plugins-core
sudo dnf config-manager --enable getpagespeed-extras-mainline
sudo dnf -y install nginx-module-media-framework

Description

A distributed framework for live video streaming. The system is composed of multiple components, each one responsible for a specific function. Enable modules by placing at the top of your /etc/nginx/nginx.conf file: load_module modules/ngx_http_api_module.so; load_module modules/ngx_http_pckg_core_module.so; load_module modules/ngx_kmp_in_module.so; load_module modules/ngx_kmp_out_module.so; load_module modules/ngx_live_module.so; load_module modules/ngx_rtmp_kmp_module.so; load_module modules/ngx_rtmp_module.so; load_module modules/ngx_stream_kmp_cc_module.so; load_module modules/ngx_stream_kmp_rtmp_module.so; load_module modules/ngx_stream_ts_module.so; load_module modules/ngx_ts_kmp_module.so;

RPMs

Danila Vershinin (2026-03-12) - Fix SIGSEGV at worker startup caused by -DNGX_COMPILER=__GNUC__ in CC_OPT. · __GNUC__ is a preprocessor integer (e.g. 14), not a string. Kaltura's · ngx_http_live_api_module.c uses ngx_json_string(NGX_COMPILER) which expands · via ngx_string() to { sizeof(NGX_COMPILER)-1, (u_char*)NGX_COMPILER }. · With NGX_COMPILER=14, this became { 1, (u_char*)0xe } — a bogus pointer · that crashed in ngx_escape_json() during worker init_process. · The -D also shadowed nginx's own correct "#define NGX_COMPILER "gcc X.Y.Z"" · in ngx_auto_config.h because auto/define uses an #ifndef guard. · Fix: remove the -D entirely and let nginx's auto/cc/name handle it.
Danila Vershinin (2026-03-12) - Fix SIGSEGV at worker startup caused by -DNGX_COMPILER=__GNUC__ in CC_OPT. · __GNUC__ is a preprocessor integer (e.g. 14), not a string. Kaltura's · ngx_http_live_api_module.c uses ngx_json_string(NGX_COMPILER) which expands · via ngx_string() to { sizeof(NGX_COMPILER)-1, (u_char*)NGX_COMPILER }. · With NGX_COMPILER=14, this became { 1, (u_char*)0xe } — a bogus pointer · that crashed in ngx_escape_json() during worker init_process. · The -D also shadowed nginx's own correct "#define NGX_COMPILER "gcc X.Y.Z"" · in ngx_auto_config.h because auto/define uses an #ifndef guard. · Fix: remove the -D entirely and let nginx's auto/cc/name handle it.
Danila Vershinin (2026-03-12) - Fix SIGSEGV at worker startup: ensure NGX_COMPILER is a string literal, not __GNUC__ integer
Danila Vershinin (2026-03-12) - Fix SIGSEGV at worker startup: removed -D NGX_COMPILER=__GNUC__ (integer, not string)
Danila Vershinin (2025-11-14) - Carefully updated to upstream module version 2.0.6
Danila Vershinin (2025-11-14) - Carefully updated to upstream module version 2.0.6
Danila Vershinin (2025-11-14) - Carefully updated to upstream module version 2.0.6
Danila Vershinin (2025-11-14) - Carefully updated to upstream module version 2.0.6
Danila Vershinin (2025-11-04) - Carefully updated to upstream module version 2.0.5
Danila Vershinin (2025-10-28) - Carefully updated to upstream module version 2.0.3
Danila Vershinin (2025-10-06) - Carefully updated to upstream module version 2.0.1
Danila Vershinin (2025-10-06) - Carefully updated to upstream module version 2.0.1
Danila Vershinin (2025-09-15) - Carefully updated to upstream module version 2.0.0
Danila Vershinin (2025-05-06) - Carefully updated to upstream module version 1.30.1
Danila Vershinin (2025-05-06) - Carefully updated to upstream module version 1.30.1