نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول
نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول
يعد RTMP رائعًا لتقديم المحتوى المباشر. عندما يتم إقران RTMP مع FFmpeg ، يمكن تحويل التدفقات إلى صفات مختلفة. تعد Vultr رائعة لهذه التطبيقات لأنها توفر أداء وحدة معالجة مركزية سريعًا ومخصصًا. كما تضمن شبكة Vultr العالمية أنه يمكنك تقديم محتوى مباشر عالي الجودة بأقل قدر من التأخير. هيا بنا نبدأ!
قم بتثبيت الأدوات المطلوبة لتجميع 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
قم بتثبيت حزمة فك الضغط.
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
قم بتثبيت 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.
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;
}
}
}
بعد إضافة نص التكوين هذا ، يمكنك تخصيص الإعدادات مثل معدل البت للفيديو ومعدل البت الصوتي والدقة. سيتم تطبيق هذه التغييرات فقط على تدفق الجودة الأقل. لإضافة المزيد من الصفات ، قم بنسخ ولصق سطر exF FFmpeg وتغيير الإعدادات. ستحتاج أيضًا إلى إنشاء تطبيق جديد. يمكنك القيام بذلك عن طريق نسخ ولصق المثال live360 الذي تم تضمينه. لا تنس تحديث سطر exec FFmpeg بعنوان التطبيق الجديد. يمكنك القيام بذلك عن طريق تغيير عنوان RTMP النهائي في سطر exF FFmpeg.
ملاحظة: سيؤدي تغيير القيمة بعد ذلك -b:vإلى تغيير معدل البت للفيديو. يتم قياس هذا بالكيلوبت في الثانية. -b:aسيؤدي تغيير القيمة بعد ذلك إلى تغيير معدل البت الصوتي. يتم قياس هذا بالكيلوبت في الثانية. -sسيؤدي تغيير القيمة بعد ذلك إلى تغيير الدقة.
احفظ الملف بالضغط على CTRL+ X.
أعد تشغيل Nginx.
sudo service nginx restart
ملاحظة: للحصول على أفضل أداء ، يجب أن يكون لكل دفق يتم تحويله نواة وحدة المعالجة المركزية الخاصة به. على سبيل المثال ، إذا تم إنشاء صفتين ، 360P و 480 P ، من دفق 720P ، فيجب استخدام مثيل Vultr مع نواتين على الأقل من وحدة المعالجة المركزية.
إذا كنت تستخدم جدار حماية ، فستحتاج إلى التأكد 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
تحتوي تطبيقات البث عادةً على حقلين لمعلومات الاتصال. عادة ما يكون الحقل الأول لمعلومات الخادم ، وعادة ما يكون الحقل الثاني لاسم الدفق أو المفتاح. يتم سرد المعلومات التي يجب وضعها في كل حقل. يمكن تعيين اسم الدفق أو المفتاح إلى أي شيء.
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
نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول
اقرأ المدونة لمعرفة الطبقات المختلفة في بنية البيانات الضخمة ووظائفها بأبسط طريقة.
يعرف الكثير منكم أن Switch سيصدر في مارس 2017 وميزاته الجديدة. بالنسبة لأولئك الذين لا يعرفون ، قمنا بإعداد قائمة بالميزات التي تجعل "التبديل" "أداة لا غنى عنها".
هل تنتظر عمالقة التكنولوجيا للوفاء بوعودهم؟ تحقق من ما تبقى دون تسليم.
اقرأ هذا لمعرفة مدى انتشار الذكاء الاصطناعي بين الشركات الصغيرة وكيف أنه يزيد من احتمالات نموها ومنح منافسيها القدرة على التفوق.
مع تطور العلم بمعدل سريع ، واستلام الكثير من جهودنا ، تزداد أيضًا مخاطر تعريض أنفسنا إلى تفرد غير قابل للتفسير. اقرأ ، ماذا يمكن أن يعني التفرد بالنسبة لنا.
لقد أصبح حل CAPTCHA صعبًا جدًا على المستخدمين في السنوات القليلة الماضية. هل ستكون قادرة على أن تظل فعالة في اكتشاف البريد العشوائي والروبوتات في المستقبل القريب؟
ما هو التطبيب عن بعد والرعاية الصحية عن بعد وأثره على الأجيال القادمة؟ هل هو مكان جيد أم لا في حالة الوباء؟ اقرأ المدونة لتجد طريقة عرض!
ربما سمعت أن المتسللين يكسبون الكثير من المال ، لكن هل تساءلت يومًا كيف يجنون هذا النوع من المال؟ دعنا نناقش.
أصدرت Apple مؤخرًا macOS Catalina 10.15.4 تحديثًا تكميليًا لإصلاح المشكلات ولكن يبدو أن التحديث يتسبب في المزيد من المشكلات التي تؤدي إلى إنشاء أجهزة macOS. قراءة هذه المادة لمعرفة المزيد