Nginx-RTMP را روی CentOS 7 تنظیم کنید

RTMP برای ارائه محتوای زنده عالی است. هنگامی که RTMP با FFmpeg جفت می شود ، جریان ها می توانند به کیفیت های مختلفی تبدیل شوند. Vultr برای این برنامه ها عالی است زیرا عملکرد سریع و اختصاصی CPU را ارائه می دهد. شبکه جهانی Vultr همچنین تضمین می کند که شما می توانید محتوای با کیفیت بالا را با حداقل تأخیر تحویل بگیرید. بیا شروع کنیم!

نصب Nginx و Nginx-RTMP

ابزارهای لازم برای کامپایل Nginx و Nginx-RTMP را از منبع نصب کنید.

sudo yum install pcre pcre-devel openssl openssl-devel zlib zlib-devel -y

یک فهرست کار درست کنید و به آن تغییر دهید.

mkdir ~/working
cd ~/working

منابع Nginx و Nginx-RTMP را بارگیری کنید.

wget http://nginx.org/download/nginx-1.9.7.tar.gz
wget https://github.com/arut/nginx-rtmp-module/archive/master.zip

بسته unzip را نصب کنید.

sudo yum install unzip

منبع Nginx و Nginx-RTMP را استخراج کنید.

tar -xvf nginx-1.9.7.tar.gz
unzip v1.2.1.zip

به فهرست Nginx تغییر دهید.

cd nginx-1.9.7

ماژول ها را برای کامپایل کردن در Nginx اضافه کنید. Nginx-RTMP گنجانده شده است.

./configure --add-module=../nginx-rtmp-module-1.2.1/

Nginx را با Nginx-RTMP کامپایل و نصب کنید.

make
sudo make install

یک فایل واحد SystemD برای Nginx ایجاد کنید.

sudo nano /usr/lib/systemd/system/nginx.service

پرونده را با محتوای زیر پر کنید.

[Unit]
Description=nginx - high performance web server
Documentation=https://nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target

[Service]
Type=forking
PIDFile=/var/run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t -c /etc/nginx/nginx.conf
ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID

[Install]
WantedBy=multi-user.target

سرویس Nginx را شروع و فعال کنید.

sudo systemctl start nginx.service

به SystemD بگویید تا خدمات Nginx را بطور خودکار در بوت شروع کند.

systemctl enable nginx.service

نصب FFmpeg

سیستم را نصب epel-releaseو به روز کنید.

sudo yum install epel-release -y
sudo yum update -y
sudo shutdown -r now

مخزن Nux را نصب کنید.

sudo rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm

FFmpeg و بسته های توسعه آن را نصب کنید.

sudo yum install ffmpeg ffmpeg-devel -y

پیکربندی Nginx-RTMP و FFmpeg

پرونده پیکربندی Nginx را باز کنید.

sudo nano /usr/local/nginx/conf/nginx.conf

موارد زیر را به پیکربندی اضافه کنید.

    rtmp {
        server {
            listen 1935;
            chunk_size 4096;

            application live {
                    live on;
                    record off;
                    exec ffmpeg -i rtmp://localhost/live/$name -threads 1 -c:v libx264 -profile:v baseline -b:v 350K -s 640x360 -f flv -c:a aac -ac 1 -strict -2 -b:a 56k rtmp://localhost/live360p/$name;
            }
            application live360p {
                    live on;
                    record off;
        }
    }
}

پس از افزودن آن متن پیکربندی ، می توانید تنظیمات مانند میزان ضربان ویدیویی ، میزان صدای بیت و رزولوشن را تنظیم کنید. این تغییرات فقط در جریان کیفیت پایین تر اعمال می شود. برای افزودن کیفیت بیشتر ، خط exec FFmpeg را کپی و جایگذاری کنید و تنظیمات را تغییر دهید. همچنین باید یک برنامه جدید ایجاد کنید. شما می توانید این کار را با کپی کردن و چسباندن مثال live360 که گنجانده شده است ، انجام دهید. فراموش نکنید که خط exec FFmpeg را با آدرس برنامه جدید به روز کنید. شما می توانید این کار را با تغییر آدرس RTMP نهایی در خط exec FFmpeg انجام دهید.

توجه: تغییر مقدار پس از آن -b:vباعث تغییر میزان میزان بیت فیلم خواهد شد. این در کیلوبیت در ثانیه اندازه گیری می شود. تغییر مقدار پس از -b:aآن میزان تغییر صدای بیت را تغییر می دهد. این در کیلوبیت در ثانیه اندازه گیری می شود. تغییر مقدار پس از -sآن وضوح را تغییر می دهد.

پرونده را با فشار دادن CTRL+ ذخیره کنید X.

Nginx را مجدداً راه اندازی کنید.

sudo service nginx restart

توجه: برای بهترین کارایی ، هر جریان در حال تبدیل باید هسته پردازنده مخصوص به خود را داشته باشد. به عنوان مثال ، اگر دو کیفیت ، 360P و 480P از یک جریان 720P ایجاد می شوند ، باید از نمونه Vultr با حداقل دو هسته CPU استفاده شود.

یادداشت امنیتی

اگر از دیوار آتش استفاده می کنید ، باید مطمئن شوید TCP 1935که مجاز است.

پیکربندی فعلی اجازه می دهد تا هر کسی به سرور شما جریان یابد. ما فقط می توانیم با دادن مجوز انتشار برخی آدرسهای IP خاص ، این را برطرف کنیم. پیکربندی Nginx را باز کنید.

sudo nano /usr/local/nginx/conf/nginx.conf

به دنبال سطرهای زیر باشید.

live on;
record off;

موارد زیر را به هر مجموعه از خطوط فوق اضافه کنید. 0.0.0.0به آدرس IP واقعی خود تغییر دهید.

allow publish 127.0.0.1;
allow publish 0.0.0.0;
deny publish all;

پیکربندی اکنون چیزی شبیه به شکل زیر خواهد بود.

rtmp {
    server {
        listen 1935;
        chunk_size 4096;

        application live {
                live on;
                record off;
                allow publish 127.0.0.1;
                allow publish 0.0.0.0;
                deny publish all;
                exec ffmpeg -i rtmp://localhost/live/$name -threads 1 -c:v libx264 -profile:v baseline -b:v 350K -s 640x360 -f flv -c:a aac -ac 1 -strict -2 -b:a 56k rtmp://localhost/live360p/$name;
        }
        application live360p {
                live on;
                record off;
                allow publish 127.0.0.1;
                allow publish 0.0.0.0;
                deny publish all;
        }
    }
}

پرونده را با فشار دادن CTRL+ ذخیره کنید X.

Nginx را مجدداً راه اندازی کنید.

sudo service nginx restart

پیکربندی نرم افزار برای کار با Nginx-RTMP

برنامه های پخش جریان معمولاً دارای دو قسمت برای اطلاعات اتصال هستند. قسمت اول معمولاً برای اطلاعات سرور و قسمت دوم معمولاً برای نام جریان یا کلید است. اطلاعاتی که باید در هر فیلد قرار دهید ذکر شده است. نام جریان یا کلید را می توان در هر چیزی تنظیم کرد.

Field 1: rtmp://your.vultr.ip/live/
Field 2: stream-key-you-set

برای مشاهده جریانها ، پیوندهای زیر را در دستگاه پخش کننده RTMP باز کنید.

rtmp://your.vultr.ip/live/stream-key-you-set
rtmp://your.vultr.ip/live360p/stream-key-you-set


Leave a Comment

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

با استفاده از یک سیستم متفاوت؟ Anchor CMS یک سیستم مدیریت محتوا (CMS) بسیار ساده و بسیار سبک ، بسیار آزاد و آزاد است.

اشتراک NFS را در Debian تنظیم کنید

اشتراک NFS را در Debian تنظیم کنید

NFS یک سیستم فایل مبتنی بر شبکه است که به رایانه ها اجازه می دهد تا از طریق شبکه رایانه ای به فایلها دسترسی پیدا کنند. این راهنما توضیح می دهد که چگونه می توانید پوشه ها را روی NF قرار دهید

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

هنگام راه اندازی سرور جدید لینوکس ، به روزرسانی سیستم های هسته و سایر بسته ها تا آخرین نسخه پایدار یک روش توصیه شده است. در این مقاله

نحوه نصب Matomo Analytics در Fedora 28

نحوه نصب Matomo Analytics در Fedora 28

با استفاده از یک سیستم متفاوت؟ Matomo (سابقا پیویک) یک بستر تحلیلی منبع باز است ، یک جایگزین باز برای Google Analytics. منبع Matomo میزبان o

یک سرور TeamTalk را در لینوکس تنظیم کنید

یک سرور TeamTalk را در لینوکس تنظیم کنید

TeamTalk یک سیستم کنفرانس است که به کاربران امکان می دهد مکالمات صوتی / تصویری با کیفیت بالا ، چت متنی ، انتقال فایل ها و صفحه های به اشتراک بگذارند. من

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

Vultr یک ویژگی را فراهم می کند که به شما امکان می دهد با ایجاد یک نمونه جدید ، کلیدهای SSH را از قبل نصب کنید. این اجازه می دهد تا به کاربر root دسترسی داشته باشید ، با این حال ، th

نحوه نصب انجمن NodeBB در FreeBSD 12

نحوه نصب انجمن NodeBB در FreeBSD 12

با استفاده از یک سیستم متفاوت؟ NodeBB یک نرم افزار انجمن مبتنی بر Node.js است. از سوکت های وب برای تعامل فوری و اعلامیه های زمان واقعی استفاده می کند. NodeB

نصب و راه اندازی ZNC در اوبونتو

نصب و راه اندازی ZNC در اوبونتو

ZNC یک پیشرانه پیشرفته شبکه IRC است که تمام وقت بهم متصل می شود تا مشتری IRC بتواند بدون از دست دادن جلسه گپ قطع یا وصل شود.

نحوه نصب Ranger Terminal File Manager در لینوکس

نحوه نصب Ranger Terminal File Manager در لینوکس

رنجر یک مدیر فایل مبتنی بر خط فرمان است که دارای کلیدهای اتصال VI است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد