بخش سوم - پخش زنده
- [ زمان انتشار : شنبه 6 مرداد 1397 ] [ برچسب ها: کانفیگ پخش زنده، config live stream، نصب ffmpeg بروی nginx، پخش زنده، آموزش راه اندازی لایو استریم، نصب وب سرور nginx ، ] [ 728 بار مشاهده شده ]
سلام وقت بخیر
امیدواریم بخش دوم پخش زنده رو مطالعه کرده باشید. در بخش دوم نصب سرور اوبونتو رو کوتاه مرور کردیم.
در این پست به سراغ نصب وب سرور انجینکس ( NGINX ) خواهیم رفت و مراحل نصب آنرا دنبال خواهیم کرد. نصب این وب سرور ساده می باشد و کل نصب این وب سرور توسط دستورات لینوکسی خواهد بود که در ادامه مطلب برای شما خواهیم آورد. در طول نصب وب سرور، کانفیگ و نصب ffmpeg هم آموزش داده شده است.
ابتدا ابزار لازم برای کامپایل Nginx و Nginx-RTMP را از منبع نصب کنید
sudo apt-get install build-essential libpcre3 libpcre3-dev libssl-dev
ساخت دایرکتوری
mkdir ~/working cd ~/working
دانلود بسته نصبی ماژول rtmp و وب سرور nginx
wget http://nginx.org/download/nginx-1.14.0.tar.gz wget https://github.com/arut/nginx-rtmp-module/archive/master.zip
نصب بسته unzip
sudo apt-get install unzip
خارج کردن محتویات بسته های فشرده شده
tar -zxvf nginx-1.14.0.tar.gz unzip master.zip
رفتن به مسیر وب سرور
cd nginx-1.14.0
اضافه کردن ماژول هایی که Nginx با آن کامپایل می شود. این ماژول در Nginx-RTMP گنجانده شده است
./configure --with-http_ssl_module --add-module=../nginx-rtmp-module-master
Nginx را با Nginx-RTMP کامپایل و نصب کنید
make sudo make install
حالا اسکریپت های Nginx init را نصب کنید
sudo wget https://raw.github.com/JasonGiedymin/nginx-init-ubuntu/master/nginx -O /etc/init.d/nginx sudo chmod +x /etc/init.d/nginx sudo update-rc.d nginx defaults
یکبار وب سرور را استارت نمایید (برای اینکه مطمئن شوید وب سرور به درستی نصب شده است) و سپس آنرا برای ادامه کار متوقف نمایید.
sudo service nginx start sudo service nginx stop
فهرست بسته را بروزرسانی می کنیم
sudo apt-get update
نصب نرم افزار ffmpeg
sudo apt-get install ffmpeg
ایجاد ساختار پوشه ای لازم برای نگهداری نمایش های زنده و موبایل HLS و قطعات ویدیویی:
sudo mkdir /HLS sudo mkdir /HLS/live sudo mkdir /HLS/mobile sudo mkdir /video_recordings sudo chmod -R 777 /video_recordings
احتمالا این یک ایده خوب است که فایروال شما روشن باشد البته اگر قبلا انجام نداده اید. اگر چنین است، شما باید ترافیک را به پورت های مورد استفاده توسط Nginx و HLS اجازه دهید. اگر میخواهید بدون فایروال در حال حاضر اجرا شود، بخش ufw زیر را نادیده بگیرید
sudo ufw limit ssh sudo ufw allow 80 sudo ufw allow 1935 sudo ufw enable
تقریباً تا اینجا کارمان تمام شد، اکنون زمان کانفیگ برای پخش زنده است. فایل کانفیگ را باز می کنیم
sudo nano /usr/local/nginx/conf/nginx.conf
همه محتویات فایل کانفیگ را پاک کنید و سپس کدهای زیر را درون آن جاگذاری کنید
#user nobody; worker_processes 1; error_log logs/rtmp_error.log debug; pid logs/nginx.pid; events { worker_connections 1024; } http { server { listen 80; server_name localhost; location /hls { # Serve HLS fragments # CORS setup add_header 'Access-Control-Allow-Origin' '*' always; add_header 'Access-Control-Expose-Headers' 'Content-Length'; # allow CORS preflight requests if ($request_method = 'OPTIONS') { add_header 'Access-Control-Allow-Origin' '*'; add_header 'Access-Control-Max-Age' 1728000; add_header 'Content-Type' 'text/plain charset=UTF-8'; add_header 'Content-Length' 0; return 204; } types { application/vnd.apple.mpegurl m3u8; video/mp2t ts; } root /tmp; add_header Cache-Control no-cache; } } } rtmp { server { listen 1935; chunk_size 8192; application hls { live on; meta copy; hls on; hls_path /tmp/hls; } } }
Ctrl + X برای ذخیره فایل همزمان بفشارید و خارج شوید.
قبل از انجام هر کار دیگری برای جلوگیری از کراس دامین خود ابتدا این کار را انجام دهید
یک فایل crossdomain.xml را در پوشه nginx / html خود ایجاد کنید و دستورالعمل هایی را که در پایین نوشته ایم در آن جایگذاری نمایید تا داده ها بین دامنه ها جریان یابد
sudo nano /usr/local/nginx/html/crossdomain.xml
متن پایین را کپی کنید و با یک کلیک راست در فایلی که ساخته اید جایگذاری نمایید
<?xml version="1.0"?> <!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd"> <cross-domain-policy> <allow-access-from domain="*"/> </cross-domain-policy>
ابتدا با فشردن کلید های ترکیبی Ctrl+o آنرا نوشته و سپس توسط کلیدهای Ctrl+x آنرا ذخیره و خارج شوید.
در نهایت وب سرور را استارت نمایید
sudo service nginx start
کار نصب تمام شده است در بخش بعدی پلیر مخصوص برای نمایش پخش زنده را آپلود و آموزش خواهیم داد.