نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول
نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول
يعد RTMP رائعًا لتقديم المحتوى المباشر. عندما يتم إقران RTMP مع FFmpeg ، يمكن تحويل التدفقات إلى صفات مختلفة. تعد Vultr رائعة لهذه التطبيقات لأنها توفر أداء وحدة معالجة مركزية سريعًا ومخصصًا. كما تضمن شبكة Vultr العالمية أنه يمكنك تقديم محتوى مباشر عالي الجودة بأقل قدر من التأخير. هيا بنا نبدأ!
قم بتثبيت الأدوات المطلوبة لتجميع Nginx و Nginx-RTMP من المصدر.
sudo apt-get install build-essential libpcre3 libpcre3-dev libssl-dev
قم بعمل دليل عمل وقم بالتبديل إليه.
mkdir ~/working
cd ~/working
قم بتنزيل مصدر Nginx و Nginx-RTMP.
wget http://nginx.org/download/nginx-1.7.5.tar.gz
wget https://github.com/arut/nginx-rtmp-module/archive/master.zip
قم بتثبيت حزمة Unzip.
sudo apt-get install unzip
استخرج مصدر Nginx و Nginx-RTMP.
tar -zxvf nginx-1.7.5.tar.gz
unzip master.zip
قم بالتبديل إلى دليل Nginx.
cd nginx-1.7.5
أضف وحدات سيتم تجميع Nginx معها. تم تضمين Nginx-RTMP.
./configure --with-http_ssl_module --add-module=../nginx-rtmp-module-master
ترجمة Nginx وتثبيته باستخدام Nginx-RTMP.
make
sudo make install
قم بتثبيت البرامج النصية لـ Nginx.
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
بدء وإيقاف Nginx لإنشاء ملفات التكوين.
sudo service nginx start
sudo service nginx stop
أضف FFmpeg PPA.
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:kirillshkrogalev/ffmpeg-next
تحديث قوائم الحزمة.
sudo apt-get update
قم بتثبيت FFmpeg.
sudo apt-get install ffmpeg
ملاحظة: قد لا يتم تثبيت الأمر apt-add-repository في بعض الحالات. لتثبيت تشغيله
sudo apt-get install software-properties-common
.
افتح ملف تكوين 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 النهائي في سطر exf ffmpeg.
ملاحظة:
-b:v
سيؤدي تغيير القيمة بعد ذلك إلى تغيير معدل البت للفيديو. يتم قياس هذا بالكيلوبت في الثانية.-b:a
سيؤدي تغيير القيمة بعد ذلك إلى تغيير معدل البت الصوتي. يتم قياس هذا بالكيلوبت في الثانية.-s
سيؤدي تغيير القيمة بعد ذلك إلى تغيير الدقة.
احفظ الملف بالضغط على Control و X معًا. أعد تشغيل Nginx.
sudo service nginx restart
ملاحظة: للحصول على أفضل أداء ، يجب أن يكون لكل دفق يتم تحويله نواة وحدة المعالجة المركزية الخاصة به. على سبيل المثال ، يتم إنشاء صفتين ، 360P و 480 P من دفق 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;
}
}
}
احفظ الملف بالضغط على Control و 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
يعد إعداد مشغل لعرض فيديو مباشر على موقع ويب خارج نطاق هذا الدليل. قد يساعدك البحث عن مصطلح "RTMP web player".
نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول
يعرف الكثير منكم أن Switch سيصدر في مارس 2017 وميزاته الجديدة. بالنسبة لأولئك الذين لا يعرفون ، قمنا بإعداد قائمة بالميزات التي تجعل "التبديل" "أداة لا غنى عنها".
هل تنتظر عمالقة التكنولوجيا للوفاء بوعودهم؟ تحقق من ما تبقى دون تسليم.
اقرأ المدونة لمعرفة الطبقات المختلفة في بنية البيانات الضخمة ووظائفها بأبسط طريقة.
اقرأ هذا لمعرفة مدى انتشار الذكاء الاصطناعي بين الشركات الصغيرة وكيف أنه يزيد من احتمالات نموها ومنح منافسيها القدرة على التفوق.
لقد أصبح حل CAPTCHA صعبًا جدًا على المستخدمين في السنوات القليلة الماضية. هل ستكون قادرة على أن تظل فعالة في اكتشاف البريد العشوائي والروبوتات في المستقبل القريب؟
مع تطور العلم بمعدل سريع ، واستلام الكثير من جهودنا ، تزداد أيضًا مخاطر تعريض أنفسنا إلى تفرد غير قابل للتفسير. اقرأ ، ماذا يمكن أن يعني التفرد بالنسبة لنا.
ما هو التطبيب عن بعد والرعاية الصحية عن بعد وأثره على الأجيال القادمة؟ هل هو مكان جيد أم لا في حالة الوباء؟ اقرأ المدونة لتجد طريقة عرض!
ربما سمعت أن المتسللين يكسبون الكثير من المال ، لكن هل تساءلت يومًا كيف يجنون هذا النوع من المال؟ دعنا نناقش.
أصدرت Apple مؤخرًا macOS Catalina 10.15.4 تحديثًا تكميليًا لإصلاح المشكلات ولكن يبدو أن التحديث يتسبب في المزيد من المشكلات التي تؤدي إلى إنشاء أجهزة macOS. قراءة هذه المادة لمعرفة المزيد