2020 рдореЗрдВ рд╕рд╛рдЗрдЯ рдкрд░ рдЖрд░рдЯреАрдПрд╕рдкреА рдХреИрд╕реЗ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рдП, рдпрд╛ рдмреЛрдЕрд░реНрд╕ рдХреЗ рдкрд╛рд╕ рднрд╛рдЧрдиреЗ рдХрд╛ рд╕рдордп рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реИ


рдЖрд░рдЯреАрдПрд╕рдкреА рдПрдХ рд╕рд░рд▓ рд╕рд┐рдЧреНрдирд▓рд┐рдВрдЧ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╣реИ рдХрд┐ рдХрдИ рд╕рд╛рд▓реЛрдВ рддрдХ рд╡реЗ рдХрд┐рд╕реА рднреА рдЪреАрдЬрд╝ рд╕реЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рд╣рдореЗрдВ рдпрд╣ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╡реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред


рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ RTSP рд╕рдкреЛрд░реНрдЯ рд╡рд╛рд▓рд╛ IP рдХреИрдорд░рд╛ рд╣реИред рдЬрд┐рд╕рдиреЗ рднреА рд╢рд╛рд░реНрдХ рдХреЗрдмрд▓ рдХреЗ рд╕рд╛рде рдЯреНрд░реИрдлрд╝рд┐рдХ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рд╣реИ, рд╡рд╣ рдЖрдкрдХреЛ рдмрддрд╛рдПрдЧрд╛ рдХрд┐ DESCRIBE рдкрд╣рд▓реЗ рдЪрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдлрд┐рд░ PLAY рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рд╕реАрдзреЗ RTP рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрд╛ рдЙрд╕реА рдЯреАрд╕реАрдкреА рдЪреИрдирд▓ рдореЗрдВ рд▓рдкреЗрдЯрд╛ рдЬрд╛рддрд╛ рд╣реИред


рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ RTSP рдХрдиреЗрдХреНрд╢рди рд╕реЗрдЯрдЕрдк рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИ:



рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреЗ рд▓рд┐рдП, рдЖрд░рдЯреАрдПрд╕рдкреА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рд╕рдорд░реНрдерди рдмреЗрдорд╛рдиреА рд╣реИ рдФрд░ рдХреБрддреНрддреЗ рдХреА рддрд░рд╣ рдкрд╛рдВрдЪрд╡реЗрдВ рдкреИрд░ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рдЗрд╕рд▓рд┐рдП рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЗрд╕реЗ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЬрд▓реНрджреА рдореЗрдВ рдирд╣реАрдВ рд╣реИрдВ рдФрд░ рдХрднреА рднреА рдЗрд╕ рдкрд░ рдЖрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИред рджреВрд╕рд░реА рдУрд░, рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдкреНрд░рддреНрдпрдХреНрд╖ рдЯреАрд╕реАрдкреА рдХрдиреЗрдХреНрд╢рди рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рд╕реБрд░рдХреНрд╖рд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ - рдЖрдкрдиреЗ рдЙрд╕ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рдХрд╣рд╛рдВ рджреЗрдЦрд╛ рдЬреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╕реАрдзреЗ рдкрд░рд┐рд╡рд╣рди рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ?


рд▓реЗрдХрд┐рди рд▓реЛрдЧреЛрдВ рдХреЛ "рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдХрд┐рд╕реА рднреА рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ" рдПрдХ рд╕реНрдЯреНрд░реАрдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдФрд░ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдЕрдкрдиреА рд╕рд╛рдЗрдЯреЛрдВ рдкрд░ рд▓рд┐рдЦрддреЗ рд╣реИрдВ "рдЖрдкрдХреЛ рдХреБрдЫ рднреА рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ - рдпрд╣ рд╕рднреА рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ" рдЬрдм рд╡реЗ рдЖрдИрдкреА рдХреИрдорд░рд╛ рд╕реЗ рд╕реНрдЯреНрд░реАрдо рджрд┐рдЦрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред


рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдПрдВрдЧреЗ рдХрд┐ рдЗрд╕реЗ рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рдПред рдФрд░ рдЬрдм рд╕реЗ рдпрд╛рд░реНрдб рдореЗрдВ рдПрдХ рдЧреЛрд▓ рд╕рдВрдЦреНрдпрд╛ рд╣реИ, рд╣рдо рд▓реЗрдЦ рдХреЛ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХрддрд╛ рдирд╣реАрдВ рджреЗрдВрдЧреЗ рдФрд░ рд▓реЗрдмрд▓ 2020 рдХреЛ рд▓рдЯрдХрд╛ рджреЗрдВрдЧреЗ, рдЦрд╛рд╕рдХрд░ рдЬрдм рд╕реЗ рдпрд╣ рдРрд╕рд╛ рд╣реИред


рддреЛ, 2020 рдореЗрдВ рдПрдХ рд╡реЗрдм рдкреЗрдЬ рдкрд░ рд╡реАрдбрд┐рдпреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреМрди рд╕реА рддрдХрдиреАрдХреЛрдВ рдХреЛ рднреВрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП? рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдлреНрд▓реИрд╢ред рд╡рд╣ рдорд░ рдЪреБрдХрд╛ рд╣реИред рд╡рд╣ рдФрд░ рдирд╣реАрдВ рд╣реИ - рдмрд╛рд╣рд░ рдкрд╛рд░ред


рддреАрди рдЕрдЪреНрдЫреЗ рддрд░реАрдХреЗ


рд╡реЗ рдЙрдкрдХрд░рдг рдЬреЛ рдЖрдЬ рдЖрдкрдХреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рд╡реАрдбрд┐рдпреЛ рд╕реНрдЯреНрд░реАрдо рджреЗрдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдВрдЧреЗ:


  1. WebRTC
  2. HLS
  3. рд╡реЗрдмрд╕реЛрдХреЗрдЯ + рдПрдордПрд╕рдИ

WebRTC рдореЗрдВ рдХреНрдпрд╛ рдЧрд▓рдд рд╣реИ


рджреЛ рд╢рдмреНрдж: рд╕рдВрд╕рд╛рдзрди-рдЧрд╣рди рдФрд░ рдЬрдЯрд┐рд▓ред


рдЦреИрд░, рд╕рдВрд╕рд╛рдзрди рдХреА рддреАрд╡реНрд░рддрд╛ рдХреНрдпрд╛ рд╣реИ? - рдЖрдк рдЗрд╕реЗ рдмрдВрдж рдХрд░рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдЬ рдкреНрд░реЛрд╕реЗрд╕рд░ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╣реИрдВ, рдореЗрдореЛрд░реА рд╕рд╕реНрддреА рд╣реИ, рд╕рдорд╕реНрдпрд╛ рдХреНрдпрд╛ рд╣реИ? рдареАрдХ рд╣реИ, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рд╕рднреА рдпрд╛рддрд╛рдпрд╛рдд рдХрд╛ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдордЬрдмреВрд░ рд╣реИ, рднрд▓реЗ рд╣реА рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рди рд╣реЛред рджреВрд╕рд░реЗ, WebRTC рдПрдХ рдЬрдЯрд┐рд▓ рджреЛ-рддрд░рдлрд╝рд╛ рд╕рдВрдЪрд╛рд░ рд╣реИ рдФрд░ рд╕рд╣рдХрд░реНрдореА рдФрд░ рд╕рд╣рдХрд░реНрдореА (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕рд╣рдХрд░реНрдореА рдФрд░ рд╕рд░реНрд╡рд░ рдХреЗ рдмреАрдЪ) рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдкрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рд╣реЛрддрд╛ рд╣реИ - рдкреНрд░рддреНрдпреЗрдХ рдмрд╛рд░ рдЬрдм рдмрд┐рдЯрд░реЗрдЯ рдХреА рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИ, рддреЛ рдкреИрдХреЗрдЯ рдХреЗ рдиреБрдХрд╕рд╛рди рдХреЛ рдЯреНрд░реИрдХ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрдиреНрд╣реЗрдВ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрдгрдп рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рдЙрд╕рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░, рдСрдбрд┐рдпреЛ рдФрд░ рд╡реАрдбрд┐рдпреЛ рдХреЗ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди, рддрдерд╛рдХрдерд┐рдд рд▓рд┐рдкрд╕рд┐рдВрдХ рдХреА рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИ, рддрд╛рдХрд┐ рд╕реНрдкреАрдХрд░ рдХреЗ рд╣реЛрдВрда рдЙрд╕рдХреЗ рд╢рдмреНрджреЛрдВ рд╕реЗ рдЕрд▓рдЧ рди рд╣реЛрдВред рдпреЗ рд╕рднреА рдЧрдгрдирд╛, рд╕рд╛рде рд╣реА рд╕рд╛рде рд╕рд░реНрд╡рд░ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдЯреНрд░реИрдлрд╝рд┐рдХ, рд░реИрдо рдХреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдХреЗ рдЧреАрдЧрд╛рдмрд╛рдЗрдЯреНрд╕ рдХреЛ рдЖрд╡рдВрдЯрд┐рдд рдФрд░ рдореБрдХреНрдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдпрджрд┐ рдХреБрдЫ рдЧрд▓рдд рд╣реЛрддрд╛ рд╣реИ, рддреЛ 48 рдЧреАрдЧрд╛ рдХреЛрд░ рдХреЗ рд╕рд╛рде 256 рдЧреАрдЧрд╛рдмрд╛рдЗрдЯ рд╕рд░реНрд╡рд░ рдЖрд╕рд╛рдиреА рд╕реЗ рд╕рднреА рдЧрд┐рдЧрд░реНрдЯреЗрдЬрд╝, рдиреИрдиреЛрдореАрдЯрд░ рдФрд░ рдбреАрдбреАрдЖрд░ 10 рдХреЗ рдмрд╛рд╡рдЬреВрдж рдПрдХ рдЯреЗрд▓рд╕реНрдкрд┐рди рдореЗрдВ рдЪрд▓рд╛ рдЬрд╛рдПрдЧрд╛ред рдмреЛрд░реНрдб рдкрд░ред


рдпрд╣ рдЗрд╕реНрдХрдВрджрд░ рд╕реЗ рд╕реНрдкреИрд░реЛ рдореЗрдВ рд╢реВрдЯрд┐рдВрдЧ рдХреЛ рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИред рд╣рдореЗрдВ рдмрд╕ рдЖрд░рдЯреАрдПрд╕рдкреА рд╕реНрдЯреНрд░реАрдо рдХреЛ рдЪреВрд╕рдиреЗ рдФрд░ рдЗрд╕реЗ рджрд┐рдЦрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рд╡реЗрдмрдЖрд░рдЯреАрд╕реА рдХрд╣рддрд╛ рд╣реИ: рд╣рд╛рдБ, рдЖрдЧреЗ рдмрдврд╝реЛ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рднреБрдЧрддрд╛рди рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред


WebRTC рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рдЕрдЪреНрдЫрд╛ рд╣реИ


рд╡рд┐рд▓рдВрдмред рд╡рд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрдо рд╣реИред рдпрджрд┐ рдЖрдк рдХрдо рд╡рд┐рд▓рдВрдмрддрд╛ рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд░реНрд╢рди рдФрд░ рдЬрдЯрд┐рд▓рддрд╛ рдХреЗ рд╕рд╛рде рднреБрдЧрддрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИрдВ, рддреЛ WebRTC рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реИред


рдПрдЪрдПрд▓рдПрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рдЕрдЪреНрдЫрд╛ рд╣реИ


рджреЛ рд╢рдмреНрдж: рд╣рд░ рдЬрдЧрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ


рдПрдЪрдПрд▓рдПрд╕ рд▓рд╛рдЗрд╡ рдХрдВрдЯреЗрдВрдЯ рдбрд┐рд╕реНрдкреНрд▓реЗ рдХреА рджреБрдирд┐рдпрд╛ рдХрд╛ рд╕рдмрд╕реЗ рдзреАрдорд╛ рдСрд▓-рдЯреЗрд░реЗрди рд╡реНрд╣реАрдХрд▓ рд╣реИред рд╣рд░ рдЬрдЧрд╣ рдпрд╣ рджреЛ рдЪреАрдЬреЛрдВ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ: HTTP рдкрд░рд┐рд╡рд╣рди рдФрд░ Apple рд╕рдВрд░рдХреНрд╖рдгред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, HTTP рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╕рд░реНрд╡рд╡реНрдпрд╛рдкреА рд╣реИ, рдореИрдВ рдЗрди рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рд▓рд┐рдЦрддреЗ рд╕рдордп рднреА рдЕрдкрдиреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдорд╣рд╕реВрд╕ рдХрд░рддрд╛ рд╣реВрдВред рдЗрд╕рд▓рд┐рдП, рдЬрд╣рд╛рдВ рднреА рдЖрдк рд╣реИрдВ рдФрд░ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рдкреНрд░рд╛рдЪреАрди рдЯреИрдмрд▓реЗрдЯ рд╕рд░реНрдл рдХреИрд╕реЗ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдПрдЪрдПрд▓рдПрд╕ (рдПрдЪрдЯреАрдЯреАрдкреА рд▓рд╛рдЗрд╡ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ) рдЖрдк рддрдХ рдкрд╣реБрдВрдЪ рдЬрд╛рдПрдЧрд╛ рдФрд░ рд╡реАрдбрд┐рдпреЛ рдХреЛ рдЖрдкрдХреА рд╕реНрдХреНрд░реАрди рдкрд░ рд╡рд┐рддрд░рд┐рдд рдХрд░реЗрдЧрд╛, рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВред


рдФрд░ рд╕рдм рдареАрдХ рд╣реЛ рдЬрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рдиред


рдЦрд░рд╛рдм рдПрдЪрдПрд▓рдПрд╕ рд╕реЗ


рд╡рд┐рд▓рдВрдмред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирд┐рд░реНрдорд╛рдг рд╕реНрдерд▓ рдХреЗ рд▓рд┐рдП рд╡реАрдбрд┐рдпреЛ рдирд┐рдЧрд░рд╛рдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рд╣реИрдВред рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рд╡рд░реНрд╖реЛрдВ рд╕реЗ рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рдФрд░ рдЗрд╕ рд╕рдордп рдПрдХ рджреБрд░реНрднрд╛рдЧреНрдпрдкреВрд░реНрдг рдХрдХреНрд╖, рджрд┐рди рдФрд░ рд░рд╛рдд, рдирд┐рд░реНрдорд╛рдг рд╕реНрдерд▓ рдХреЛ 24 рдШрдВрдЯреЗ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИред рдпрд╣ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдЬрд╣рд╛рдВ рдХрдо рд╡рд┐рд▓рдВрдмрддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред


рдПрдХ рдФрд░ рдЙрджрд╛рд╣рд░рдг рдЬрдВрдЧрд▓реА рд╕реВрдЕрд░ рд╣реИред рдЕрд╕рд▓реА рд╕реВрдЕрд░ред рдУрд╣рд┐рдпреЛ рдХреЗ рдХрд┐рд╕рд╛рди рдЬрдВрдЧрд▓реА рд╕реВрдЕрд░ рдХреЗ рдЖрдХреНрд░рдордг рд╕реЗ рдкреАрдбрд╝рд┐рдд рд╣реИрдВ, рдЬреЛ рдЯрд┐рдбреНрдбрд┐рдпреЛрдВ рдХреА рддрд░рд╣, рдлрд╕рд▓реЗрдВ рдЦрд╛рддреЗ рд╣реИрдВ рдФрд░ рдлрд╕рд▓ рдХрд╛рдЯрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдЕрд░реНрдерд╡реНрдпрд╡рд╕реНрдерд╛ рдХреА рд╡рд┐рддреНрддреАрдп рднрд▓рд╛рдИ рдХреЛ рдЦрддрд░рд╛ рд╣реЛрддрд╛ рд╣реИред рдЙрджреНрдпрдореА рд╕реНрдЯрд╛рд░реНрдЯрдЕрдкреНрд╕ рдиреЗ рдЖрд░рдЯреАрдПрд╕рдкреА рдХреИрдорд░реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╡реАрдбрд┐рдпреЛ рдирд┐рдЧрд░рд╛рдиреА рдкреНрд░рдгрд╛рд▓реА рд╢реБрд░реВ рдХреА рд╣реИ, рдЬреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ рднреВрдорд┐ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рддреА рд╣реИ рдФрд░ рдмрд┐рди рдмреБрд▓рд╛рдП рдореЗрд╣рдорд╛рдиреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЖрдХреНрд░рдордг рдХрд░рдиреЗ рдкрд░ рдЬрд╛рд▓ рдХреЛ рдХрдо рдХрд░рддреА рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХрдо рджреЗрд░реА рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдФрд░ рдПрдЪрдПрд▓рдПрд╕ (15 рд╕реЗрдХрдВрдб рдХреА рджреЗрд░реА рдХреЗ рд╕рд╛рде) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдЬрд╛рд▓ рд╕рдХреНрд░рд┐рдп рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╣реА рднрд╛рдЧ рдЬрд╛рдПрдВрдЧреЗред



рдПрдХ рдФрд░ рдЙрджрд╛рд╣рд░рдг: рд╡реАрдбрд┐рдпреЛ рдкреНрд░рд╕реНрддреБрддрд┐рдпрд╛рдБ рдЬрд┐рд╕рдореЗрдВ рдЖрдк рдЙрддреНрдкрд╛рдж рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдПрдХ рддреНрд╡рд░рд┐рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реИрдВред рдПрдХ рдмрдбрд╝реА рджреЗрд░реА рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╡реЗ рдЖрдкрдХреЛ рдХреИрдорд░реЗ рдореЗрдВ рд╕рд╛рдорд╛рди рджрд┐рдЦрд╛рдПрдВрдЧреЗ, рдлрд┐рд░ рд╡реЗ рдкреВрдЫреЗрдВрдЧреЗ "рдХреИрд╕реЗ?" рдФрд░ рдпрд╣ рдХреЗрд╡рд▓ 15 рд╕реЗрдХрдВрдб рдореЗрдВ рдкрд╣реБрдВрдЪ рдЬрд╛рдПрдЧрд╛ред 15 рд╕реЗрдХрдВрдб рдореЗрдВ, рд╕рд┐рдЧреНрдирд▓ рдХреЛ рдЪрдВрджреНрд░рдорд╛ рдФрд░ рдкреАрда рдкрд░ 12 рдмрд╛рд░ рдЪрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдирд╣реАрдВ, рд╣рдореЗрдВ рдРрд╕реА рджреЗрд░реА рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИред рдпрд╣ рд▓рд╛рдЗрд╡ рдкрд░ рдкреНрд░реА-рд░рд┐рдХреЙрд░реНрдбреЗрдб рд╡реАрдбрд┐рдпреЛ рджрд┐рдЦрд╛рдиреЗ рд╕реЗ рдЬреНрдпрд╛рджрд╛ рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЖрд╢реНрдЪрд░реНрдп рдХреА рдХреЛрдИ рдмрд╛рдд рдирд╣реАрдВ рд╣реИ, рдПрдЪрдПрд▓рдПрд╕ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ: рдпрд╣ рдбрд┐рд╕реНрдХ рдкрд░ рдпрд╛ рд╕рд░реНрд╡рд░ рдХреА рдореЗрдореЛрд░реА рдореЗрдВ рд╡реАрдбрд┐рдпреЛ рдХреЗ рдЯреБрдХрдбрд╝реЗ рд▓рд┐рдЦрддрд╛ рд╣реИ, рдФрд░ рдЦрд┐рд▓рд╛рдбрд╝реА рд░рд┐рдХреЙрд░реНрдб рдХрд┐рдП рдЧрдП рдЯреБрдХрдбрд╝реЛрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдкрд░рд┐рдгрд╛рдо HTTP рд▓рд╛рдЗрд╡ рд╣реИ, рдЬреЛ рдмрд┐рд▓реНрдХреБрд▓ рднреА рд▓рд╛рдЗрд╡ рдирд╣реАрдВ рд╣реИред


рдРрд╕рд╛ рдХреНрдпреЛрдВ рд╣реЛ рд░рд╣рд╛ рд╣реИ? рдПрдЪрдЯреАрдЯреАрдкреА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреА рд╕рд░реНрд╡рд╡реНрдпрд╛рдкрдХрддрд╛ рдФрд░ рдЗрд╕рдХреА рд╕рд╛рджрдЧреА рдЕрдВрддрддрдГ рдирд┐рд╖реЗрдз рдореЗрдВ рддрдмреНрджреАрд▓ рд╣реЛ рдЬрд╛рддреА рд╣реИ - рдареАрдХ рд╣реИ, рдПрдЪрдЯреАрдЯреАрдкреА рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рд╡реАрдбрд┐рдпреЛ рдХреЗ рд╣рдЬрд╛рд░реЛрдВ рдмрдбрд╝реЗ рдЯреБрдХрдбрд╝реЛрдВ (рдПрдЪрдПрд▓рдПрд╕ рд╕реЗрдЧрдореЗрдВрдЯ) рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдФрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реНрддреЗрдорд╛рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдерд╛ред рдмреЗрд╢рдХ, рд╡реЗ рдЕрдЪреНрдЫреА рдЧреБрдгрд╡рддреНрддрд╛ рдХреЗ рд╕рд╛рде рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЦреЗрд▓рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдмрд╣реБрдд рдзреАрд░реЗ-рдзреАрд░реЗ - рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддреЗ рд╕рдордп, рдмрдлрд╝рд░ рдХрд░рддреЗ рд╕рдордп, рдбрд┐рдХреЛрдбрд░ рдкрд░ рдЬрд╛рдПрдВ, рд╡рд╣реА 15 рд╕реЗрдХрдВрдб рдпрд╛ рдЙрд╕рд╕реЗ рдЕрдзрд┐рдХ рдЧреБрдЬрд░реЗрдВрдЧреЗред


рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ 2019 рдХреЗ рдкрддрди рдореЗрдВ Apple рдиреЗ HLS рд▓реЛ рд▓реЗрдЯреЗрдВрд╕реА рдХреА рдШреЛрд╖рдгрд╛ рдХреА, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдФрд░ рдХрд╣рд╛рдиреА рд╣реИред рд╣рдо рдмрд╛рдж рдореЗрдВ рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдХреНрдпрд╛ рд╣реБрдЖ, рдЗрд╕ рдкрд░ рдЧреМрд░ рдХрд░реЗрдВрдЧреЗред рдФрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрднреА рднреА рд╕реНрдЯреЙрдХ рдореЗрдВ рдПрдордПрд╕рдИ рд╣реИред


рдЕрдЪреНрдЫрд╛ MSE рдХреНрдпрд╛ рд╣реИ


рдореАрдбрд┐рдпрд╛ рд╕реНрд░реЛрдд рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдмреИрдЪ рд╡реАрдбрд┐рдпреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рджреЗрд╢реА рд╕рдорд░реНрдерди рд╣реИред рд╣рдо рдПрдЪ .264 рдФрд░ рдПрдПрд╕реА рдХреЗ рд▓рд┐рдП рдПрдХ рджреЗрд╢реА рдЦрд┐рд▓рд╛рдбрд╝реА рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рд╡реАрдбрд┐рдпреЛ рд╕реЗрдЧрдореЗрдВрдЯ рдХреЛ рдЦрд┐рд▓рд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЬреЛ рдПрдЪрдПрд▓рдПрд╕ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдкрд░рд┐рд╡рд╣рди рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╕реЗ рдЬреБрдбрд╝рд╛ рдирд╣реАрдВ рд╣реИред рдЗрд╕ рдХрд╛рд░рдг рд╕реЗ, Websockets рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд░рд┐рд╡рд╣рди рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рд╕реЗрдЧрдореЗрдВрдЯ рдХреЛ рдЕрдм рдкреНрд░рд╛рдЪреАрди рдЕрдиреБрд░реЛрдз-рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ (HTTP) рддрдХрдиреАрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбрд╛рдЙрдирд▓реЛрдб рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡реЗрдмрд╕реНрдХреЗрдЯреНрд╕ рдХрдиреЗрдХреНрд╢рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдордЬреЗрджрд╛рд░ рдкреНрд░рд╡рд╛рд╣ - рд▓рдЧрднрдЧ рд╕реАрдзрд╛ рдЯреАрд╕реАрдкреА рдЪреИрдирд▓ред рдпрд╣ рджреЗрд░реА рдХреЛ рдХрдо рдХрд░рдиреЗ рдореЗрдВ рдмрд╣реБрдд рдорджрдж рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ 3-5 рд╕реЗрдХрдВрдб рддрдХ рдХрдо рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рджреЗрд░реА рд╕реБрдкрд░ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХрд╛рдВрд╢ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реИ, рдЬрд┐рдиреНрд╣реЗрдВ рдХрдард┐рди рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЬрдЯрд┐рд▓рддрд╛ рдФрд░ рд╕рдВрд╕рд╛рдзрди рдХреА рдЦрдкрдд рднреА рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдХрдо рд╣реИ - рдПрдХ рдЯреАрд╕реАрдкреА рдЪреИрдирд▓ рдЦреБрд▓рддрд╛ рд╣реИ рдФрд░ рд▓рдЧрднрдЧ рдПрдЪрдПрд▓рдПрд╕ рд╕реЗрдЧрдореЗрдВрдЯ рдореЗрдВ рдкреНрд░рд╡рд╛рд╣ рд╣реЛрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЦрд┐рд▓рд╛рдбрд╝реА рджреНрд╡рд╛рд░рд╛ рдПрдХрддреНрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдкреНрд▓реЗрдмреИрдХ рдХреЗ рд▓рд┐рдП рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред


MSE рдХреНрдпрд╛ рдмреБрд░рд╛ рд╣реИ


рдпрд╣ рд╣рд░ рдЬрдЧрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ WebRTC рдХреА рддрд░рд╣, рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдкреИрда рдХрдо рд╣реИред IPhones (iOS) рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ MSE рдирд╣реАрдВ рдЦреЗрд▓рдиреЗ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдЬреЛ MSE рдХреЛ рдХрд┐рд╕реА рднреА рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдХреЗ рд▓рд┐рдП рдПрдХрдорд╛рддреНрд░ рд╕рдорд╛рдзрд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдиреБрдкрдпреБрдХреНрдд рдмрдирд╛рддрд╛ рд╣реИред


рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЙрдкрд▓рдмреНрдз: рдПрдЬ, рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕, рдХреНрд░реЛрдо, рд╕рдлрд╛рд░реА, рдПрдВрдбреНрд░реЙрдЗрдб рдмреНрд░рд╛рдЙрдЬрд╝рд░, рдУрдкреЗрд░рд╛ рдореЛрдмрд╛рдЗрд▓, рдПрдВрдбреНрд░реЙрдЗрдб рдХреЗ рд▓рд┐рдП рдХреНрд░реЛрдо, рдПрдВрдбреНрд░реЙрдЗрдб рдХреЗ рд▓рд┐рдП рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕, рдПрдВрдбреНрд░реЙрдЗрдб рдХреЗ рд▓рд┐рдП рдпреВрд╕реА рдмреНрд░рд╛рдЙрдЬрд╝рд░



IOS Safari рдХреЛ рд╣рд╛рд▓ рд╣реА рдореЗрдВ MSE рдХреЗ рд▓рд┐рдП рд╕реАрдорд┐рдд рд╕рдорд░реНрдерди рдорд┐рд▓рд╛ рд╣реИ, рдЬреЛ iOS рдХреЗ рд╕рдВрд╕реНрдХрд░рдг 13 рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред



Rtsp рдкреИрд░


рд╣рдордиреЗ рд╡реАрдбрд┐рдпреЛ рд╕рд░реНрд╡рд░> рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдкрд░ рд╢рд┐рдкрд┐рдВрдЧ рдкрд░ рдЪрд░реНрдЪрд╛ рдХреАред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рджреЛ рдФрд░ рдЪреАрдЬреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА:


1) рдЖрдИрдкреА рдХреИрдорд░рд╛ рд╕реЗ рд╕рд░реНрд╡рд░ рдкрд░ рд╡реАрдбрд┐рдпреЛ рд╡рд┐рддрд░рд┐рдд рдХрд░реЗрдВред


2) рдЙрдкрд░реЛрдХреНрдд рдкреНрд░рд╛рд░реВрдк / рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдкреНрдд рд╡реАрдбрд┐рдпреЛ рдХреЛ рдХрдирд╡рд░реНрдЯ рдХрд░реЗрдВред


рдпрд╣рд╛рдВ рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб рджреГрд╢реНрдп рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рддрд╛ рд╣реИред


рдЯреИрдЯрдо ... рд╡реЗрдм рдХреЙрд▓ рд╕рд░реНрд╡рд░ 5 (рдкрд░рд┐рдЪрд┐рддреЛрдВ рдХреЗ рд▓рд┐рдП рдмрд╕ рдбрдмреНрд▓реНрдпреВрд╕реАрдПрд╕)ред рдХрд┐рд╕реА рдХреЛ рдЖрд░рдЯреАрдПрд╕рдкреА рдЯреНрд░реИрдлрд╝рд┐рдХ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рд╡реАрдбрд┐рдпреЛ рдХреЛ рдареАрдХ рд╕реЗ рдкреИрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЗрд╕реЗ рд╡реЗрдмрдЖрд░рдЯреАрд╕реА, рдПрдЪрдПрд▓рдПрд╕ рдпрд╛ рдПрдордПрд╕рдИ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░реЗрдВ, рдЕрдзрд┐рдорд╛рдирддрдГ рдПрдХ рдЯреНрд░рд╛рдВрд╕рдХреЛрдбрд░ рджреНрд╡рд╛рд░рд╛ рдирд┐рдЪреЛрдбрд╝рд╛ рдЬрд╛рдП рдмрд┐рдирд╛, рдФрд░ рдЗрд╕реЗ рдХрд▓рд╛рдХреГрддрд┐рдпреЛрдВ рдФрд░ рдлреНрд░реАрдЬ рдореЗрдВ рдЦрд░рд╛рдм рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдП, рдЗрд╕реЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рджреЗ рджреЗрдВред


рдХрд╛рд░реНрдп, рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ, рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдмрд╣реБрдд рд╕рд╛рд░реЗ рдиреБрдХрд╕рд╛рди, рдЪреАрдиреА рдХреИрдорд░реЗ рдФрд░ рд░реВрдкрд╛рдВрддрд░рдг рдХреА рдмрд╛рд░реАрдХрд┐рдпрд╛рдВ рд╣реИрдВ рдЬреЛ рднрдпрд╛рдирдХ рд╣реИрдВред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд╣реИрдХ рдХреЗ рдмрд┐рдирд╛ рдирд╣реАрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЙрддреНрдкрд╛рджрди рдореЗрдВред


рд╡рд┐рддрд░рдг рдпреЛрдЬрдирд╛


рдирддреАрдЬрддрди, рдПрдХ рдордзреНрдпрд╡рд░реНрддреА рд╕рд░реНрд╡рд░ рдкрд░ рд░реВрдкрд╛рдВрддрд░рдг рдХреЗ рд╕рд╛рде RTSP рд╕рд╛рдордЧреНрд░реА рд╡рд┐рддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдордЧреНрд░ рдпреЛрдЬрдирд╛ рдЙрднрд░рддреА рд╣реИред



рд╣рдорд╛рд░реЗ рднрд╛рд░рддреАрдп рд╕рд╣рдпреЛрдЧрд┐рдпреЛрдВ рдХреЗ рд╕рдмрд╕реЗ рд▓рдЧрд╛рддрд╛рд░ рдЕрдиреБрд░реЛрдзреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ тАЬрдХреНрдпрд╛ рдпрд╣ рд╕рдВрднрд╡ рд╣реИ? рдмрд┐рдирд╛ рд╕рд░реНрд╡рд░ рдХреЗ рд╕реАрдзреЗ? тАЭ рдирд╣реАрдВ, рдпрд╣ рдЕрд╕рдВрднрд╡ рд╣реИ - рдЖрдкрдХреЛ рдПрдХ рд╕рд░реНрд╡рд░ рднрд╛рдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рдпрд╣ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рдмрд╛рджрд▓ рдореЗрдВ, рд▓реЛрд╣реЗ рдХреЗ рдЯреБрдХрдбрд╝реЗ рдкрд░, рдмрд╛рд▓рдХрдиреА рдкрд░ рдХреЛрд░реА 7 рдкрд░, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдЗрд╕рдХреЗ рдмрд┐рдирд╛ред


рд╣рдорд╛рд░реЗ 2020 рдкрд░ рд╡рд╛рдкрд╕


рддреЛ, рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ RTSP рдХреЗ рд▓рд┐рдП рдиреБрд╕реНрдЦрд╛:


  1. рдПрдХ рддрд╛рдЬрд╛ WCS (рд╡реЗрдм тАЛтАЛрдХреЙрд▓ рд╕рд░реНрд╡рд░) рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред
  2. рд╕реНрд╡рд╛рдж рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ: WebRTC, HLS рдпрд╛ MSEред
  3. рдПрдХ рд╡реЗрдм рдкреЗрдЬ рдкрд░ рдмрд╛рд╣рд░ рд░рдЦрдирд╛ред


    рдмреЛрди рдПрдкреЗрдЯрд┐рдЯ!



рдирд╣реАрдВ, рдЕрднреА рддрдХ рдирд╣реАрдВ


рдЬрд┐рдЬреНрдЮрд╛рд╕реБ рдиреНрдпреВрд░реЙрдиреНрд╕ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╕рд╡рд╛рд▓ рд╣реЛрдЧрд╛ "рдХреИрд╕реЗ?" рд╡реИрд╕реЗ рдпрд╣ рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИ? рдпрд╣ рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдХреИрд╕рд╛ рджрд┐рдЦреЗрдЧрд╛? тАЭ рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдШреБрдЯрдиреЗ рдкрд░ рдмрдирд╛ рдиреНрдпреВрдирддрдо рд╡реЗрдмрдЖрд░рдЯреАрд╕реА рдЦрд┐рд▓рд╛рдбрд╝реА рд╣реИ:


1) рд╣рдо рдореБрдЦреНрдп рдПрдкреАрдЖрдИ рдХреЗ рд╡реЗрдм рдкреЗрдЬ рдХреЗ рд▓рд┐рдП Flashphoner.js рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ my_player.js рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрдиреЗрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕реЗ рд╣рдо рдереЛрдбрд╝реА рджреЗрд░ рдмрд╛рдж рдмрдирд╛рдПрдВрдЧреЗред


<script type="text/javascript" src="../../../../flashphoner.js"></script> <script type="text/javascript" src=my_player.js"></script> 

2) рд╣рдо рд╡реЗрдм рдкреЗрдЬ рдХреА рдмреЙрдбреА рдореЗрдВ рдПрдкреАрдЖрдИ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рддреЗ рд╣реИрдВ


 <body onload="init_api()"> 

3) рд╣рдо рдкреЗрдЬ рдбрд┐рд╡ рдкрд░ рдлреЗрдВрдХрддреЗ рд╣реИрдВ, рдЬреЛ рд╡реАрдбрд┐рдпреЛ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрдВрдЯреЗрдирд░ рд╣реЛрдЧрд╛ред рд╣рдо рдЙрд╕реЗ рдЖрдХрд╛рд░ рдФрд░ рд╕реАрдорд╛ рджрд┐рдЦрд╛рдПрдВрдЧреЗред


 <div id="myVideo" style="width:320px;height:240px;border: solid 1px"></div> 

4) рдПрдХ рдкреНрд▓реЗ рдмрдЯрди рдЬреЛрдбрд╝реЗрдВ, рдЬрд┐рд╕ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рд╕реЗ рд╕рд░реНрд╡рд░ рд╕реЗ рдХрдиреЗрдХреНрд╢рди рд╢реБрд░реВ рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдкреНрд▓реЗрдмреИрдХ рд╢реБрд░реВ рд╣реЛ рдЬрд╛рдПрдЧрд╛


 <input type="button" onclick="connect()" value="PLAY"/> 

5) рдЕрдм рд╕реНрдХреНрд░рд┐рдкреНрдЯ my_player.js рдмрдирд╛рдПрдВ - рдЬрд┐рд╕рдореЗрдВ рд╣рдорд╛рд░реЗ рдЦрд┐рд▓рд╛рдбрд╝реА рдХрд╛ рдореБрдЦреНрдп рдХреЛрдб рд╣реЛрдЧрд╛ред рд╣рдо рд╕реНрдерд┐рд░рд╛рдВрдХ рдФрд░ рдЪрд░ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВ


 var SESSION_STATUS = Flashphoner.constants.SESSION_STATUS; var STREAM_STATUS = Flashphoner.constants.STREAM_STATUS; var session; 

6) рд╣рдо HTML рдкреЗрдЬ рдХреЛ рд▓реЛрдб рдХрд░рддреЗ рд╕рдордп рдПрдкреАрдЖрдИ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рддреЗ рд╣реИрдВ


 function init_api() { console.log("init api"); Flashphoner.init({ }); } 

7) WebSocket рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ WCS рд╕рд░реНрд╡рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВред рд╕рдм рдХреБрдЫ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрдкрдиреЗ WCS рдХреЗ рд╕рд╛рде "wss: //demo.flashphoner.com" рдмрджрд▓реЗрдВ


 function connect() { session = Flashphoner.createSession({urlServer: "wss://demo.flashphoner.com"}).on(SESSION_STATUS.ESTABLISHED, function(session){ console.log("connection established"); playStream(session); }); } 

8) рдЕрдЧрд▓рд╛, рд╣рдо рджреЛ рдкреИрд░рд╛рдореАрдЯрд░ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ: рдирд╛рдо рдФрд░ рдкреНрд░рджрд░реНрд╢рди: рдирд╛рдо - рд╕реНрдЯреНрд░реАрдо рдХрд╛ RTSP URLред рдкреНрд░рджрд░реНрд╢рди - myVideo рддрддреНрд╡ рдЬрд┐рд╕рдореЗрдВ рд╣рдорд╛рд░рд╛ рдЦрд┐рд▓рд╛рдбрд╝реА рдорд╛рдЙрдВрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣рд╛рдВ, рдЖрдкрдХреЛ рд╣рдорд╛рд░реА рдмрдЬрд╛рдп рд╕реНрдЯреНрд░реАрдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХрд╛ URL рднреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред


 function playStream() { var options = {name:"rtsp://b1.dnsdojo.com:1935/live/sys2.stream",display:document.getElementById("myVideo")}; var stream = session.createStream(options).on(STREAM_STATUS.PLAYING, function(stream) { console.log("playing"); }); stream.play(); } 

рд╣рдо рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рд╣реЗрдЬрддреЗ рд╣реИрдВ рдФрд░ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВред рдХреНрдпрд╛ рдЖрдкрдХрд╛ рдЖрд░рдЯреАрдПрд╕рдкреА рд╕реНрдЯреНрд░реАрдо рдЦреЗрд▓ рд░рд╣рд╛ рд╣реИ?


рдЬрдм рд╣рдордиреЗ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛, рддреЛ рд╣рдордиреЗ рдЗрд╕реЗ рдПрдХ рдЦреЗрд▓рд╛: rtsp: //b1.dnsdojo.com: 1935 / live / sys2.streamред


рдФрд░ рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:


"рдкреНрд▓реЗ" рдмрдЯрди рджрдмрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЦрд┐рд▓рд╛рдбрд╝реА



рд╡реАрдбрд┐рдпреЛ рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓рд╛ рдЦрд┐рд▓рд╛рдбрд╝реА



рдмрд╣реБрдд рдХрдо рдХреЛрдб рд╣реИ:


рдПрдЪрдЯреАрдПрдордПрд▓


 <!DOCTYPE html> <html lang="en"> <head> <script type="text/javascript" src="../../../../flashphoner.js"></script> <script type="text/javascript" src=my_player.js"></script> </head> <body onload="init_api()"> <div id="myVideo" style="width:320px;height:240px;border: solid 1px"></div> <br/><input type="button" onclick="connect()" value="PLAY"/> </body> </html> 

рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ


 //Status constants var SESSION_STATUS = Flashphoner.constants.SESSION_STATUS; var STREAM_STATUS = Flashphoner.constants.STREAM_STATUS; //Websocket session var session; //Init Flashphoner API on page load function init_api() { console.log("init api"); Flashphoner.init({ }); } //Connect to WCS server over websockets function connect() { session = Flashphoner.createSession({urlServer: "wss://demo.flashphoner.com"}).on(SESSION_STATUS.ESTABLISHED, function(session){ console.log("connection established"); playStream(session); }); } //Playing stream with given name and mount the stream into myVideo div element function playStream() { var options = {"rtsp://b1.dnsdojo.com:1935/live/sys2.stream",display:document.getElementById("myVideo")}; var stream = session.createStream(options).on(STREAM_STATUS.PLAYING, function(stream) { console.log("playing"); }); stream.play(); } 

рд╕рд░реНрд╡рд░ рдХрд╛ рд╕рд╛рдЗрдб рдбреЗрдореЛ рд╣реИ редflashphoner.com рдкреВрд░реНрдг рдЙрджрд╛рд╣рд░рдг рдХреЛрдб рдиреАрдЪреЗ рдмреЗрд╕рдореЗрдВрдЯ рдореЗрдВ рд▓рд┐рдВрдХ рдХреЗ рд╕рд╛рде рдЙрдкрд▓рдмреНрдз рд╣реИред рдПрдХ рдЕрдЪреНрдЫреА рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рд╣реИ!


рд╕рдВрджрд░реНрдн


рдЧрд┐рдердм рдкрд░ рдкреНрд▓реЗрдпрд░ рдХреЛрдб


рдПрдХ рд╡реЗрдм рдкреЗрдЬ рдпрд╛ рдореЛрдмрд╛рдЗрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдПрдХ рдЖрд░рдЯреАрдПрд╕рдкреА рдЦрд┐рд▓рд╛рдбрд╝реА рдХрд╛ рдПрдХреАрдХрд░рдг

Source: https://habr.com/ru/post/hi478884/


All Articles