Камерын дамжуулалтыг нийтлэх: RTSP ба HLS нь нэг ирмэг биш
RTSP сессийн удирдлага ба HLS хүргэлт нь өөр өөр нийтийн ирмэг шаарддаг, хоёулаа VPN-ээр нэг камерт хүрсэн ч. Эхлээд үзэгчийн загварыг сонгоорой.
Та нэг камерын порт нээж, түүн рүү тоглуулагч чиглүүлж, интернетийн асуудал шийдэгдсэн гэж үзнэ. Дараа нь утас түүнийг тоглуулж чадахгүй, хөтөч түүнийг тоглуулж чадахгүй, камерын удирдлагын хуудас нийтийн ирмэгээс ердөө нэг буруу бичсэн зам алсад байна. Таны сонгосон хүргэлтийн загвар, RTSP эсвэл HLS, галт хананы ямар ч дүрэм бичигдэхээс өмнө үүний ихэнхийг шийддэг. VPN зөвхөн хувийн хэсгийг өгдөг.
VPN эх сурвалжийн замыг засдаг, үзэгчийн замыг биш
Туннелээр камерын орон нутгийн сүлжээнд холбогдсон VPS нь камерт түүний хувийн хаягаар хүрч чадна, энэ нь үнэхээр ашигтай. Энэ нь камерт өөрийн орох порт шаардлагагүй бөгөөд гэрийн чиглүүлэгч хаалттай хэвээр үлдэнэ гэсэн үг. Энэ нь үзэгч ямар хэлээр ярихыг танд хэлэхгүй. Ширээний тоглуулагч, хөтөч, утас болон ухаалаг телевизор өөр өөр протоколуудыг дэмждэг бөгөөд тус бүр нь TLS, баталгаажуулалт, кодекийн талаар өөрийн хүлээлттэй байдаг.
Энд хаях нь зүйтэй таамаглал байна: нийтлэх гэдэг нь эх сурвалжийг хүртээмжтэй болгох гэсэн үг. Нийтлэх нь үнэндээ тодорхой үзэгчдэд медиа хэрэглэх дэмжигдсэн арга замыг өгөх гэсэн үг. Нийтлэгдсэн дамжуулалт нь формат, үзэгчид, нэвтрэх мэдээлэлтэй; хүртээмжтэй камерт эдгээрийн аль нь ч байхгүй. Хүртээмж бол туннелийн шийддэг хэсэг, харин үзэгчийн орох цэг бол таны одоо ч зохион бүтээх ёстой хэсэг юм.
RTSP бол хэлэлцээр, нэг порт биш
RTSP нь сессийн удирдлагыг зөөдөг: клиент тодорхойлолт хүсч, нэг буюу хэд хэдэн медиа мөр тогтоож, дараа нь тоглуулна. Медиа өөрөө тээвэрлэгдэх нь тэр тохиргооны үеэр хэлэлцэгддэг тул протоколыг нэг чиглүүлсэн TCP портоор сайн дүрслэх боломжгүй. Тэр хэлэлцээр нь хүмүүс галт хананы дүрмийг харьцуулахдаа алддаг хэсэг юм.
Төгсгөлийн цэгүүдээс хамаарч RTP нь тусдаа UDP портууд дээр ирж болно эсвэл удирдлагын холболтод сүлжигдэж болно. Зөвхөн 554-ийг дамжуулж, үлдсэн нь ажиллана гэж үздэг реле нь ихэвчлэн холбогдож, нэг мөр мэдээлж, дараа нь юу ч харуулахгүй сесс үүсгэдэг. Дүрэм бичихээс өмнө камер тань яг ямар тээврийг хэлэлцдэгийг шалгаарай. Хувийн талын бичлэг үүнд нэг минутад хариулдаг бөгөөд таамаглах нь нэг оройг үнэлнэ.
Тохирох тоглуулагчтай жижиг, танигдсан үзэгчдийн хувьд санаатайгаар тохируулсан RTSP реле нь зөв хариулт байж болно. Энэ нь ямар эх сурвалжаас татаж болохыг хязгаарлаж, релед баталгаажуулалт шаардаарай. Туршисан тоглуулагчдаа бичиж аваарай, учир нь VLC-д ажилладаг RTSP дамжуулалт хөтөч программд бүтэлгүйтэж болно.
HLS бол тоглуулах жагсаалт ба нөөцүүд
HLS үзэгч тоглуулах жагсаалтыг татаж, дараа нь тэр жагсаалтын нэрлэсэн медиа сегментүүдийг татдаг. HLS тодорхойлолт тэр нөөцийн загварыг тодорхойлдог бөгөөд чухал үйл ажиллагааны нарийн ширийн зүйл нь тоглуулах жагсаалтууд бусад URL-д лавлагаа өгдөг явдал юм. Харьцангуй лавлагаа нь жагсаалтын байршилд тулгуурлан шийдэгддэг тул замыг дахин бичдэг прокси тэдгээрийг тууштай дахин бичих ёстой.
Хэрэв камер аль хэдийн ашиглах боломжтой HLS үйлчилдэг бол нийтийн фронтенд тэдгээр жагсаалт болон сегментийн хүсэлтийг туннелээр дамжуулж болно. Программын үүсгэдэг түлхүүр, дахин чиглүүлэлт, URL-д анхаарлаа хандуулаарай. Хувийн хост руу чиглэсэн аливаа абсолют URL нь орон нутгийн сүлжээнээс гадуурх үзэгч түүнийг дагах тэр мөчид эвдэрдэг. Харьцангуй зам нь проксигийн дахин бичилтээс амьд үлддэг зам тул үүсгэсэн гаралтыг хянадаг газар бүрт тэдгээрийг илүүд үзээрэй.
Хэрэв камер зөвхөн RTSP ярьдаг бол ямар нэгэн зүйл эх сурвалжийг үзэгчийн формат руу хөрвүүлэх ёстой. Дахин багцлах, транскодлох нь өөр ажил: дахин багцлах нь кодекийг хадгалдаг бол транскодлох нь нийцтэй байдлын үүднээс дахин кодлодог бөгөөд зөвхөн хоёр дахь нь ноцтой CPU зарцуулдаг. Аль нь ч зөвхөн замд VPN байгаа учраас шаардлагатай болохгүй.
Дээшлэх шугамыг түгээлт хаана явагдахаас хамааруулан төлөвлөөрэй. Нийтийн медиа үйлчилгээг тэжээдэг нэг хувийн хүлээн авалт нь өөрийн дамжуулалтыг туннелээр татдаг үзэгч бүрээс тэс өөр ажилладаг. Хоёр дахь хэв маяг нь ихэвчлэн дүүрсэн гэрийн холболт болон санамсаргүйгээр бүтэлгүйтэж байгаа мэт камераар төгсдөг.
Баталгаажуулалтыг таны нийтэлж буй ирмэг дээр тавь
TLS, үзэгчдийн баталгаажуулалт, нэвтрэлтийн бүртгэл нь нийтийн орох цэгт хамаарна, камерт биш. Энэ нь камерын нэвтрэх мэдээллийг дамжуулалтын нэвтрэх мэдээллээс тусгаар барина. Энэ нь мөн үзэгч гишүүн явахад хандалтыг цуцлах нэг газрыг өгдөг. Тэдгээр хяналтыг харин камерт тавих нь үзэгчдийн аливаа өөрчлөлт нь хэзээ ч нийтэд хүртээмжтэй байх ёсгүй төхөөрөмж дээрх захиргааны өөрчлөлт болно гэсэн үг.
VPN болон камерын захиргааны зөвшөөрлийг нийтлэх замаас тусгаар бариарай. Дамжуулалт татахын тулд камерын вэб интерфэйсэд хүрч чадах VPS нь тэр интерфэйсийг ил гаргадаг машин бас байх ёсгүй. Үзэгчид камерын хаягийг хэзээ ч мэдэх ёсгүй.
Дараа нь гинжин холбоос ажиллана гэж үзэхийн оронд таны үнэхээр барьсан хоёр төгсгөлийг шалгаарай:
$ ffprobe -v error -rtsp_transport tcp rtsp://10.50.0.9:554/stream1
$ curl -sI https://stream.example.net/live/index.m3u8
HTTP/2 200
content-type: application/vnd.apple.mpegurl
Хувийн эх сурвалжийг амжилттай шалгах, нийтийн ирмэг дээр тоглуулах жагсаалтыг амжилттай татах нь загварын өөр өөр талыг нотолдог. Тэдгээрийг тус тусад нь туршаарай. Таны үзэгчдийн ашигладаг ижил төрлийн клиентээс тоглуулах нь бүхэл гинжийг хамардаг цорын ганц туршилт юм.
Эцэст нь танд холбоос бүрдээ зорилготой гинж байна: хувийн эх сурвалж, хязгаарлагдмал хүлээн авалт, сонгосон багцлалт, зөвшөөрөгдсөн үзэгчийн орох хэсэг. Эдгээр холбоосын аль нь ч сонголттой биш бөгөөд аль нь ч порт онгойлгосноор үүсдэггүй.