RTMPDump
RTMPDump هو مشروع برمجيات مجاني مخصص لتطوير مجموعة أدوات لتدفقات RTMP . تتضمن الحزمة ثلاثة برامج rtmpdump، rtmpsrvو rtmpsuck.
rtmpdumpيُستخدم هذا البرنامج للاتصال بخوادم RTMP تمامًا مثل عملاء مشغلات فيديو Flash العادية ، والتقاط البث من الشبكة، وحفظه في ملف. وباستخدامه، يمكن إنشاء أوامر بالاعتماد على معلومات الاتصال والمصادقة التي تم الحصول عليها مسبقًا من خادم RTMPrtmpsrv.rtmpsrvيُستخدم لمراقبة الاتصالات والبث المباشرrtmpsuckيمكن استخدامها أيضًا لالتقاط التدفقات، ولكن يمكن استخدامها أيضًا لاكتشاف المعلمات المراد استخدامها معهاrtmpdump. [ 1 ] [ 2 ]
وُصفت هذه الأداة بأنها "أداة ممتازة لتسجيل البث التلفزيوني والفيديو حسب الطلب" [ 1 ] ، وقد استُخدمت في أبحاث أكاديمية حول اختيار معدل بث الفيديو [ 3 ] وإطار عمل تطوير الوسائط [ 4 ] . وقد لُوحظت الأداة بصغر حجمها وقدرتها على فك تشفير تقنيات إدارة الحقوق الرقمية RTMPE (بروتوكول RTMP المشفر) و RTMPS (بروتوكول RTMP الآمن) .
في أمر وقف وكفّ صادر بموجب قانون الألفية الرقمية لحقوق المؤلف عام ٢٠٠٩ ضد موقع SourceForge ، زعمت شركة Adobe Systems Inc. أن المشروع "يمكن استخدامه" لانتهاك حقوق النشر، دون إثبات الاستخدام الفعلي. [ ٥ ] اعتبارًا من عام ٢٠٠٩، قام موقع SourceForge بإزالة ملفات المشروع، مع عرض رسالة "تم وضع علامة على المشروع المحدد على أنه محذوف". [ ٦ ] منذ نوفمبر ٢٠٠٩ فصاعدًا، تمت استضافة المشروع كمستودع Git على موقع MPlayer الإلكتروني، MplayerHQ.hu. [ ٧ ]rtmpdump
البث حسب الطلب
أثناء عملية التفاوض على الاتصال، يقوم عميل RTMP بإرسال واستقبال دفق بيانات يحتوي على عناصر متعددة، كأمر واحد. يتضمن دفق البيانات عند الطلب عادةً العناصر التالية: [ 8 ]
لخادم لايملايت
-r rtmp://عنوان الخادم-a--app: عناصر المصادقة ( يمكن استخدام البديل بدلاً من ذلك)- عادةً ما يكون بالصيغة -
application?as=data&av=data&te=data&mp=data&et=data&fmta-token=data - التطبيق : عنوان المسار. على سبيل المثال،
a1414/e3 - على سبيل المثال:
as=adobe-hmac-sha256 - av : على سبيل المثال،
av=1 - على سبيل المثال ،
te=connect - mp : عادةً ما يكون عنواني URL مفصولين بفواصل، لتدفقات معدل البت البديلة (تنسيق MPEG أو MP3 أو MP4).
- et : عادةً ما يكون رقمًا مكونًا من عشرة أحرف (رقميًا)
- fmta-token : عادةً ما يكون عبارة عن سلسلة مصادقة (auth) مكونة من 64 حرفًا [أي رمز مصادقة] (أبجدي رقمي)
- عادةً ما يكون بالصيغة -
-y: playpath (عنوان URL لتدفق البتات المطلوب، أحد تلك المحددة في mp أعلاه)- عادةً، يكون ذلك بالصيغة أو
mp3:path/filename.mp3mp4:path/filename.mp4
- عادةً، يكون ذلك بالصيغة أو
-oاسم ملف الإخراج
تُعدّ العناصر المذكورة أعلاه عادةً العناصر الوحيدة (أو "المفاتيح") الضرورية للاتصال، في حال عدم استخدام الخادم لتقنية النفق أو التشفير. مع أنّه قد تُصادف عناصر أخرى في الواقع العملي، إلا أنّها عادةً ما تكون غير ضرورية.
وبالتالي، عادةً ما يتم إرسال العناصر التالية بواسطة تطبيق برنامج العميل [ 9 ] ، كأمر واحد في سطر الأوامر -
rtmpdump -r rtmp://xxxxxxxxx.fcod.llnwd.net - مسار؟ as = data & av = data & te = data & mp = data & et = data & fmta-token = data -y mp4:URL/filename.mp4 -o file_mp4.flv يجب دمج الأجزاء المكونة للعنصر -a(أو --app) فيه بالترتيب الموضح أعلاه، حيث أن التسلسل الذي يتم به استلام أجزائه بواسطة خادم RTMP أمر بالغ الأهمية.
تحتوي سلاسل المصادقة ( et=و fmta-token=) على معلومات الجلسة، لذا ستتغير عند كل اتصال جديد يتم إجراؤه بالخادم (وهذا يعني عمليًا أنها ستنتهي صلاحيتها إذا بدأت جلسة جديدة، وليس حرفيًا عند كل محاولة لاستئناف الاتصال)، ولكن العناصر الأخرى لن تختلف عادةً من جلسة إلى أخرى.
لخادم أكاماي
يكون سطر الأوامر عادةً كما هو موضح أعلاه، باستثناء أن العنصر -a(أو --app) يحتوي على الأجزاء التالية بدلاً من ذلك -
- auth : عادةً ما تكون سلسلة مصادقة (auth) مكونة من 62 حرفًا [أي رمز مصادقة] (أبجدي رقمي)
aifp: على سبيل المثال،aifp=v001- slist : عادةً ما يكون عنوان URL الخاص بالبث
وبالتالي، عادةً ما يتم إرسال العناصر التالية بواسطة تطبيق برنامج العميل، [ 9 ] كأمر واحد في سطر الأوامر -
program.exe -r rtmp://xxxxxxx.edgefcs.net -a ondemand?auth = data & aifp = data & slist = data -y mp3:URL/filename -o file_mp3.flv يجب دمج الأجزاء المكونة للعنصر -a(أو --app) فيه بالترتيب الموضح أعلاه، حيث أن التسلسل الذي يتم به استلام أجزائه بواسطة خادم RTMP أمر بالغ الأهمية.
تحتوي سلسلة المصادقة auth=على معلومات الجلسة، لذا ستتغير مع كل اتصال جديد بالخادم (عادةً عند بدء جلسة جديدة، مثلاً عند إعادة تشغيل الكمبيوتر، وليس بالضرورة عند كل محاولة لاستئناف الاتصال). أما الأجزاء الأخرى، فلا تتغير عادةً من جلسة لأخرى.
ملاحظة - يصف ما سبق الشكل المبسط، حيث يتم أولاً حفظ البث على القرص الصلب للمستخدم، ليتم تشغيله لاحقًا في مشغل وسائط قادر على تشغيل ملفات FLV (ترميز H.263 أو H.264)، مثل GOM Player . أما إذا رغب المستخدم في تشغيل البث مباشرةً من خادم RTMP، مما يتيح التشغيل الفوري، فسيلزم إضافة عناصر أخرى إلى سطر الأوامر، بما في ذلك:
-fيُحدد هذا إصدار برنامج Flash المثبت على جهاز المستخدم. على سبيل المثال، -f "WIN 9,0,260,0"يشير هذا إلى أن المستخدم لديه إصدار Windows من Flash Player 9، الإصدار 260.
-Wالأمر W الكبير هو عنوان URL الخاص بمشغل SWF المستخدم لتشغيل البث، كما هو موضح في صفحة الويب التي تم اشتقاق البث منها. على سبيل المثال، path/9player.swf?revision=18269_21576.
البث المباشر
عادةً ما يكون سطر الأوامر لخادم أكاماي مماثلاً لسطر أوامر بث أكاماي عند الطلب. ولكن العنصر -a(أو --app) يحتوي على الأجزاء التالية
- auth : عادةً ما تكون سلسلة مصادقة (auth) مكونة من 62 حرفًا [أي رمز مصادقة] (أبجدي رقمي)
aifp: على سبيل المثال،aifp=v001- slist : عادةً ما يكون عنوان URL للبث، بالتنسيق xxxxx_x_@xxxx (على سبيل المثال )؛ أو أكثر من عنوان URL واحد إذا كان هناك أكثر من معدل بت متاح [انظر الملاحظة]
Radio_7_Int@6463
ملاحظة - إذا كانت سلسلة slist تحتوي على اثنين أو أكثر من التدفقات البديلة (أي أنها توفر خيارًا من التدفقات بمعدلات بت بديلة)، فإن عنصر playpath ( أو ) يحدد التدفق الذي اختاره المستخدم، كعنصر معرف.--playpath-y
وبالتالي، يتم عادةً إرسال التسلسل التالي بواسطة تطبيق برنامج العميل، [ 9 ] كأمر واحد في سطر الأوامر -
rtmpdump.exe --live -r rtmp://xxxxxxx.live.edgefcs.net -a live?auth = data & aifp = data & slist = data --playpath { identifier } ?auth = data & aifp = data & slist = data -o output.flv جميع هذه العناصر إلزامية، ويجب تضمينها بالترتيب الموضح أعلاه. عادةً ما يكون النص الذي يلي ?علامة الاستفهام (?) في كلٍ من العنصرين <div> -aو <div> --playpathمتطابقًا. عادةً ما يكون عنصر المعرّف مجموعة فرعية من بيانات slist (إذا كانت الأخيرة توفر خيارًا)، وإلا فسيكونان متطابقين أيضًا. -oيمكن للعنصر <div> تحديد اسم ملف الإخراج الذي يختاره المستخدم.
لا داعي لتحديد مسار التشغيل بالكامل ، حيث يتم إنشاء هذا العنصر في الذاكرة بواسطة تطبيق العميل. وعادةً ما يكون شكله في الذاكرة كما يلي:
-y xxxxx_x_@xxxx?auth=[62 characters]&aifp=v001&slist=xxxxx_x_@xxxx,xxxxx_x_@xxxx
مراجع
- 1 2 "تعلم rtmpdump من خلال الأمثلة" . مجلة أنظمة تشغيل لينكس للحاسوب الشخصي. المجلد 51. أبريل 2011.
- ↑ "هل تستخدم rtmpdump؟" . stream-recorder.com.
- ↑ هوانغ، تي-يوان؛ هانديغول، نيخيل؛ هيلر، براندون؛ ماكيون، نيك؛ جوهاري، راميش (نوفمبر 2012). "مُرتبك، خجول، وغير مستقر: اختيار معدل بث الفيديو أمر صعب" (ملف PDF) . مؤتمر قياس الإنترنت التابع لجمعية آلات الحوسبة . بوسطن.( صفحة المؤلف مؤرشفة بتاريخ 18 فبراير 2013 في موقع Wayback Machine )
- ↑ تشين، شياو تينغ (陳孝庭) (13 يوليو 2011). "تطوير إطار عمل وسائط خفيف الوزن وفعال لمحرر الوسائط وبث الفيديو المباشر" . تايوان: الجامعة الوطنية المركزية. رسالة ماجستير.
- ↑ «تزعم أدوبي أن برنامج rtmpdump "يمكن استخدامه" لانتهاك حقوق الملكية الفكرية» . ChillingEffects.org. 8 مايو 2009
- ^ بار ، هانز (3 ديسمبر 2009). "البث المحمي والتحويل من أجل تشغيل التلفزيون - (البث والتحويل المحمي لتشغيل التلفزيون)" . باللغة الألمانية. مجلة الكمبيوتر . ص. 3.
- ↑ Compn (1 نوفمبر 2009). "1 نوفمبر 2009، الأحد :: تحديثات" . أخبار MplayerHQ. "يستضيف MPlayer أيضًا مشروع rtmpdump. rtmpdump هو برنامج لتنزيل تدفقات rtmp://. كان مستضافًا سابقًا على SourceForge."
- ↑ صفحة مطوري RTMPdump
- 1 2 3 برنامج عميل RTMPdump
روابط خارجية
- أدوبي فلاش
- برامج الوسائط المتعددة المجانية
