Та зөөврийн компьютер дээр хуудсыг шалгаж, тоглуулагч ажиллаж, тасалбар хаагдана. Нөгөө талын үзэгч ижил хуудсыг нээхэд хэзээ ч дуусахгүй эргэлдэх тэмдэг гарна. Ердийн тайлбар нь VPN сервер дээр байгаа тул тоглуулалт ажиллах ёстой гэсэн байдаг — гэтэл плейлистийг хүсдэг бүрэлдэхүүн нь хөтөч бөгөөд түүнд өөрийн сүлжээний зам бий. Хувийн хандалттай серверт суулгасан хуудас тэр хандалтыг түүнийг ачаалж буй хүнд зээлдүүлдэггүй.

Энэ нь HLS эх сурвалжийг, жишээ нь http://10.5.5.9:8080/live/stream.m3u8, тоглуулдаг одоо байгаа ASP.NET хуудасны тухай; энэ хаяг нь жишээний хувийн хаяг юм. Хоёр зохион байгуулалт ажилладаг; тэдний нэг нь магадгүй таны бүтээсэн нь биш.

Домог: ачаалагдсан хуудас медиа замыг баталдаг

Тэр хуудасны HTML таны вэб серверээс, таны вэб серверт байгаа аль ч маршрутаар ирдэг. Плейлист болон сегментүүд медиа эх сурвалжаас, хүсэлт илгээж буй бүрэлдэхүүнд байгаа аль ч маршрутаар ирдэг. Тоглуулагч үзэгчийн хөтөч дээр ажиллах үед эдгээр нь хоёр өөр клиент, хоёр өөр эх хаяг, ихэвчлэн хоёр өөр алдааны домэйн юм. Эхнийх нь амжилттай байгааг харсан нь хоёр дахь тухай юу ч хэлэхгүй.

Таны шалгалт үнэндээ баталсан зүйл харагдахаас хамаагүй явцуу: таны машин нийтийн хуудас болон хувийн медиа хост руу нэгэн зэрэг хүрдэг. Үзэгчийн машин туршилтын хэсэг болж байгаагүй.

Плейлист дараа нь юу шаарддаг вэ

RFC 8216 сегментүүдийг жагсаасан медиа плейлистийг бусад плейлистийг жагсаасан мастер плейлистээс ялгаж, харьцангуй URI-г тэдгээрийг агуулсан плейлистийн URI-д хамааруулан шийддэг. Хүмүүсийн алгасах хэсэг нь яг энэ дүрэм юм. Нэг .m3u8 файлыг амжилттай татах нь тоглуулалтын шалгалт биш, учир нь татсан файл нь индекс, медиа биш.

Гинжийг тоглуулагчийн хийдэг шиг дага: сонгосон плейлистийг нээ, дараа нь түүний нэрлэсэн нөөцийг хүс, дараа нь ямар ч дахин чиглүүлэлтийг дага. Хүрч болох вэб серверээр үйлчилсэн плейлист ч үзэгчийг хүрэх боломжгүй хувийн хаяг руу илгээж болно. Мөн адил, харьцангуй плейлистийг өөр URL руу зөөх нь түүний бичлэгүүд шийдэгдэх суурийг өөрчилдөг тул эхний харагдах URL-ийг дахин бичээд тэнд зогсох нь ихэвчлэн хүчинтэй мэт харагдах боловч тоглож чадахгүй плейлист үүсгэдэг.

Шууд үзэх: үзэгчид зам хэрэгтэй

Хэрэв үзэгчид медиа хост руу шууд хүрэх ёстой бол тэдний төхөөрөмжид зөвшөөрөгдсөн VPN эсвэл өөр хувийн зам, таны үнэндээ ашигласан нэрсийг шийддэг DNS, тэдгээр чиглэлд хүрэх зөвшөөрөл, медиа үйлчилгээний шаарддаг аливаа баталгаажуулалт хэрэгтэй. Тус бүрийг сервер дээр биш, үзэгчийн төхөөрөмж дээр шалгаарай. VPN профайл суулгасан боловч холбогдоогүй утсан дээрх хөтөч бол түгээмэл бөгөөд бүрэн давтагдах алдаа юм.

Энэ зохион байгуулалт эх сурвалжийг хувийн байлгаж, хандалтын шаардлагыг үзэгчдэд шилжүүлдэг. Энэ нь техникийн төдийгүй бодлогын шийдвэр тул эргэн тойронд нь зохион бүтээхээсээ өмнө төлөвлөсөн үзэгч бүрт тэр замыг эзэмших зөвшөөрөл байгааг баталгаажуулаарай.

Серверийн талаас хүргэх: нэг хяналттай орох цэг

Өөр хувилбар нь эх сурвалжийг өөрийн хувийн замаар татаж, зөвхөн үзэгч рүү харсан нөөцүүдийг дахин нийтэлдэг эрх бүхий медиа фронтэнд юм. Плейлист, сегментүүд болон аливаа түлхүүр нөөцийг тэр нэг орох цэгтэй уялдуулан байлга, эс бөгөөс тоглуулагч дахин бичсэн плейлистийг фронтэндээр, сегментүүдийг үзэгч хүрч чадахгүй хаягаас шууд авна.

Тэр фронтэнд дэх эх сурвалж болон зөвшөөрөгдсөн замыг хязгаарла. Хэрэглэгчийн өгсөн дур мэдэн URL нь ашигтай проксийг таны дотоод сүлжээний хязгааргүй татагч болгодог бөгөөд энэ нь тоглохгүй урсгалаас хамаагүй дор асуудал юм. Мөрийг дараа нь баталгаажуулахын оронд эх сурвалж болон замын угтварыг зөвшөөрөгдсөн жагсаалтад оруул.

Одоо байгаа HLS эх сурвалжийн хувьд эхлээд хяналттай дамжуулалт хангалттай эсэхийг шалга; дунд нь VPN байх нь транскод хийх шаардлагатай гэсэн үг биш. Дараа нь бодит хөтөч болон кодекийн хослолыг баталгаажуул, учир нь хүрч болох хариу болон дэмжигддэг формат нь хоёр тусдаа нөхцөл юм. Эх сурвалжийн TLS, баталгаажуулалт болон хөтчийн аюулгүй байдлын шаардлагыг хэвээр хадгал — суулгасан тоглуулагч тэдгээрээс чөлөөлөгдөхгүй.

URL-ийг биш, гинжийг шалга

Шалгалтыг хүсэлт бүрийг үнэхээр илгээх бүрэлдэхүүнээс гүйцэтгэж, алхам бүрийг өөрийн гэсэн үр дүн гэж үз:

curl -s http://10.5.5.9:8080/live/stream.m3u8
curl -s -o /dev/null -w '%{http_code}\n' http://10.5.5.9:8080/live/segment-000123.ts

Дараа нь үүнийг үзэгчийн өөрийнх нь хөтөч дээр зорьсон урсгалаар давт, ширээн дээрх туршилтын загвараар биш. Хуудас ачаалах, плейлист ачаалах, сегмент татах, зөвшөөрлийн алдаа гэсэн дөрвөн өөр үр дүн байдаг бөгөөд зассан гэж хэлэхийн өмнө дөрвийг нь харсан байхыг хүснэ. Хуучин жишээ нэг урсгалыг ингэж тоглуулсан учраас хуучирсан хөтчийн нэмэлт суулгаж болохгүй; дутуу хэсэг нь ихэвчлэн үзэгчийн зам эсвэл гарын үсэггүй сегментийн URL юм.

Зохион байгуулалт санаатай болсны дараа нэг мөрөнд бичиж үлдээ: медиаг хэн татдаг, ямар замаар, үзэгчид юу хүсэх зөвшөөрөлтэй. Тэр өгүүлбэр урсгал үнэндээ хэнд зориулагдсан тухай ирээдүйн маргааны ихэнхийг шийднэ.

Холбоотой нийтлэлүүд