რა არის RTSP და როგორ ხვდება კამერის ვიდეო საიტზე
RTSP ის „ენაა“, რომლითაც IP კამერა ვიდეოს გასცემს. ბრაუზერმა ეს ენა არ იცის, ამიტომ კამერის ბმული საიტზე პირდაპირ ვერ იმუშავებს — შუაში სერვერი სჭირდება, რომელიც მას ბრაუზერისთვის გასაგებ ფორმატად აქცევს.
RTSP ორი სიტყვით
RTSP (Real Time Streaming Protocol) არის პროტოკოლი, რომლითაც ჩამწერი (NVR/DVR), ვიდეომართვის პროგრამა ან უბრალოდ VLC კამერისგან ვიდეონაკადს ითხოვს. ის ტელევიზორის პულტს ჰგავს: კლიენტი კამერას ეუბნება „მითხარი, რა ნაკადები გაქვს“, „მოამზადე“, „დაიწყე“ (ბრძანებები DESCRIBE, SETUP, PLAY). თავად ვიდეო ცალკე, RTP პაკეტებით მოდის, პაკეტებში კი შეკუმშული გამოსახულებაა — თითქმის ყოველთვის H.264 ან H.265.
RTSP-ს თითქმის ყველა IP კამერა და ჩამწერი უჭერს მხარს: Hikvision, Dahua, Uniview, Axis, Hanwha და სხვები. სწორედ ამით აგროვებს ჩამწერი ვიდეოს კამერებიდან. სტანდარტული პორტია 554.
რისგან შედგება RTSP ბმული
RTSP ბმული ჩვეულებრივ ვებმისამართს ჰგავს, ოღონდ http://-ის ნაცვლად rtsp://-ით იწყება და შიგნით კამერის მომხმარებელი და პაროლიც შეიძლება ეწეროს:
rtsp://viewer:Pa55word@203.0.113.10:554/Streaming/Channels/101
| ნაწილი | მაგალითი | რას ნიშნავს |
|---|---|---|
| სქემა | rtsp:// | პროტოკოლი |
| მომხმარებელი | viewer | კამერის მომხმარებელი — სჯობს ცალკე, მხოლოდ ნახვის უფლებით |
| პაროლი | Pa55word | ამ მომხმარებლის პაროლი |
| მისამართი | 203.0.113.10 | კამერის ან როუტერის საჯარო IP, ან დომენი |
| პორტი | 554 | RTSP პორტი; თუ არ წერია, იგულისხმება 554 |
| გზა | /Streaming/Channels/101 | კონკრეტული ნაკადი კამერის შიგნით; ყველა მწარმოებელს თავისი აქვს |
გზა მწარმოებელზეა დამოკიდებული: Hikvision-ზე ეს არის /Streaming/Channels/101, Dahua-ზე — /cam/realmonitor?channel=1&subtype=0, Uniview-ზე — /unicast/c1/s0/live. სრული ცხრილი და ძებნის ხერხები: როგორ ვიპოვოთ RTSP ბმული.
კამერების უმეტესობა ორ ნაკადს გასცემს: ძირითადს (main stream) სრული გარჩევადობით და დამატებითს (sub stream) — დაბალი გარჩევადობითა და პატარა ბიტრეიტით. დამატებითი ნაკადი გამოგადგებათ, როცა ობიექტზე ინტერნეტის ატვირთვის სიჩქარე დაბალია.
რატომ ვერ უკრავს ბრაუზერი RTSP-ს
Chrome, Safari, Firefox და Edge ვიდეოს მხოლოდ HTTP(S)-ითა და WebRTC-ით იღებენ. RTSP ცალკე პროტოკოლია, რომელიც პირდაპირ TCP-სა და UDP-ზე მუშაობს, ვებგვერდს კი ასეთ კავშირზე წვდომა არ აქვს. ძველი გამოსავალი — VLC-ის, QuickTime-ის ან ActiveX-ის დანამატები — ბრაუზერებმა დიდი ხანია გათიშეს. ამიტომ rtsp:// ბმულს Chrome-ის მისამართის ზოლში თუ ჩასვამთ, არაფერი მოხდება.
ბრაუზერის გარდა, კამერის პირდაპირ საიტზე „გამოტანას“ კიდევ სამი პრობლემა აქვს:
- უსაფრთხოება. მაყურებელი კამერას პირდაპირ რომ უკავშირდებოდეს, მას კამერის IP მისამართი და პაროლი უნდა ჰქონდეს. საჯარო საიტისთვის ეს მიუღებელია.
- ინტერნეტის სიჩქარე. ყოველი მაყურებელი კამერიდან ცალკე ნაკადს მოითხოვდა: ათი მაყურებელი — ათჯერ მეტი ატვირთვა თქვენი ხაზიდან. ოფისის ან სასტუმროს ჩვეულებრივი ინტერნეტი ამას ვერ გაუძლებს.
- კოდეკი. H.265 ბევრ ბრაუზერში საერთოდ არ იკვრება.
რად ვაქცევთ RTSP-ს
VIDEOCAMERA LIVE-ის სერვერი თავად უკავშირდება თქვენს კამერას RTSP-ით და იღებს ერთ ნაკადს. შემდეგ ამ ნაკადს ბრაუზერისთვის გასაგებ ფორმატში ავრცელებს ყველა მაყურებელზე:
- WebRTC (WHEP) — პირველი არჩევანი: დაყოვნება მინიმალურია და სურათი თითქმის რეალურ დროშია.
- LL-HLS — სარეზერვო გზა, თუ ქსელი WebRTC-ს ბლოკავს (მაგალითად, მკაცრი კორპორატიული ფაიერვოლი). დაყოვნება ცოტა მეტია, მაგრამ ყველგან გადის.
H.264 კამერის ვიდეო, როგორც წესი, თავიდან არ იკუმშება — მხოლოდ ხელახლა „იფუთება“, ამიტომ ხარისხი ისეთივე რჩება, როგორსაც კამერა გასცემს. H.265 კამერას სისტემა თავად ცნობს და, სანამ ვინმე უყურებს, H.264-ად გარდაქმნის; როცა არავინ უყურებს, გარდაქმნა ჩერდება. დეტალები: H.265 ბრაუზერში.
მაყურებელი მხოლოდ ჩვენს პლეერს ხედავს. კამერის IP მისამართი და პაროლი მას არასოდეს მიეწოდება, პაროლი კი სერვერზე დაშიფრულად ინახება. მაყურებლების რაოდენობა თქვენს ინტერნეტზე არ მოქმედებს — კამერიდან მაინც ერთი ნაკადი მოდის.
TCP თუ UDP
RTSP-ის ბრძანებები ყოველთვის TCP-ით მიდის. თავად ვიდეო (RTP) კი ორი გზით შეიძლება გადაიცეს:
- TCP — ვიდეო იმავე კავშირით მოდის, რომლითაც ბრძანებები. საკმარისია ერთი გახსნილი პორტი, პაკეტები არ იკარგება და როუტერის პორტის გადამისამართებასაც უპრობლემოდ გადის. ინტერნეტით კავშირისთვის ეს საიმედო არჩევანია.
- UDP — ვიდეო ცალკე პორტებით მოდის. ლოკალურ ქსელში ოდნავ ნაკლებ რესურსს ხარჯავს, მაგრამ ინტერნეტით პაკეტები იკარგება (კადრზე ჩნდება ნაცრისფერი ლაქები და „დაშლილი“ გამოსახულება), NAT-სა და ფაიერვოლს კი ძნელად გადის.
დაშბორდში ყოველ კამერას აქვს TCP/UDP არჩევანი; ნაგულისხმევად TCP არის მონიშნული. ნუ შეცვლით, თუ კამერა TCP-ით ნამდვილად არ მუშაობს.
რა სჭირდება კამერას, რომ ჩვენამდე მოაღწიოს
ჩვენი სერვერი ინტერნეტშია, კამერა კი, როგორც წესი, თქვენს ლოკალურ ქსელში — 192.168.x.x მისამართზე. სერვერმა რომ დაუკავშირდეს, კამერა ან ჩამწერი გარედან უნდა ჩანდეს: საჯარო IP მისამართით და როუტერზე გადამისამართებული RTSP პორტით — იხ. პორტის გადამისამართება. როცა კავშირის ტესტი წარმატებით გაივლის, დარჩება მხოლოდ კამერის ჩასმა საიტზე.
RTSP ბმულს Chrome-ში ან Safari-ში თუ ჩავსვამ, გაიხსნება?
არა. ბრაუზერები RTSP-ს არ უჭერენ მხარს. ბმულის შესამოწმებლად გამოიყენეთ VLC (Media → Open Network Stream), საიტზე საჩვენებლად კი ნაკადი ჯერ WebRTC-ად ან HLS-ად უნდა გადაკეთდეს — ამას ჩვენი სერვერი აკეთებს.
რომელ პორტს იყენებს RTSP?
სტანდარტულად 554-ს, TCP-ით. ზოგ კამერაზე ის შეცვლილია — შეამოწმეთ კამერის ვებ-ინტერფეისში, ქსელის პარამეტრებში (ჩვეულებრივ Network → Port).
უჭერს თუ არა ჩემი კამერა მხარს RTSP-ს?
IP კამერებისა და ჩამწერების აბსოლუტური უმრავლესობა — დიახ. გამონაკლისია ზოგი იაფი Wi-Fi კამერა, რომელიც მხოლოდ მწარმოებლის ღრუბლოვან აპლიკაციასთან მუშაობს. გადაამოწმეთ ინსტრუქციაში ან იხ. როგორ ვიპოვოთ RTSP ბმული.
RTSP ნაკადი დაშიფრულია?
როგორც წესი, არა. ამიტომ კამერაზე შექმენით ცალკე მომხმარებელი მხოლოდ ნახვის უფლებით, შეცვალეთ ქარხნული პაროლი, განაახლეთ პროგრამა (firmware) და გარეთ გაიტანეთ მხოლოდ RTSP პორტი — არასოდეს ვებ-ადმინის პორტები 80/443/8000.
ძირითადი ნაკადი ავირჩიო თუ დამატებითი?
თუ ატვირთვის სიჩქარე იძლევა (1080p-ისთვის დაახლოებით 3–4 Mbit/წმ ერთ კამერაზე), ძირითადი. სუსტ ხაზზე დამატებითი ნაკადი უფრო სტაბილურ ლაივს მოგცემთ.