
x32x01
أدارة أكتب كود
- بواسطة x32x01 ||
لإنشاء بث مباشر لقناة M3U8 على فيسبوك باستخدام مفتاح البث (Stream Key)، تحتاج إلى أداة لتشغيل ملف M3U8 وإرساله إلى فيسبوك عبر بروتوكول RTMP (الذي يستخدمه فيسبوك للبث المباشر). سأقدم لك سكريبتًا بسيطًا باستخدام Python وFFmpeg لتحقيق ذلك، مع شرح خطوة بخطوة.
متطلبات التشغيل:
السكريبت التالي يأخذ رابط M3U8 ويبثه مباشرة إلى فيسبوك باستخدام FFmpeg:
افتح موجه الأوامر (Command Prompt أو Terminal) وانتقل إلى المجلد الذي يحتوي على الملف.
شغّل الأمر التالي:
<رابط_m3u8>: رابط M3U8 للقناة (مثل
<مفتاح_البث>: مفتاح البث من فيسبوك (Stream Key).
<رابط_الخادم>: رابط الخادم من فيسبوك (Server URL).
مثال:
مفتاح البث سري: لا تشاركه مع أي شخص، لأنه يسمح بالبث على صفحتك مباشرة.
استقرار الإنترنت: تحتاج إلى اتصال إنترنت قوي ومستقر لتجنب الانقطاعات.
تشفير M3U8: إذا كان رابط M3U8 مشفرًا (DRM)، لن يعمل السكريبت بدون مفتاح فك التشفير.
اختبار البث: قبل البث للجمهور، قم بتجربة البث مع إعدادات خصوصية "أنا فقط" في فيسبوك للتأكد من أن كل شيء يعمل.
برامج بديلة: يمكنك استخدام برامج مثل OBS Studio لنفس الغرض، لكن السكريبت أكثر أتمتة. إذا أردت إعداد OBS بدلاً من السكريبت، أخبرني وسأشرح الخطوات.
حقوق البث: تأكد أن لديك الحق في بث محتوى القناة على فيسبوك لتجنب انتهاك حقوق الملكية.
إذا واجهت مشاكل:
خطأ في FFmpeg: تحقق من تثبيت FFmpeg وأن رابط M3U8 صحيح.
البث لا يظهر: تأكد من إدخال مفتاح البث ورابط الخادم بشكل صحيح، وأن صفحة فيسبوك مفتوحة.
تقطيع البث: جرب تقليل جودة البث بإضافة -b:v 1000k إلى إعدادات FFmpeg إذا كان الإنترنت ضعيفًا.
متطلبات التشغيل:
- FFmpeg: مثبت على جهازك (تحقق بكتابة ffmpeg -version في موجه الأوامر).
- Python: مع مكتبة ffmpeg-python (قم بتثبيتها باستخدام pip install ffmpeg-python).
- مفتاح البث (Stream Key): احصل عليه من إعدادات البث المباشر في فيسبوك.
- رابط M3U8: تأكد أن رابط M3U8 يعمل ويمكن الوصول إليه.
خطوات الحصول على مفتاح البث من فيسبوك:
- اذهب إلى صفحتك على فيسبوك أو حسابك الشخصي.
- اختر إنشاء بث مباشر (Live Video).
- في إعدادات البث، انسخ مفتاح البث (Stream Key) ورابط الخادم (Server URL) (عادةً يكون مثل
rtmp://live-api-s.facebook.com:80/rtmp/
). - احتفظ بهذين الرابطين، ستحتاجهما في السكريبت.
السكريبت التالي يأخذ رابط M3U8 ويبثه مباشرة إلى فيسبوك باستخدام FFmpeg:
Python:
import ffmpeg
import sys
import os
def stream_m3u8_to_facebook(m3u8_url, stream_key, server_url):
try:
# التأكد من أن رابط M3U8 ليس فارغًا
if not m3u8_url:
print("خطأ: يجب إدخال رابط M3U8.")
return
# رابط RTMP الكامل لفيسبوك
rtmp_url = f"{server_url}{stream_key}"
# إعداد أمر FFmpeg لبث M3U8 إلى RTMP
stream = ffmpeg.input(m3u8_url)
stream = ffmpeg.output(
stream,
rtmp_url,
format='flv', # تنسيق FLV مطلوب لـ RTMP
c='copy', # نسخ الفيديو والصوت بدون إعادة تشفير
f='flv', # تحديد تنسيق الإخراج
loglevel='info' # عرض معلومات التنفيذ
)
# تشغيل الأمر
print(f"جاري البث إلى فيسبوك: {rtmp_url}")
ffmpeg.run(stream)
except ffmpeg.Error as e:
print(f"خطأ في FFmpeg: {e.stderr.decode()}")
except Exception as e:
print(f"خطأ: {str(e)}")
if __name__ == "__main__":
if len(sys.argv) != 4:
print("الاستخدام: python stream.py <رابط_m3u8> <مفتاح_البث> <رابط_الخادم>")
sys.exit(1)
m3u8_url = sys.argv[1]
stream_key = sys.argv[2]
server_url = sys.argv[3]
stream_m3u8_to_facebook(m3u8_url, stream_key, server_url)
كيفية استخدام السكريبت:
احفظ الكود في ملف باسم stream.py.افتح موجه الأوامر (Command Prompt أو Terminal) وانتقل إلى المجلد الذي يحتوي على الملف.
شغّل الأمر التالي:
Bash:
python stream.py <رابط_m3u8> <مفتاح_البث> <رابط_الخادم>
http://example.com/playlist.m3u8
).<مفتاح_البث>: مفتاح البث من فيسبوك (Stream Key).
<رابط_الخادم>: رابط الخادم من فيسبوك (Server URL).
مثال:
Bash:
python stream.py http://example.com/playlist.m3u8 1234567890abcdef rtmp://live-api-s.facebook.com:80/rtmp/
كيف يعمل السكريبت؟
- الإدخال: يأخذ رابط M3U8 كمصدر للفيديو.
- البث: يستخدم FFmpeg لنسخ تيار الفيديو والصوت من M3U8 وإرساله إلى فيسبوك عبر رابط RTMP المكون من رابط الخادم ومفتاح البث.
- التنسيق: يحول التيار إلى تنسيق FLV (مطلوب لـ RTMP) بدون إعادة تشفير للحفاظ على الجودة وتقليل استهلاك الموارد.
- التشغيل: يستمر البث حتى توقفه يدويًا (Ctrl+C) أو إذا انقطع مصدر M3U8.
مفتاح البث سري: لا تشاركه مع أي شخص، لأنه يسمح بالبث على صفحتك مباشرة.
استقرار الإنترنت: تحتاج إلى اتصال إنترنت قوي ومستقر لتجنب الانقطاعات.
تشفير M3U8: إذا كان رابط M3U8 مشفرًا (DRM)، لن يعمل السكريبت بدون مفتاح فك التشفير.
اختبار البث: قبل البث للجمهور، قم بتجربة البث مع إعدادات خصوصية "أنا فقط" في فيسبوك للتأكد من أن كل شيء يعمل.
برامج بديلة: يمكنك استخدام برامج مثل OBS Studio لنفس الغرض، لكن السكريبت أكثر أتمتة. إذا أردت إعداد OBS بدلاً من السكريبت، أخبرني وسأشرح الخطوات.
حقوق البث: تأكد أن لديك الحق في بث محتوى القناة على فيسبوك لتجنب انتهاك حقوق الملكية.
إذا واجهت مشاكل:
خطأ في FFmpeg: تحقق من تثبيت FFmpeg وأن رابط M3U8 صحيح.
البث لا يظهر: تأكد من إدخال مفتاح البث ورابط الخادم بشكل صحيح، وأن صفحة فيسبوك مفتوحة.
تقطيع البث: جرب تقليل جودة البث بإضافة -b:v 1000k إلى إعدادات FFmpeg إذا كان الإنترنت ضعيفًا.