To build static module nginx-vod-module, read this article: How to build nginx-vod-module on CentOS
CentOS 8: build dynamic module nginx-vod-module
Do like this article: CentOS 8: Install Lua dynamic module onto Nginx
Step 1: Install Nginx
Step 2: download sources
Do more: Download nginx-vod-module source:
[root@tutorialspots src]# git clone https://github.com/kaltura/nginx-vod-module.git Cloning into 'nginx-vod-module'... remote: Enumerating objects: 50, done. remote: Counting objects: 100% (50/50), done. remote: Compressing objects: 100% (45/45), done. remote: Total 6823 (delta 21), reused 17 (delta 5), pack-reused 6773 Receiving objects: 100% (6823/6823), 3.93 MiB | 6.34 MiB/s, done. Resolving deltas: 100% (5017/5017), done.
Step 3,4,5,6,7:
Step 8:
Do more:
[root@tutorialspots nginx-1.14.1]# rpm -ivh https://download1.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm Retrieving https://download1.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm warning: /var/tmp/rpm-tmp.YuyCv0: Header V3 RSA/SHA1 Signature, key ID 158b3811: NOKEY Verifying... ################################# [100%] Preparing... ################################# [100%] package rpmfusion-free-release-8-0.1.noarch is already installed
sudo dnf config-manager --enable PowerTools
yum install -y ffmpeg-devel
Result:
... Installed: SDL2-2.0.10-2.el8.x86_64 alsa-lib-1.2.1.2-3.el8.x86_64 ffmpeg-devel-4.2.3-4.el8.x86_64 ffmpeg-libs-4.2.3-4.el8.x86_64 flac-libs-1.3.2-9.el8.x86_64 gsm-1.0.17-5.el8.x86_64 jack-audio-connection-kit-1.9.12-8.el8.x86_64 lame-libs-3.100-6.el8.x86_64 libXtst-1.2.3-7.el8.x86_64 libaom-1.0.0-8.20190810git9666276.el8.x86_64 libass-0.14.0-4.el8.x86_64 libasyncns-0.8-14.el8.x86_64 libatomic-8.3.1-5.el8.0.2.x86_64 libavdevice-4.2.3-4.el8.x86_64 libbluray-1.0.2-3.el8.x86_64 libcdio-2.0.0-3.el8.x86_64 libcdio-paranoia-10.2+0.94+2-3.el8.x86_64 libdav1d-0.5.2-1.el8.x86_64 libdrm-2.4.100-1.el8.x86_64 libglvnd-1:1.2.0-6.el8.x86_64 libglvnd-glx-1:1.2.0-6.el8.x86_64 libmfx-1.25-4.el8.x86_64 libmodplug-1:0.8.9.0-9.el8.x86_64 libogg-2:1.3.2-10.el8.x86_64 libpciaccess-0.14-1.el8.x86_64 libsamplerate-0.1.9-1.el8.x86_64 libsndfile-1.0.28-10.el8.x86_64 libtheora-1:1.1.1-21.el8.x86_64 libv4l-1.14.2-3.el8.x86_64 libva-2.5.0-2.el8.x86_64 libvdpau-1.1.1-7.el8.x86_64 libvmaf-1.3.15-1.el8.x86_64 libvorbis-1:1.3.6-2.el8.x86_64 libvpx-1.7.0-6.el8.x86_64 libwayland-client-1.17.0-1.el8.x86_64 libxshmfence-1.3-2.el8.x86_64 mesa-filesystem-19.3.4-2.el8.x86_64 mesa-libGL-19.3.4-2.el8.x86_64 mesa-libglapi-19.3.4-2.el8.x86_64 ocl-icd-2.2.12-1.el8.x86_64 openal-soft-1.18.2-7.el8.x86_64 opencore-amr-0.1.5-7.el8.x86_64 opus-1.3-0.4.beta.el8.x86_64 pugixml-1.9-1.el8.x86_64 pulseaudio-libs-11.1-23.el8.x86_64 soxr-0.1.3-4.el8.x86_64 speex-1.2.0-1.el8.x86_64 srt-libs-1.4.1-3.el8.x86_64 vapoursynth-libs-48-7.el8.x86_64 vid.stab-1.1.0-12.20190213gitaeabc8d.el8.x86_64 vo-amrwbenc-0.1.3-8.el8.x86_64 x264-libs-0.157-12.20190717git34c06d1.el8.x86_64 x265-libs-3.1.2-1.el8.x86_64 xvidcore-1.3.7-1.el8.x86_64 zimg-2.9.3-1.el8.x86_64 zvbi-0.2.35-9.el8.x86_64 Complete!
Step 9: Configure and build dynamic module
export C_INCLUDE_PATH=/usr/include/ffmpeg cd "../nginx-${NGINX_VERSION}/" NGINX_CONFIGURE_ARGUMENTS=$(echo $(nginx -V 2>&1) | sed -nr '/configure arguments:/ s/.*configure arguments:([^"]+).*/\1/p'|sed 's/--with-ipv6 //g'|sed 's/-Wl,-z,relro -Wl,-z,now -specs=\/usr\/lib\/rpm\/redhat\/redhat-hardened-ld -Wl,-E/-Wl,-rpath,\/usr\/local\/lib/g') eval "CFLAGS=-Wno-error ./configure --add-dynamic-module=../ngx_devel_kit-0.3.1 --add-dynamic-module=../lua-nginx-module-0.10.15 --add-dynamic-module=../nginx-vod-module $NGINX_CONFIGURE_ARGUMENTS" make modules
Step 10: Move modules to modules-path
Step 11: Configure to load these modules configuration
echo -e "load_module /usr/lib64/nginx/modules/ndk_http_module.so;\nload_module /usr/lib64/nginx/modules/ngx_http_lua_module.so;\nload_module /usr/lib64/nginx/modules/ngx_http_vod_module.so;" > /usr/share/nginx/modules/lua.conf
Step 12,13