
中文文档
LAL هو خادم البث المباشر الصوتي/الفيديو المكتوب في GO. إنه نوع من mode nginx-rtmp-module ، ولكنه أسهل في الاستخدام ومع المزيد من الميزات ، على سبيل المثال ، RTMP ، RTSP (RTP/RTCP) ، HLS ، HTTP [S]/Websocket [s] -flv/ts ، gb28181 ، h264/h265/aac/g711 API/إخطار/webui ، ذاكرة التخزين المؤقت للحزب الجمهوري.
هناك 3 طرق لتثبيت LAL:
أولاً ، تأكد من أن إصدار GO> = 1.18
لمستخدم Linux/MacOS:
$git clone https://github.com/q191201771/lal.git
$cd lal
$make build ثم تذهب جميع الثنائيات إلى ./bin/ الدليل. هذا كل شيء.
بالنسبة إلى Gopher (مستخدم Windows) ذي الخبرة ، فإن الشيء الوحيد الذي يجب أن تكون قلقًا هو أن the main function هي ضمن دليل ./app/lalserver . لذلك يمكنك أيضا:
$git clone https://github.com/q191201771/lal.git
$cd lal/app/lalserver
$go buildأو باستخدام أي IDEs التي تريدها.
حتى الآن ، فإن التبعية المباشرة وغير المباشرة الوحيدة لـ LAL هي Naza (مكتبة فائدة GO الأساسية) والتي كتبت أيضًا بنفسي. هذا يؤدي إلى مشكلات أقل تبعية أو مدير الإصدار.
الثنائيات المسبقة لـ Linux ، MacOS (Darwin) ، تتوفر Windows في صفحة إصدارات Lal Github. بطبيعة الحال ، باستخدام أحدث إصدار ثنائي هو الطريقة الموصى بها. تنسيق التسمية هو lal_<version>_<platform>.zip ، على سبيل المثال lal_v0.20.0_linux.zip
يمكن بناء LAL أيضًا من المصدر أينما يمكن تشغيل مجموعة أدوات GO Compiler ، على سبيل المثال للبنية الأخرى بما في ذلك ARM32 و MIPSLE التي تم اختبارها من قبل المجتمع.
الخيار 1 ، باستخدام الصورة المسبقة في Docker Hub ، لذلك فقط تشغيل:
$docker run -it -p 1935:1935 -p 8080:8080 -p 4433:4433 -p 5544:5544 -p 8083:8083 -p 8084:8084 -p 30000-30100:30000-30100/udp q191201771/lal /lal/bin/lalserver -c /lal/conf/lalserver.conf.json
الخيار 2 ، بناء من المصدر المحلي مع Dockerfile ، وتشغيل:
$git clone https://github.com/q191201771/lal.git
$cd lal
$docker build -t lal .
$docker run -it -p 1935:1935 -p 8080:8080 -p 4433:4433 -p 5544:5544 -p 8083:8083 -p 8084:8084 -p 30000-30100:30000-30100/udp lal /lal/bin/lalserver -c /lal/conf/lalserver.conf.json
الخيار 3 ، استخدم Docker-Corms
إنشاء ملف docker-compose.yml مع المحتوى التالي:
version : " 3.9 "
services :
lalserver :
image : q191201771/lal
container_name : lalserver
ports :
- " 1935:1935 "
- " 8080:8080 "
- " 4433:4433 "
- " 5544:5544 "
- " 8083:8083 "
- " 8084:8084 "
- " 30000-30100:30000-30100/udp "
command : /lal/bin/lalserver -c /lal/conf/lalserver.conf.jsonقم بتشغيل الأمر التالي لبدء الخدمة:
docker-compose upأو قم بتشغيله في الخلفية مع:
docker-compose up -dتشغيل Lalserver:
$./bin/lalserver -c ./conf/lalserver.conf.json
باستخدام أي عملاء تعرفهم للتفاعل مع Lalserver.
على سبيل المثال ، نشر دفق RTMP إلى Lalserver عبر FFMPEG:
$ffmpeg -re -i demo.flv -c:a copy -c:v copy -f flv rtmp://127.0.0.1:1935/live/test110قم بتشغيل تيار بروتوكول متعدد من Lalserver عبر Ffplay:
$ffplay rtmp://127.0.0.1/live/test110
$ffplay rtsp://127.0.0.1:5544/live/test110
$ffplay http://127.0.0.1:8080/live/test110.flv
$ffplay http://127.0.0.1:8080/hls/test110/playlist.m3u8
$ffplay http://127.0.0.1:8080/hls/test110/record.m3u8
$ffplay http://127.0.0.1:8080/hls/test110.m3u8
$ffplay http://127.0.0.1:8080/live/test110.ts إلى جانب خادم البث المباشر الذي يطلق على lalserver على وجه التحديد ، يوفر project lal العديد من التطبيقات الأخرى ، مثل عملاء Push/Pull/Remux Stream ، وأدوات المقاعد ، والأمثلة. يمثل كل دليل فرعي تحت دليل ./app/demo عرضًا صغيرًا.
أهدافنا ليست فقط خادم إنتاج ولكن أيضًا حزمة بسيطة مع واجهة برمجة تطبيقات محددة جيدًا وتواجه المستخدم ، بحيث يمكن للمستخدمين إنشاء تطبيقاتهم الخاصة عليها.
LAL يرمز إلى Live And Live إذا كنت تتساءل.
الأخطاء ، والأسئلة ، والاقتراحات ، أي شيء مرتبط أم لا ، لا تتردد في الاتصال بي مع قضايا Lal Github.
معهد ماساتشوستس للتكنولوجيا ، انظر الترخيص.
هذه الملاحظة تم تحديثها بواسطة Yoko ، 202404