تتوفر لدى فيسبوك خوادم لاستيعاب فيديو البث المباشر حول العالم ويتم استخدامها لبث مقاطع فيديو البث المباشر الخاصة بك. استخدم اختبار السرعة لاختيار أفضل خادم لاستيعاب الفيديو من أجل إجراء البث.
يتضمن إجراء اختبار السرعة إرسال ملف ثنائي إلى مجموعة من عناوين URL للوجهة بالترتيب الذي تم تلقيها به. ويقيّم كل اختبار اتصالك بخادم معيّن لاستيعاب فيديو على فيسبوك. ويستجيب الخادم بالتفاصيل المتعلقة بسرعة الاتصال التي تم قياسها والوقت الذي استغرقه في الإرسال والتلقي وعوامل مهمة أخرى. ويسمح تضمين هذه النتائج في كل اختبار متتالٍ لفيسبوك باختيار المجموعة التالية من عناوين URL للوجهة حتى يتم تحديد أفضل خادم استيعاب. ومن ثمّ، تستجيب واجهة API برمز الهدف. بمجرد حصولك على رمز الهدف، قم بتضمينه عندما تنشئ عملية بث فيديو بث مباشر وستستجيب واجهة API بعنوان URL للبث محسّن لاتصالك.
يمكنك أيضًا استخدام أداة عمليات استيعاب Facebook Live بدلاً من واجهة API اختبار السرعة لتحديد خوادم الاستيعاب المثالية الخاصة ببث فيديو البث المباشر لديك.
لبدء جلسة اختبار جديدة، أرسل طلبًا إلى:
GET /traffic_speedtest?fields=target_token,next_tests,upload_bandwidth_estimate_bits_per_second
ستستجيب نقطة النهاية بكائن لغة JSON يحتوي على قائمة من حالات الاختبار. وتحتوي كل حالة اختبار على عنوان URL لوجهة وعدد وحدات البايت.
عينة من الطلب
curl -i -X GET "https://graph.facebook.com/v3.3/traffic_speedtest \ ?fields=target_token,next_tests,upload_bandwidth_estimate_bits_per_second \ &access_token={access-token}"
عينة من الاستجابة
{ //Formatted for clarity "next_tests": [ { "byte_count": 3145728, "url": "https://edge-star-kut.xx.fbcdn.net/upload-speed-test-api" }, { "byte_count": 3145728, "url": "https://edge-star-mad.xx.fbcdn.net/upload-speed-test-api" }, { "byte_count": 3145728, "url": "https://edge-star-ort.xx.fbcdn.net/upload-speed-test-api" }, { "byte_count": 3145728, "url": "https://edge-star-eze.xx.fbcdn.net/upload-speed-test-api" } ] }
لاختبار كل حالة، حمّل ملفًا ثنائيًا بالحجم الذي تم تعيينه من خلال byte_count إلى عنوان URL للوجهة المقابلة الخاص به.
POST /{destination-url}/upload-speed-test
عينة من الطلب
ففي هذا المثال، يمثل {binary-file}
ملفًا يحتوي على 3145728 بايت عشوائية والتي تتطابق مع عدد وحدات البايت من الاستجابة.
curl --data-binary @{binary-file} https://edge-star-kut.xx.fbcdn.net/upload-speed-test-api
عينة من الاستجابة
يتم إرجاع سلسلة غير واضحة.
eyJzdGFydFRpbWVNUyI6IjE1NjIxMDk4NDg3ODAiLCJydHQiO... //Truncated for brevity
أنشئ مصفوفة باسم previous_results
تحتوي على كائن بلغة JSON مكوّن من الخصائص والقيم التالية:
previous_results=[ { "test_url": "{destination-url}", "result_string": "{opaque-string}" } ]
ملاحظة: تعامل مع result_string
بصفتها سلسلة غير واضحة. ولا تحاول تفسير الاستجابة من نقطة نهاية الاختبار. وإذا تعذر على برنامج الترميز الوصول إلى عنوان URL للترميز، فاحذف ذلك الإدخال الفردي في القائمة previous_results
.
المعلمة | الوصف |
---|---|
| عنوان URL للوجهة التي أجريت اختبارًا عليها. |
| سلسلة نتيجة الاختبار التي يتم إرجاعها بواسطة عنوان URL. |
عينة من مصفوفة مع استجابة اختبار فردي
previous_results=[ // JSON formatted for clarity { "test_url": "https://edge-star-kut.xx.fbcdn.net/upload-speed-test-api", "result_string": "eyJzdGFydFRpbWVNUyI6IjE1NjIxMDk4NDg3ODAiLCJydHQiO..." //Truncated for brevity } ]
ألحق كل عنوان URL لوجهة وأجر اختبارًا على الاستجابة للمصفوفة previous_results
.
التنبيهات
بعد اختبار أول مجموعة من عناوين URL، اطلب مجموعة أخرى وقم بتضمين النتائج السابقة.
GET /traffic_speedtest?fields=target_token,next_tests,upload_bandwidth_estimate_bits_per_second&previous_results={previous-results}
استبدل {previous-results}
بمصفوفة نتائج الاختبار التي قمت بتخزينها.
عينة من الطلب
curl -i -X GET 'https://graph.facebook.com/v3.3/traffic_speedtest \ ?fields=target_token,next_tests,upload_bandwidth_estimate_bits_per_second \ &access_token={access-token} \ &previous_results=[ // JSON formatted for clarity { "test_url":"https://edge-star-kut.xx.fbcdn.net/upload-speed-test-api", "result_string": { "eyJzdGFydFRpbWVNUyI6IjE1NjIxMDk4NDg3ODAiLCJydHQiO..." //Truncated for brevity } }, { "test_url":"https://edge-star-bru.xx.fbcdn.net/upload-speed-test-api", "result_string": { "eyJzdGFydFRpbWVNUyI6IjE1NjIxMDk4NDg3ODAiLCJydHQiO..." //Truncated for brevity } }, ... //Truncated for brevity ]'
تقوم نقطة النهاية بإرجاع قائمة جديدة لحالات الاختبار أو الرمز الهدف. وإذا كانت تقوم بالرد بحالات أخرى، فقم بإجراء اختبار على كل منها، ثم اطلب مجموعة أخرى. واستمر في إجراء ذلك إلى أن يتم الرد برمز. وإذا كان الرد برمز، فيعني ذلك أن جلسة الاختبار تكون مكتملة.
عينة من الاستجابة برمز
{ "target_token": "atl", //Testing is complete "upload_bandwidth_estimate_bits_per_second": 173557406 //Suggested bps }
الخاصية | الوصف |
---|---|
| سلسلة يتم تضمينها عند استخدام واجهات API فيديو البث المباشر. وعندما يتم تضمين رمز هدف، ستعمل واجهة API فيديو البث المباشر على إرجاع عناوين URL للبث التي تم تحسينها من أجل اتصالك. |
| النطاق الترددي التقديري لانتقال البيانات من الجهاز إلى فيسبوك. ويمكنك استخدام ذلك لتكوين الحد الأقصى لمعدل البت الخاص ببرنامج ترميز الفيديو لديك. فعلى سبيل المثال، إذا كانت هذه القيمة هي 10000000، فيمكنك تكوين برنامج الترميز لإخراج بث فيديو بسرعة 8 ميغابايت في الثانية. |
ملاحظة: يكون النطاق الترددي للتحميل تقديريًا وقد يتغير بشكل كبير حسب تغيير ظروف الشبكة. فعلى سبيل المثال، إذا تم إرسال البث إلى موقع مختلف لإدارة السعة أو لتجنب مشاركة نقاط الفشل بين عمليات بث الإدخال، فقد يتغير النطاق الترددي للتحميل.
أنشئ عملية بث فيديو البث المباشر كالمعتاد، ثم استعلم عن معرف فيديو البث المباشر وقم بتضمين الرمز الهدف الخاص بك:
GET /{broadcast-id}?fields=secure_stream_url&target_token={target-token}
تستجيب نقطة النهاية بعنوان URL للبث الآمن الذي تم تحسينه من أجل اتصالك.
عينة من الطلب
ففي هذا المثال، يمثل target_token الذي قام اختبار السرعة بإرجاعه atl.
curl -i -X GET \ "https://graph.facebook.com/v3.3/{broadcast-id} \ ?fields=secure_stream_url&target_token=atl \ &access_token={access-token}"
عينة من الاستجابة
{ “secure_stream_url”: “rtmps://...”, //Optimized stream URL “id”: “{broadcast-id}” }
قم بتشغيل كل حالة اختبار سرعة بالترتيب الذي تم تلقيها به، على التوالي وليس بالتوازي. علمًا بأن تشغيل حالات اختبار سرعة متعددة في الوقت نفسه سيعطيك نتائج غير دقيقة.
عند استخدام رموز الهدف للحصول على عناوين URL للبث، ابدأ بإجراء جلسة اختبار سرعة جديدة لجميع عمليات بث فيديو البث المباشر. ولا تعد استخدام نتائج اختبار قديمة. وقد تطرأ تغييرات على عناوين URL للاختبار واستجابات عنوان URL للاختبار ورموز الهدف.
نوصي بإعادة تشغيل اختبار السرعة عند حدوث إحدى الحالات التالية:
عندما يتم إرجاع رمز هدف جديد، توقف عن استخدام عنوان URL للبث الحالي وابدأ باستخدام عنوان URL للبث الجديد الذي تم إرجاعه بواسطة الرمز الجديد.
وإذا كانت ظروف الشبكة سيئة للغاية لتقديم بث موثوق به، فيجب أن يحذر تطبيقك ناشر الفيديو بأنه يمكنه تحسين اتصال الشبكة. فعلى سبيل المثال، تأكد من أنه لا يوجد تطبيق آخر يستخدم نطاقًا تردديًا، أو بدّل الاتصال اللاسلكي بالاتصال السلكي، أو زوّد النطاق الترددي للإنترنت لديك، أو اطلب من موفر خدمة الإنترنت الخاص بك الاتصال مباشرة بـ Facebook.