How to install nginx-module-media-framework (x86_64)
Kaltura Live Media Framework
Install
sudo yum -y install https://extras.getpagespeed.com/release-latest.rpm sudo yum -y install yum-utils sudo yum-config-manager --enable getpagespeed-extras-mainline sudo yum -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
| Package | Size | Changelog |
|---|---|---|
| nginx-module-media-framework-1.31.1+2.1.0-1.amzn2023.gps.x86_64 | 466 KiB |
Danila Vershinin (2026-06-12) - Carefully updated to upstream module version 2.1.0 |
| nginx-module-media-framework-1.31.1+2.0.6-7.amzn2023.gps.x86_64 | 466 KiB |
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. |
| nginx-module-media-framework-1.31.1+2.0.6-6.amzn2023.gps.x86_64 | 466 KiB |
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. |
| nginx-module-media-framework-1.31.0+2.0.6-6.amzn2023.gps.x86_64 | 466 KiB |
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. |
| nginx-module-media-framework-1.29.8+2.0.6-6.amzn2023.gps.x86_64 | 466 KiB |
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. |
| nginx-module-media-framework-1.29.7+2.0.6-6.amzn2023.gps.x86_64 | 466 KiB |
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. |
| nginx-module-media-framework-1.29.6+2.0.6-6.amzn2023.gps.x86_64 | 466 KiB |
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. |
| nginx-module-media-framework-1.29.6+2.0.6-5.amzn2023.gps.x86_64 | 466 KiB |
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. |
| nginx-module-media-framework-1.29.6+2.0.6-4.amzn2023.gps.x86_64 | 465 KiB |
Danila Vershinin (2026-03-12) - Fix SIGSEGV at worker startup: ensure NGX_COMPILER is a string literal, not __GNUC__ integer |
| nginx-module-media-framework-1.29.6+2.0.6-2.amzn2023.gps.x86_64 | 465 KiB |
Danila Vershinin (2026-03-12) - Fix SIGSEGV at worker startup: removed -D NGX_COMPILER=__GNUC__ (integer, not string) |
| nginx-module-media-framework-1.29.6+2.0.6-1.amzn2023.gps.x86_64 | 465 KiB |
Danila Vershinin (2025-11-14) - Carefully updated to upstream module version 2.0.6 |