
中文文档
LAL เป็นเซิร์ฟเวอร์การสตรีมถ่ายภาพเสียง/วิดีโอถ่ายทอดสดที่เขียนขึ้นใน GO มันเป็นเหมือน nginx-rtmp-module แต่ใช้งานง่ายกว่าและมีคุณสมบัติเพิ่มเติมเช่น RTMP, RTSP (RTP/RTCP), HLS, HTTP [S]/WebSocket [S] -FLV/TS, GB28181, H264/H265/AAC/G711 API/Notify/WebUI, GOP Cache
การติดตั้ง LAL มี 3 วิธี:
ก่อนอื่นตรวจสอบให้แน่ใจว่าไปเวอร์ชัน> = 1.18
สำหรับผู้ใช้ Linux/MacOS:
$git clone https://github.com/q191201771/lal.git
$cd lal
$make build จากนั้นไบนารีทั้งหมดจะเข้าสู่ไดเรกทอรี ./bin/ / แค่นั้นแค่นั้น
สำหรับผู้ใช้โกเฟอร์ที่มีประสบการณ์ (และผู้ใช้ Windows) สิ่งเดียวที่คุณควรกังวลคือ the main function อยู่ภายใต้ไดเรกทอรี ./app/lalserver lalserver ดังนั้นคุณสามารถ:
$git clone https://github.com/q191201771/lal.git
$cd lal/app/lalserver
$go buildหรือใช้ ides ที่คุณต้องการ
จนถึงตอนนี้ การพึ่งพา โดยตรงและโดยอ้อมของ LAL คือ Naza (ห้องสมุดยูทิลิตี้พื้นฐาน) ซึ่งเขียนด้วยตัวเองด้วย สิ่งนี้นำไปสู่ปัญหาการพึ่งพาน้อยลงหรือปัญหาการจัดการเวอร์ชัน
Prebuilt Binaries สำหรับ Linux, MacOS (Darwin), Windows มีอยู่ในหน้า Lal GitHub โดยธรรมชาติแล้วการใช้ไบนารีรุ่นล่าสุดเป็นวิธีที่แนะนำ รูปแบบการตั้งชื่อคือ lal_<version>_<platform>.zip เช่น lal_v0.20.0_linux.zip
LAL สามารถสร้างได้จากแหล่งที่มาไม่ว่าจะเป็น GO Compiler Toolchain ที่สามารถทำงานได้เช่นสำหรับสถาปัตยกรรมอื่น ๆ รวมถึง ARM32 และ MIPSLE ซึ่งได้รับการทดสอบโดยชุมชน
ตัวเลือกที่ 1 ใช้ภาพ prebuilt ที่ 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 ใช้ compose นักเทียบท่า
สร้างไฟล์ 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 -dRunning 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เล่น Multi Protocol Stream จาก 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 สตรีมเครื่องมือบัลลังก์ตัวอย่าง ไดเรกทอรีย่อยแต่ละรายการภายใต้ไดเรกทอรี ./app/demo แสดงถึงการสาธิตเล็ก ๆ
เป้าหมายของเราไม่เพียง แต่เป็นเซิร์ฟเวอร์การผลิตเท่านั้น แต่ยังเป็นแพ็คเกจที่เรียบง่ายด้วย API ที่กำหนดไว้อย่างดีเพื่อให้ผู้ใช้สามารถสร้างแอปพลิเคชันของตัวเองได้
LAL หมายถึง Live And Live ถ้าคุณอาจสงสัย
ข้อบกพร่อง, คำถาม, คำแนะนำ, สิ่งที่เกี่ยวข้องหรือไม่อย่าลังเลที่จะติดต่อฉันกับปัญหา lal github
MIT ดูใบอนุญาต
บันทึกนี้อัปเดตโดย Yoko, 202404