KixBit Transcoder HLS Video Platform, Multi Quality, Auto Extract Subtitle From MKV, This Video Transcoder & Encoding System was developed to process, secure, and distribute video content efficiently, stably, and professionally. Specifically designed for the needs of modern streaming platforms, this system is capable of automatic transcoding to various resolutions, applying advanced encryption, and optimizing compatibility across devices and networks.
# uploads/live/hls
location /uploads/live/hls/ {
add_header Cache-Control no-cache;
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Headers *;
add_header Access-Control-Allow-Methods "GET, OPTIONS";
types {
application/vnd.apple.mpegurl m3u8;
video/mp2t ts;
}
}
# location index detection
location / {
try_files $uri $uri/ /index.php?$query_string;
}
# user/setting
location ~ ^/user/setting.php/(.*)$ {
rewrite ^/user/setting.php/(.*)$ /user/setting.php?p=$1 last;
include enable-php-81.conf;
}
# withdraw
location /withdraw {
rewrite ^/withdraw$ /user/withdraw.php last;
}
# referrals
location /referrals {
rewrite ^/referrals$ /user/referrals.php last;
}
# analysis
location /analysis {
rewrite ^/analysis$ /user/analysis.php last;
}
# revenue
location /revenue {
rewrite ^/revenue$ /user/revenue.php last;
}
# video_analytics_deafult
location /video_analytics {
rewrite ^/video_analytics$ /user/video_analytics.php last;
}
# user/reels_analytics
location /user/reels_analytics {
rewrite ^/user/reels_analytics$ /user/reels_analytics.php last;
}
# download page
location /download {
try_files $uri $uri/ /frontend/download.php?$query_string;
}
# download_engine
rewrite ^/download_engine\.php$ /frontend/download_engine.php last;
location ~ \.php$ {
include enable-php-81.conf;
}
# URL: /api-docs
rewrite ^/api_docs$ /frontend/themes/api_docs.php last;
# URL: /api-docs/some-page
rewrite ^/api_docs/([^/]+)$ /frontend/themes/api_docs.php?page=$1 last;
location ~ \.php$ {
include enable-php-81.conf;
}
# Konfigurasi Proxy
location /proxy/ {
rewrite ^/proxy/(.*)$ /inc/proxy.php?url=$1 last;
}
# sitemap.xml
location = /sitemap.xml {
rewrite ^/sitemap.xml$ /sitemap.php last;
}
# Handle request /verify_otp
location /verify_otp {
rewrite ^/verify_otp$ /user/verify_otp.php last;
}
# upload
location /upload {
rewrite ^/upload$ /user/upload.php last;
}
# live/broadcast
location /live/broadcast {
rewrite ^/live/broadcast$ /live/broadcast.php last;
}
# hls-transcoder
location /hls-transcoder {
rewrite ^/hls-transcoder$ /user/hls-transcoder.php last;
}
# reels_transcoder
location /reels_transcoder {
rewrite ^/reels_transcoder$ /user/reels_transcoder.php last;
}
# admin/app_login
location = /admin/app_login {
rewrite ^/admin/app_login$ /admin/app_login.php last;
}
# login page
location = /login {
rewrite ^/login$ /user/login.php last;
}
# register page
location = /register {
rewrite ^/register$ /user/register.php last;
}
# stream_reels/series
location = /stream_reels/series {
rewrite ^/stream_reels/series$ /stream_reels/series.php last;
}
# live_dashboard
location = /live_dashboard {
rewrite ^/live_dashboard$ /user/live/live_dashboard.php last;
}
# live_restream
location = /live_restream {
rewrite ^/live_restream$ /user/live/live_restream.php last;
}
# live_producer
location = /user/live_producer {
rewrite ^/user/live_producer$ /user/live/live_producer.php last;
}
# live_player
location = /live_player {
rewrite ^/live_player$ /player/live_player.php last;
}
# live_analytics
location = /live_analytics {
rewrite ^/live_analytics$ /user/live/live_analytics.php last;
}
# earn_money
rewrite ^/earn_money\.php$ /frontend/themes/earn_money.php last;
location ~ \.php$ {
include enable-php-81.conf;
}
# finance
location /finance {
rewrite ^/finance$ /user/finance.php last;
}
# upload_reels
location /user/upload_reels {
rewrite ^/user/upload_reels$ /user/upload_reels.php last;
}
# video_reels
location /user/video_reels {
rewrite ^/user/video_reels$ /user/video_reels.php last;
}
# premium
location = /premium {
rewrite ^/premium$ /frontend/themes/premium.php last;
}
# Eksekusi PHP
location ~ \.php$ {
try_files $uri =404;
include enable-php-81.conf;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
# proof_payment
rewrite ^/proof_payment\.php$ /frontend/themes/proof_payment.php last;
location ~ \.php$ {
include enable-php-81.conf;
}
# dmca_report
rewrite ^/dmca_report\.php$ /frontend/themes/dmca_report.php last;
location ~ \.php$ {
include enable-php-81.conf;
}
# stream
rewrite ^/stream\.php$ /frontend/themes/stream.php last;
location ~ \.php$ {
include enable-php-81.conf;
}
# file utama payment_membership
rewrite ^/payment_membership\.php$ /frontend/themes/payment_membership.php last;
# memproses pembayaran
rewrite ^/process_payment\.php$ /inc/process_payment.php last;
# Routing Khusus Gateway
rewrite ^/gateway_paypal\.php$ /inc/gateway_paypal.php last;
rewrite ^/gateway_stripe\.php$ /inc/gateway_stripe.php last;
rewrite ^/razorpay_gateway\.php$ /inc/razorpay_gateway.php last;
rewrite ^/midtrans_gateway\.php$ /inc/midtrans_gateway.php last;
rewrite ^/xendit_gateway\.php$ /inc/xendit_gateway.php last;
rewrite ^/triPay_gateway\.php$ /inc/triPay_gateway.php last;
rewrite ^/ipaymu_gateway\.php$ /inc/ipaymu_gateway.php last;
rewrite ^/winpay_gateway\.php$ /inc/winpay_gateway.php last;
rewrite ^/faspay_gateway\.php$ /inc/faspay_gateway.php last;
# lokasi PHP
location ~ \.php$ {
include enable-php-81.conf;
}
# stream
location /stream/ {
rewrite ^/stream/(.*)$ /frontend/themes/stream.php break;
include fastcgi_params;
fastcgi_pass unix:/tmp/php-cgi-81.sock;
fastcgi_param SCRIPT_FILENAME $document_root/frontend/themes/stream.php;
add_header Content-Type "text/html; charset=UTF-8";
}
# switcher player
location /switcher/ {
rewrite ^/switcher/([a-zA-Z0-9_-]+)$ /switcher/index.php?id=$1 last;
}
# video hls default
location /hls {
gzip on;
gzip_types application/vnd.apple.mpegurl;
gzip_proxied any;
add_header Access-Control-Allow-Origin * always;
add_header Access-Control-Allow-Methods "GET, HEAD, OPTIONS" always;
add_header Access-Control-Allow-Headers "Origin, Range, Accept, Content-Type, X-Requested-With" always;
add_header Access-Control-Expose-Headers "Content-Length, Content-Range, Accept-Ranges" always;
if ($request_method = OPTIONS) {
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods "GET, HEAD, OPTIONS";
add_header Access-Control-Allow-Headers "Origin, Range, Accept, Content-Type, X-Requested-With";
add_header Access-Control-Max-Age 1728000;
add_header Content-Length 0;
return 204;
}
types {
application/vnd.apple.mpegurl m3u8;
video/mp2t ts;
}
sendfile on;
tcp_nopush on;
tcp_nodelay on;
directio 512;
output_buffers 1 128k;
location ~ \.ts$ {
expires 1y;
add_header Cache-Control "public, max-age=31536000, immutable";
}
location ~ \.m3u8$ {
add_header Cache-Control "no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0";
expires -1;
}
}
location /video_reel {
gzip on;
gzip_types application/vnd.apple.mpegurl;
gzip_proxied any;
add_header Access-Control-Allow-Origin * always;
add_header Access-Control-Allow-Methods "GET, HEAD, OPTIONS" always;
add_header Access-Control-Allow-Headers "Origin, Range, Accept, Content-Type, X-Requested-With" always;
add_header Access-Control-Expose-Headers "Content-Length, Content-Range, Accept-Ranges" always;
if ($request_method = OPTIONS) {
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods "GET, HEAD, OPTIONS";
add_header Access-Control-Allow-Headers "Origin, Range, Accept, Content-Type, X-Requested-With";
add_header Access-Control-Max-Age 1728000;
add_header Content-Length 0;
return 204;
}
types {
application/vnd.apple.mpegurl m3u8;
video/mp2t ts;
}
sendfile on;
tcp_nopush on;
tcp_nodelay on;
directio 512;
output_buffers 1 128k;
location ~ /video_reel/.*\.ts$ {
expires 1y;
add_header Cache-Control "public, max-age=31536000, immutable";
add_header Access-Control-Allow-Origin * always;
}
location ~ /video_reel/.*\.m3u8$ {
add_header Cache-Control "no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0";
expires -1;
add_header Access-Control-Allow-Origin * always;
}
}
#Step 1 : Updating System Repository
# Bash
sudo apt update && sudo apt upgrade -y
#Step 2 : Remove FFmpeg if there is a duplicate of another version of ffmpeg
# Bash
sudo apt remove ffmpeg && sudo apt autoremove
#Step 3 : Installing FFmpeg
# Bash
sudo apt install ffmpeg -y
#Step 4 : Installation Verification
# Bash
ffmpeg -version
#Step 5 : Viewing Library Dependencies
# Bash
ldd $(which ffmpeg)