
рдЕрдкрдиреЗ рдкрд╣рд▓реЗ рд▓реЗрдЦ рдореЗрдВ,
"рдХрд┐рд╕реА рд╡рд╕реНрддреБ рдХреА рджреВрд░реА рдФрд░ рдЙрд╕рдХреА рдЧрддрд┐ рдХреЛ рдорд╛рдкрдирд╛," рдореИрдВрдиреЗ рд╡реАрдбрд┐рдпреЛрдХреИрдорд┐рдирдХреНрд╕ 2 рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдФрд░ рдбрд╛рдпрд░реЗрдХреНрдЯрдПрдХреНрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡реЗрдмрдХреИрдо рд╕реЗ рдЫрд╡рд┐рдпреЛрдВ рдкрд░ рдХрдмреНрдЬрд╛ рдХрд░рдиреЗ рдХреА рдЬрд╛рдВрдЪ рдХреАред рдЕрдЧрд▓реЗ рд▓реЗрдЦ рдореЗрдВ,
"рдиреЗрдЯрд╡рд░реНрдХ рдХреИрдорд░реЛрдВ рд╕реЗ рд╡реАрдбрд┐рдпреЛ рдХреИрдкреНрдЪрд░рд┐рдВрдЧ, рднрд╛рдЧ 1," рдореИрдВрдиреЗ рдЬрд╛рдВрдЪ рдХреА рдХрд┐ рдиреЗрдЯрд╡рд░реНрдХ рдореЛрд╢рди-рдЬреЗрдкреАрдИрдЬреА рдХреИрдорд░реЛрдВ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛рдПред рдЕрдм рдореИрдВ рдЖрдкрдХреЛ рдиреЗрдЯрд╡рд░реНрдХ RTSP рдХреИрдорд░реЛрдВ рд╕реЗ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдХреИрдкреНрдЪрд░ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдКрдВрдЧрд╛, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, RTSP рдкрд░ Motion-JPEGред
рдпрд╣ рдХрд╛рд░реНрдп HTTP рд╕реЗ рдЕрдзрд┐рдХ рдЧрддрд┐-рдЬреЗрдкреАрдИрдЬреА рд╕реЗ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдзрд┐рдХ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдЕрдзрд┐рдХ рдХрдиреЗрдХреНрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдмрджрд▓реЗ рдореЗрдВ рд╣рдореЗрдВ рдЕрдзрд┐рдХ рд▓рдЪреАрд▓рд╛рдкрди, рдЧрддрд┐, рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреА рдмрд╣реБрдореБрдЦреА рдкреНрд░рддрд┐рднрд╛ рднреА рдорд┐рд▓рддреА рд╣реИред рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ, рдЖрд░рдЯреАрдПрд╕рдкреА рд╕рд░рд▓ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдмреЗрдорд╛рдиреА рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЗрд╕рдореЗрдВ рдХреЛрдИ рд╕рдВрджреЗрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдРрд╕реА рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпрд╛рдВ рд╣реЛрдВрдЧреА рдЬрд╣рд╛рдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
RTSP рдХреНрдпрд╛ рд╣реИ?
RTSP рдХрд╛ рдЕрд░реНрде рд░рд┐рдпрд▓ рдЯрд╛рдЗрдо рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ - рдПрдХ рд░реАрдпрд▓-рдЯрд╛рдЗрдо рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╣реИ - рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдПрдХ рдкреНрд░рд╕рд╛рд░рдг рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╣реИ, рдпрд╣ рдЖрдкрдХреЛ рдХрдИ рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬреИрд╕реЗ "рдкреНрд░рд╛рд░рдВрдн", "рд╕реНрдЯреЙрдк", "рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдордп рдореЗрдВ рд╕рдВрдХреНрд░рдордг"ред рдпрд╣ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ HTTP рдХреЗ рд╕рдорд╛рди рд╣реИ, рд╣реЗрдбрд░ рднреА рд╣реИрдВ, рд╕рдм рдХреБрдЫ рдЯреЗрдХреНрд╕реНрдЯ рдлреЙрд░реНрдо рдореЗрдВ рднреА рдкреНрд░реЗрд╖рд┐рдд рд╣реЛрддрд╛ рд╣реИред рдпрд╣рд╛рдБ
рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рд╕реЗ рдореБрдЦреНрдп рдЖрджреЗрд╢ рд╣реИрдВ:
- рд╡рд┐рдХрд▓реНрдк - рд╕рдорд░реНрдерд┐рдд рддрд░реАрдХреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рджреЗрддрд╛ рд╣реИ (рд╡рд┐рдХрд▓реНрдк, рд╡рд┐рд╡рд░рдг, рдЖрджрд┐);
- DESCRIBE - рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз, рдПрд╕рдбреАрдкреА рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдЯреНрд░реИрдХ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ;
- рд╕реЗрддреБрдк - рдзрд╛рд░рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдХрдиреЗрдХреНрд╢рди рдФрд░ рдкрд░рд┐рд╡рд╣рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдЕрдиреБрд░реЛрдз;
- рдкреНрд▓реЗ - рдкреНрд░рд╕рд╛рд░рдг рд╢реБрд░реВ;
- TEARDOWN - рдкреНрд░рд╕рд╛рд░рдг рдмрдВрдж рдХрд░реЛред
рдФрд░ RTSP рдХреА рдЦрд╝рд╛рд╕рд┐рдпрдд рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдЖрд╡рд╢реНрдпрдХ рд╡реАрдбрд┐рдпреЛ рдбреЗрдЯрд╛ рдХреЛ рдкреНрд░рд╕рд╛рд░рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ! рд╕рдореНрдкреВрд░реНрдг рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗрд╡рд▓ рд╕рдВрдЪрд╛рд░ рдХреЗ рд▓рд┐рдП рд╣реИред рдпрд╣рд╛рдВ рдЖрдк рдПрдорд╡реАрд╕реА рдХреЗ рд╕рд╛рде рд╕рд╛рджреГрд╢реНрдп рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдбреЗрдЯрд╛ рдФрд░ рдЙрдирдХреЗ рд╡рд┐рд╡рд░рдг рдХреЗ рдмреАрдЪ рдЕрд▓рдЧрд╛рд╡ рд╣реИред
рд╡рд░реНрдХрд╣реЙрд░реНрд╕ рдПрдХ рдФрд░ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╣реИ:
рдЖрд░рдЯреАрдкреА - рд░реАрдпрд▓-рдЯрд╛рдЗрдо рдЯреНрд░рд╛рдВрд╕рдкреЛрд░реНрдЯ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ - рд░рд┐рдпрд▓-рдЯрд╛рдЗрдо рдЯреНрд░рд╛рдВрд╕рдкреЛрд░реНрдЯ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ред рдЗрд╕рдХреА рдорджрдж рд╕реЗ, рд╣рдореЗрдВ рдЬрд┐рд╕ рдбреЗрдЯрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рд╡рд╣ рдкреНрд░рд╕рд╛рд░рд┐рдд рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдЗрд╕ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдмрд╣реБрдд рд╕реБрдЦрдж рд╣реИ, рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рд▓рд┐рдВрдХ рдкрд░рдд рдкрд░ рд╡рд┐рдЦрдВрдбрди рдХреЗ рдмрд╛рдж рдбреЗрдЯрд╛ рдХреЛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИред рдпрд╣ рдХреБрдЫ рдФрд░ рдЙрдкрдпреЛрдЧреА рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рднреА рд╡рд╣рди рдХрд░рддрд╛ рд╣реИ: рдкреНрд░реЗрд╖рд┐рдд рдбреЗрдЯрд╛ рдХрд╛ рдкреНрд░рд╛рд░реВрдк, рд╕рдордп рдЯрд┐рдХрдЯ рдФрд░ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рдлрд╝реАрд▓реНрдб (рдпрджрд┐, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдСрдбрд┐рдпреЛ рдФрд░ рд╡реАрдбрд┐рдпреЛ рдПрдХ рд╕рд╛рде рдкреНрд░реЗрд╖рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ)ред рдпрджреНрдпрдкрд┐ рдпрд╣ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдЯреАрд╕реАрдкреА рдкрд░ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдпрд╣ рдЖрдорддреМрд░ рдкрд░ рдпреВрдбреАрдкреА рдХреЗ рд╕рд╛рде рдЗрд╕рдХреЗ рдЧрддрд┐-рдЙрдиреНрдореБрдЦ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рдХрд╛рд░рдг рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╛рдиреА RTP рдбреЗрдЯрд╛ рдПрдХ UDP рдбреЗрдЯрд╛рдЧреНрд░рд╛рдо рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╣реЗрдбрд░ рдФрд░ рдкреЗрд▓реЛрдб рдбреЗрдЯрд╛ рдореАрдбрд┐рдпрд╛ рдХрдВрдЯреЗрдВрдЯ рдХреЗ рд▓рд┐рдП рд╣реИред
рдРрд╕рд╛ рд▓рдЧреЗрдЧрд╛ рдХрд┐ рд╣рдореЗрдВ рдХрд┐рд╕реА рдФрд░ рдЪреАрдЬ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИред рд╣рдо RTSP рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реБрдП рд╣реИрдВ, рд╣рдо RTP рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдард╛рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд╣рд╛рдБ рдерд╛, рд╕реНрдорд╛рд░реНрдЯ рдЕрдВрдХрд▓ рдПрдХ рддреАрд╕рд░реЗ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рд╕рд╛рде рдЖрдП:
RTCP - рд░реАрдпрд▓-рдЯрд╛рдЗрдо рдЯреНрд░рд╛рдВрд╕рдкреЛрд░реНрдЯ рдХрдВрдЯреНрд░реЛрд▓ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ - рдПрдХ рд░рд┐рдпрд▓-рдЯрд╛рдЗрдо рдЯреНрд░рд╛рдВрд╕рдкреЛрд░реНрдЯ рдХрдВрдЯреНрд░реЛрд▓ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ред рдЗрд╕ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реЗрд╡рд╛ рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рдХреА рдорджрдж рд╕реЗ рдЧреНрд░рд╛рд╣рдХ рдФрд░ рд╕рд░реНрд╡рд░ рдХреЛ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рд╕рд╛рдордЧреНрд░реА рдХрд┐рддрдиреА рдЕрдЪреНрдЫреА рдпрд╛ рдмреБрд░реА рд╣реИред рдЗрд╕ рдбреЗрдЯрд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рд╕рд░реНрд╡рд░, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдмрд┐рдЯ рджрд░ рдХреЛ рдХрдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдХреЛрдбреЗрдХ рдкрд░ рднреА рд╕реНрд╡рд┐рдЪ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдпрд╣ рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ RTP рдПрдХ рд╕рдо рдкреЛрд░реНрдЯ рдирдВрдмрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдФрд░ RTCP рдЕрдЧрд▓реЗ рд╡рд┐рд╖рдо рдкреЛрд░реНрдЯ рдирдВрдмрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
RTSP рд╕рдВрдЪрд╛рд░ рдЙрджрд╛рд╣рд░рдг
рдореЗрд░реЗ рдкрд╛рд╕ рдЖрд░рдЯреАрдПрд╕рдкреА рд╕реНрдЯреНрд░реАрдо рдХрд╛ рдХреЗрд╡рд▓ рдПрдХ рд╕реНрд░реЛрдд рд╣реИ -
рдПрд╡рд┐рдбреЗрдВрд╕ рдПрдкреАрдПрдХреНрд╕ рдмреЙрдХреНрд╕ рдПрдо 1 рдХреИрдорд░рд╛, рдЗрд╕рд▓рд┐рдП рд╕рднреА рдЙрджрд╛рд╣рд░рдг рдЗрд╕рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВред
рдиреАрдЪреЗ VLC рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЗ рдмреАрдЪ рд╕рдВрдЪрд╛рд░ рдХрд╛ рд▓реЙрдЧ рд╣реИ (рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореЗрд░реЗ рд╢реЛрдз рдореЗрдВ рдмрд╣реБрдд рдорджрдж рдХрд░рддрд╛ рд╣реИ) рдФрд░ рдпрд╣ рдХреИрдорд░рд╛ред рдХреИрдорд░реЗ рдХреЗ 554 рдкреЛрд░реНрдЯ рдХреЛ рд╡реАрдПрд▓рд╕реА рд╕реЗ рдкрд╣рд▓рд╛ рдЕрдиреБрд░реЛрдзред рдЬрд╡рд╛рдм рдПрдХ рдЦрд╛рд▓реА рд▓рд╛рдЗрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣реИ рдФрд░ "рдЖрд░рдЯреАрдПрд╕рдкреА / 1.0" рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред
01: OPTIONS rtsp://192.168.0.254/jpeg RTSP/1.0 02: CSeq: 1 03: User-Agent: VLC media player (LIVE555 Streaming Media v2008.07.24) 04: 05: RTSP/1.0 200 OK 06: CSeq: 1 07: Date: Fri, Apr 23 2010 19:54:20 GMT 08: Public: OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE 09: 10: DESCRIBE rtsp://192.168.0.254/jpeg RTSP/1.0 11: CSeq: 2 12: Accept: application/sdp 13: User-Agent: VLC media player (LIVE555 Streaming Media v2008.07.24) 14: 15: RTSP/1.0 200 OK 16: CSeq: 2 17: Date: Fri, Apr 23 2010 19:54:20 GMT 18: Content-Base: rtsp://192.168.0.254/jpeg/ 19: Content-Type: application/sdp 20: Content-Length: 442 21: x-Accept-Dynamic-Rate: 1 22: 23: v=0 24: o=- 1272052389382023 1 IN IP4 0.0.0.0 25: s=Session streamed by "nessyMediaServer" 26: i=jpeg 27: t=0 0 28: a=tool:LIVE555 Streaming Media v2008.04.09 29: a=type:broadcast 30: a=control:* 31: a=range:npt=0- 32: a=x-qt-text-nam:Session streamed by "nessyMediaServer" 33: a=x-qt-text-inf:jpeg 34: m=video 0 RTP/AVP 26 35: c=IN IP4 0.0.0.0 36: a=control:track1 37: a=cliprect:0,0,720,1280 38: a=framerate:25.000000 39: m=audio 7878 RTP/AVP 0 40: a=rtpmap:0 PCMU/8000/1 41: a=control:track2 42: 43: 44: SETUP rtsp://192.168.0.254/jpeg/track1 RTSP/1.0 45: CSeq: 3 46: Transport: RTP/AVP;unicast;client_port=41760-41761 47: User-Agent: VLC media player (LIVE555 Streaming Media v2008.07.24) 48: 49: RTSP/1.0 200 OK 50: CSeq: 3 51: Cache-Control: must-revalidate 52: Date: Fri, Apr 23 2010 19:54:20 GMT 53: Transport: RTP/AVP;unicast;destination=192.168.0.4;source=192.168.0.254;client_port=41760-41761; server_port=6970-6971 54: Session: 1 55: x-Transport-Options: late-tolerance=1.400000 56: x-Dynamic-Rate: 1 57: 58: SETUP rtsp://192.168.0.254/jpeg/track2 RTSP/1.0 59: CSeq: 4 60: Transport: RTP/AVP;unicast;client_port=7878-7879 61: Session: 1 62: User-Agent: VLC media player (LIVE555 Streaming Media v2008.07.24) 63: 64: RTSP/1.0 200 OK 65: CSeq: 4 66: Cache-Control: must-revalidate 67: Date: Fri, Apr 23 2010 19:54:20 GMT 68: Transport: RTP/AVP;unicast;destination=192.168.0.4;source=192.168.0.254;client_port=7878-7879; server_port=6972-6973 69: Session: 1 70: x-Transport-Options: late-tolerance=1.400000 71: x-Dynamic-Rate: 1 72: 73: PLAY rtsp://192.168.0.254/jpeg/ RTSP/1.0 74: CSeq: 5 75: Session: 1 76: Range: npt=0.000- 77: User-Agent: VLC media player (LIVE555 Streaming Media v2008.07.24) 78: 79: RTSP/1.0 200 OK 80: CSeq: 5 81: Date: Fri, Apr 23 2010 19:54:20 GMT 82: Range: npt=0.000- 83: Session: 1 84: RTP-Info: url=rtsp://192.168.0.254/jpeg/track1;seq=20730; rtptime=3869319494,url=rtsp://192.168.0.254/jpeg/track2;seq=33509;rtptime=3066362516 85: 86: # 87: 88: TEARDOWN rtsp://192.168.0.254/jpeg/ RTSP/1.0 89: CSeq: 6 90: Session: 1 91: User-Agent: VLC media player (LIVE555 Streaming Media v2008.07.24) 92: 93: RTSP/1.0 200 OK 94: CSeq: 6 95: Date: Fri, Apr 23 2010 19:54:25 GMT
рдкрд╣рд▓реА рдмрд╛рдд рд╡реАрдПрд▓рд╕реА рдиреЗ рдХреИрдорд░реЗ рд╕реЗ рдкреВрдЫрд╛:
"рдореИрдВ рдЖрдкрдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ?" (рд╡рд┐рдХрд▓реНрдк)
- рдЖрдкрдХреЛ рдирдорд╕реНрдХрд╛рд░ рд╣реИред рдФрд░ рдХреНрдпрд╛ рдЖрдк рдореБрдЭрд╕реЗ рдХреЛрдИ рд╡рд┐рдХрд▓реНрдк, DESCRIBE, SETUP, TEARDOWN, PLAY рдФрд░ PAUSE рдХрд░рдиреЗ рдХреЛ рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВред
- рдареАрдХ рд╣реИ, рддреЛ рдореБрдЭреЗ рдмрддрд╛рдПрдВ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ "/ jpeg" рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рд╣реИ? (рд╡рд░реНрдгрди)
- рдпрд╣рд╛рдБ рдореИрдВ рдкрд╣рд▓реЗ рдЯреНрд░реИрдХ рдореЗрдВ рд╡реАрдбрд┐рдпреЛ, рдПрдо-рдЬреЗрдкреАрдИрдЬреА, рдФрд░ рджреВрд╕рд░реЗ рдЯреНрд░реИрдХ рдореЗрдВ рдСрдбрд┐рдпреЛ рд╕рд░рд▓ рд╣реИред
- рд╡реАрдбрд┐рдпреЛ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ, рдкрд╣рд▓рд╛ рдЯреНрд░реИрдХ, рдЗрд╕реЗ рдореБрдЭреЗ рдбрд╛рд▓реЗрдВ, рдХреГрдкрдпрд╛ рдкреЙрдХреЗрдЯ рдирдВрдмрд░ 41760 рдореЗрдВ, рдФрд░ рдЖрдк рдкреЙрдХреЗрдЯ рдирдВрдмрд░ 41761 рдореЗрдВ рдХрд┐рд╕реА рднреА рднреВрд╕реА рдХреЛ рдлреЗрдВрдХ рд╕рдХрддреЗ рд╣реИрдВред (SETUP track1)
"рдареАрдХ рд╣реИ, рдЖрдкрдХреА рдЖрдЬреНрдЮрд╛ рдкрд░ ..."
- рдФрд░ рдореИрдВ рднреА рдзреНрд╡рдирд┐ рд╕реБрдирдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, 7878, 7879 рдЬреЗрдм рдореЗрдВ рдПрдХ рджрд╛рдиреЗред (SETUP track2)
- рд╣рд╛рдВ, рдХреЛрдИ рдмрд╛рдд рдирд╣реАрдВред
- рдареАрдХ рд╣реИ, рдЫрд┐рдбрд╝рдХрд╛ рд╣реБрдЖред (PLAY)
рдереЛрдбрд╝реА рджреЗрд░ рдмрд╛рдж:
- рдареАрдХ рд╣реИ, рдкрд░реНрдпрд╛рдкреНрдд, рдореИрдВрдиреЗ рдкрд░реНрдпрд╛рдкреНрдд рджреЗрдЦрд╛ рд╣реИред (рдЯрд┐рдпрд░рдбрд╛рдЙрди)
- рдЬреИрд╕рд╛ рдЖрдк рдХрд╣реЗрдВред
рдпрд╣ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдБ рдереЛрдбрд╝рд╛ рд╡рд┐рд╖рдпрд╛рдВрддрд░ рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред рдкрд╣рд▓реЗ рдЕрдиреБрд░реЛрдз рдореЗрдВ, "
OPTIONS rtsp://192.168.0.254/jpeg RTSP/1.0
" "
GET /jpeg HTTP/1.1
" рд╕реЗ рдорд┐рд▓рддрд╛-рдЬреБрд▓рддрд╛ рд╣реИ, рдЗрд╕ рдЕрд░реНрде рдореЗрдВ рдХрд┐ рдЗрд╕ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рд╢реБрд░реВ рд╣реЛрддреА рд╣реИ, рдФрд░ HTTP рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдореЗрдВ
рд╡рд┐рдХрд▓реНрдк рд╡рд┐рдзрд┐ рднреА рд╣реИред рдпрд╣рд╛рдБ 192.168.0.254 рдореЗрд░реЗ рдХреИрдорд░реЗ рдХрд╛ рдЖрдИрдкреА рдкрддрд╛ рд╣реИред
CSeq
рдЕрдиреБрд░реЛрдз рдХреЗ рдЕрдиреБрдХреНрд░рдо рд╕рдВрдЦреНрдпрд╛ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ, рд╕рд░реНрд╡рд░ рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╕рдорд╛рди
CSeq
рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдФрд░ рд╕рд░реНрд╡рд░ рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ "
RTSP/1.0 200 OK
" рд╕реЗ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИ, рдпрд╣ "
HTTP/1.1 200 OK
" рдХреА рддрд░рд╣ рд╣реИ - рдПрдХ рд╕рдВрдХреЗрдд рд╣реИ рдХрд┐ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИ: рдЕрдиреБрд░реЛрдз рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЕрдиреБрд░реЛрдз рд╕реНрдкрд╖реНрдЯ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рдереАред рдФрд░ рд╕рд╛рджреЗ рдкрд╛рда рдореЗрдВ рд╕рднреА рдЙрдкрд▓рдмреНрдз рддрд░реАрдХреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░рддрд╛ рд╣реИред
рдЕрдЧрд▓рд╛, рд╣рдо рдЕрдиреБрд░реЛрдз / рдЬреЗрдкреАрдИрдЬреА рдкрд░ рд╣рдореЗрдВ рдЗрдВрддрдЬрд╛рд░ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдПрдХрддреНрд░ рдХрд░рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдордиреЗ рдЕрднреА рдЙрд╕рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд┐рдпрд╛ рд╣реИ рдФрд░ "
rtsp://192.168.0.254/jpeg
" рд▓рд┐рдВрдХ рдкрд░ рдЖрдпрд╛ рд╣реИред рд╣рдо рдпрд╣ рднреА рд╕рдВрдХреЗрдд рджреЗрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдПрд╕рдбреАрдкреА (рдкрдВрдХреНрддрд┐ 12) рдХреЗ рд░реВрдк рдореЗрдВ рдЙрддреНрддрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рд╣рдореЗрдВ рдПрдХ RTSP рд╣реЗрдбрд░ рдорд┐рд▓рддрд╛ рд╣реИ рдЬреЛ
Content-Type
рдФрд░
Content-Length
рд╕рдВрдХреЗрдд рджреЗрддрд╛ рд╣реИ, рдФрд░ рд╣реЗрдбрд░ рдХреЗ рдмрд╛рдж, рдЦрд╛рд▓реА рд▓рд╛рдЗрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рдПрд╕рдбреАрдкреА рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╕рд╛рдордЧреНрд░реА рд╕реАрдзреЗ рд╣реЛрддреА рд╣реИ:
v=0 o=- 1272052389382023 1 IN IP4 0.0.0.0 s=Session streamed by "nessyMediaServer" i=jpeg t=0 0 a=tool:LIVE555 Streaming Media v2008.04.09 a=type:broadcast a=control:* a=range:npt=0- a=x-qt-text-nam:Session streamed by "nessyMediaServer" a=x-qt-text-inf:jpeg m=video 0 RTP/AVP 26 c=IN IP4 0.0.0.0 a=control:track1 a=cliprect:0,0,720,1280 a=framerate:25.000000 m=audio 7878 RTP/AVP 0 a=rtpmap:0 PCMU/8000/1 a=control:track2
рдпрд╣рд╛рдБ рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рд╕реНрдкрд╖реНрдЯ рд╣реИред рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
# m=video 0 RTP/AVP 26 # RTP/AVP, , 26, Motion-JPEG a=control:track1 # a=cliprect:0,0,720,1280 # a=framerate:25.000000 # # m=audio 7878 RTP/AVP 0 # 7878, , 0 - PCM a=control:track2 #
рдпрджрд┐ рд╣рдо рдХреЗрд╡рд▓ рд╡реАрдбрд┐рдпреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдСрдбрд┐рдпреЛ рдбреЗрдЯрд╛ рд╕реЗ рд╣рдо рдЯреНрд░реИрдХ рдХреЗ рдирд╛рдо рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╕рдм рдХреБрдЫ рдЕрдирджреЗрдЦрд╛ рдХрд░ рджреЗрддреЗ рд╣реИрдВред рд╣рдореЗрдВ рд╕реНрдЯреНрд░реАрдо рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЛрдИ рднреА рд╣рдореЗрдВ рдЗрд╕ рд╕реНрдЯреНрд░реАрдо рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрджрд┐ рдЖрдк рдСрдбрд┐рдпреЛ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдирджреЗрдЦрд╛ рдХрд░рддреЗ рд╣реИрдВ (рдпрджрд┐
SETUP
рдХреЗрд╡рд▓ рд╡реАрдбрд┐рдпреЛ рдЯреНрд░реИрдХ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛
SETUP
рд╣реИ) рддреЛ рдХреИрдорд░рд╛ рдХрд╛рдо рдХрд░рдиреЗ рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░ рджреЗрддрд╛ рд╣реИред
рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ, рдореБрдЭреЗ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдСрдбрд┐рдпреЛ рд╕реНрдЯреНрд░реАрдо (7878) рдХреЗ рд▓рд┐рдП рдкреЛрд░реНрдЯ рдирдВрдмрд░ рдХреА рдЙрдкреЗрдХреНрд╖рд╛ рдХрд░рдиреЗ рдкрд░ рд╡рд┐рднрд┐рдиреНрди рдХреИрдорд░реЗ рдХреИрд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрдВрдЧреЗ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдЗрд╕реЗ
SETUP
рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВред
рдЕрдЧрд▓реЗ рджреЛ
SETUP
рдЕрдиреБрд░реЛрдз рд╣реИрдВ, рдЬреЛ рдЙрди рдмрдВрджрд░рдЧрд╛рд╣реЛрдВ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рди рдкрд░ рд╣рдо рд╡реАрдбрд┐рдпреЛ рдФрд░ рдСрдбрд┐рдпреЛ рд╕реНрдЯреНрд░реАрдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдкрд╣рд▓рд╛ рдирдВрдмрд░ RTP рдХреЗ рд▓рд┐рдП рдкреЛрд░реНрдЯ рд╣реИ, рджреВрд╕рд░рд╛ RTCP рдХреЗ рд▓рд┐рдП рд╣реИред рдХреИрдорд░реЗ рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдмрдВрджрд░рдЧрд╛рд╣реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрддреА рд╣реИ, рдЖрдк рдЙрдиреНрд╣реЗрдВ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░рд╛рдорд░реНрд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╕рдм рдХреБрдЫ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╣рдореЗрдВ
Session
рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЛ рднреА рдпрд╛рдж рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╣рдореЗрдВ рдмрд╛рдж рдХреА рд╕рднреА рдХреЙрд▓ рдореЗрдВ рдЗрд╕рдХрд╛ рд╕рдВрдХреЗрдд рджреЗрдирд╛ рд╣реЛрдЧрд╛ред
PLAY
рдХрдорд╛рдВрдб рдХреЗ рдмрд╛рдж, рд╡реАрдбрд┐рдпреЛ 41760 рдФрд░ рдСрдбрд┐рдпреЛ рдХреЛ 7878 рдкреЛрд░реНрдЯ рдкрд░ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдФрд░
TEARDOWN
рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде
TEARDOWN
рдкреНрд░рд╕рд╛рд░рдг рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдХрдиреЗрдХреНрд╢рди рдХрд╛рдЯ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
MJPEG RTP рдкрд░
рдЖрд░рдЯреАрдкреА рдкреИрдХреЗрдЯ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЖрддреЗ рд╣реИрдВ, рд╣рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдбрд┐рдХреНрд░рд┐рдкреНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЗрд╕рдХреЗ рд▓рд┐рдП, рдореИрдВ рдпрд╣рд╛рдВ рд╕рднреА рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде рдЗрд╕ рддрд░рд╣ рдХреЗ рдкреИрдХреЗрдЬ рдХреА рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рджреВрдВрдЧрд╛ред
+ рдмрд┐рдЯ рдСрдлрд╕реЗрдЯ | 0-1 | 2 | 3 | 4-7 | 8 | 9-15 | 16-31 |
---|
0 | рд╡реА | рдкреА | рдПрдХреНрд╕ | рд╕реАрд╕реА | рдПрдо | рдкреАрдЯреА | рдЕрдиреБрдХреНрд░рдо рд╕рдВрдЦреНрдпрд╛ |
---|
32 | рд╕рдордп-рдЪрд┐рд╣реНрди |
---|
64 | SSRC рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ |
---|
96 | ... CSRC рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ ... |
---|
96+ (CC ├Ч 32) | рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╣реИрдбрд░ рдЖрдИрдбреА | рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╣реИрдбрд░ рдХреА рд▓рдВрдмрд╛рдИ (EHL) |
---|
96+ (CC ├Ч 32) + (X ├Ч 32) | ... рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╣реИрдбрд░ ... |
---|
96+ (CC ├Ч 32) + (X ├Ч 32) + (X ├Ч EHL) | рдкреЗрд▓реЛрдб |
---|
- рд╡реА (рд╕рдВрд╕реНрдХрд░рдг): (2) рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╕рдВрд╕реНрдХрд░рдгред рдЕрдм рд╕рдВрд╕реНрдХрд░рдг рд╕рдВрдЦреНрдпрд╛ 2ред
- P (рдкреИрдбрд┐рдВрдЧ, рд╕рдкреНрд▓реАрдореЗрдВрдЯ): (1) RTP рдкреИрдХреЗрдЯ рдХреЛ рдЕрдВрдд рдореЗрдВ рдЦрд╛рд▓реА рдмрд╛рдЗрдЯреНрд╕ рдХреЗ рд╕рд╛рде рдЧрджреНрджреЗрджрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рд▓рд┐рдПред
- рдПрдХреНрд╕ (рд╡рд┐рд╕реНрддрд╛рд░): (1) рдПрдХ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╣реЗрдбрд░ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
- CC (CSRC рдХрд╛рдЙрдВрдЯ): (4) рдореЗрдВ CSRC рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред рд╣рдо рднреА рдЗрд╕реНрддреЗрдорд╛рд▓ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред
- рдПрдо (рдорд╛рд░реНрдХрд░): (1) рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реНрддрд░ рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ рдмрд┐рдЯ рдПрдХ рдкрд░ рд╕реЗрдЯ рд╣реЛрддрд╛ рд╣реИ рдпрджрд┐ рдЖрд░рдЯреАрдкреА рдкреИрдХреЗрдЯ рдореЗрдВ рдЬреЗрдкреАрдИрдЬреА рдлреНрд░реЗрдо рдХрд╛ рдЕрдВрдд рд╣реЛрддрд╛ рд╣реИред
- рдкреАрдЯреА (рдкреЗрд▓реЛрдб рдкреНрд░рдХрд╛рд░): (7) рдкреЗрд▓реЛрдб рдХреЗ рдкреНрд░рд╛рд░реВрдк рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ - рдкреНрд░реЗрд╖рд┐рдд рдбреЗрдЯрд╛ред MJPEG рдХреЗ рд▓рд┐рдП рдпрд╣ 26 рд╣реИред
- рдЕрдиреБрдХреНрд░рдо рд╕рдВрдЦреНрдпрд╛ : (16) рдЖрд░рдЯреАрдкреА рдкреИрдХреЗрдЯ рд╕рдВрдЦреНрдпрд╛, рдЦреЛрдП рд╣реБрдП рдкреИрдХреЗрдЯреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рддреА рд╣реИред
- рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк (32): рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк, рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ 90,000 рд╣рд░реНрдЯреНрдЬ (90000 = 1 рд╕реЗрдХрдВрдб)ред
- SSRC (рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЬрд╝реЗрд╢рди рд╕реЛрд░реНрд╕): (32) рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝рд░ рдХреА рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛, рд╣рд╛рд▓рд╛рдБрдХрд┐ рдпрд╣ рд╣рд╛рд╕реНрдпрд╛рд╕реНрдкрдж рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдзрд╛рд░рд╛ рдХреЗ рд╕реНрд░реЛрдд рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИред
- CSRC (рдпреЛрдЧрджрд╛рди рд╕реНрд░реЛрдд): (32) рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реНрд░реЛрддреЛрдВ рдХреЗ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛, рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ рддрдм рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХрдИ рд╕реНрдерд╛рдиреЛрдВ рд╕реЗ рдЖрдиреЗ рд╡рд╛рд▓реА рдзрд╛рд░рд╛ рд╣реЛрддреА рд╣реИред
- рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╣реИрдбрд░ рдЖрдИрдбреА : (16) рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреА рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛, рдЕрдЧрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдпрд╣ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдпрд╣ рдЬрд╛рдирдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдпрд╣ рдХреНрдпрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
- рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╣реИрдбрд░ рдХреА рд▓рдВрдмрд╛рдИ : (16) рдмрд╛рдЗрдЯреНрд╕ рдореЗрдВ рдЗрд╕ рд╣реЗрдбрд░ рдХреА рд▓рдВрдмрд╛рдИред
- рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╣реИрдбрд░ : рд╢реАрд░реНрд╖рдХ рд╣реАред рд╕рдВрджрд░реНрдн рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕рд╛рдордЧреНрд░реА рдмрд╣реБрдд рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддреА рд╣реИред
- рдкреЗрд▓реЛрдб : рдкреЗрд▓реЛрдб рдбреЗрдЯрд╛ рд╣рдорд╛рд░реЗ рдмрд╣реБрдд рд╣реА рдЬреЗрдкреАрдИрдЬреА рдлреНрд░реЗрдо рд╣реИрдВред рдЦрдВрдбрд┐рдд, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗред
CSRC рд╕реЗ рд╢реБрд░реВ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдХреНрд╖реЗрддреНрд░ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИрдВред рдЬрд╣рд╛рдБ рддрдХ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ, рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ MJPEG рдХреЛ рдХреИрдорд░реЛрдВ рд╕реЗ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдКрдкрд░ рдПрдиреНрдХреИрдкреНрд╕реБрд▓реЗрд╢рди рдХрд╛ рдПрдХ рд╕реНрддрд░ рд╣рд╕реНрддрд╛рдВрддрд░рд┐рддред рдЕрдм рдХрд╛рд░реНрдп рдкреНрд░рд╛рдкреНрдд рд╡реАрдбрд┐рдпреЛ рдбреЗрдЯрд╛ рдХреЛ рдПрдХ рдкреВрд░реНрдг JPEG рдЫрд╡рд┐ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдирд╛ рд╣реИред HTTP рдкрд░ MJPEG рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реИ - рд╣рдо рд╕реНрдЯреНрд░реАрдо рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛ рдХрд╛рдЯрддреЗ рд╣реИрдВ рдФрд░ рддреБрд░рдВрдд JPEG рдЫрд╡рд┐ рдХреЗ рд╕рд╛рде рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рдЖрд░рдЯреАрдкреА рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЫрд╡рд┐ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреНрд░рд╕рд╛рд░рд┐рдд рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЗрдкреАрдИрдЬреА рд╣реЗрдбрд░ рдХреЛ рдЫреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕реЗ рд╕рдВрд▓рдЧреНрди рдЖрдВрдХрдбрд╝реЛрдВ рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдмрд╣рд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
MJPEG рд╡рд┐рдирд┐рд░реНрджреЗрд╢рди рдХреЗ рд▓рд┐рдП RTP рдкреЗрд▓реЛрдб
RFC2435 рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИред рдореИрдВ рдЖрдкрдХреЛ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╕рднреА рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рднреА рджреВрдВрдЧрд╛:
+ рдмрд┐рдЯ рдСрдлрд╕реЗрдЯ | 0-7 | 8-15 | 16-23 | 24-31 |
---|
0 | рд╡рд┐рд╢реЗрд╖ рдкреНрд░рдХрд╛рд░ рдХреЗ | рд╡рд┐рдЦрдВрдбрди рдСрдлрд╕реЗрдЯ |
---|
32 | рдЯрд╛рдЗрдк | рдХреНрдпреВ | рдЪреМрдбрд╝рд╛рдИ | рдКрдВрдЪрд╛рдИ |
---|
рдЕрдЧрд░ 64..127 рдореЗрдВ рдЯрд╛рдЗрдк рдХрд░реЗрдВ | рдорд╛рд░реНрдХрд░ рд╣реЗрдбрд░ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░реЗрдВ |
---|
рдпрджрд┐ 128 рдореЗрдВ рдХреНрдпреВред 25 | MBZ | рд╢реБрджреНрдзрддрд╛ | рд▓рдВрдмрд╛рдИ |
---|
рдкрд░рд┐рдорд╛рдгреАрдХрд░рдг рддрд╛рд▓рд┐рдХрд╛ рдбреЗрдЯрд╛ |
- рдкреНрд░рдХрд╛рд░-рд╡рд┐рд╢рд┐рд╖реНрдЯ (рдкреНрд░рдХрд╛рд░ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ): (8) рдХреНрд╖реЗрддреНрд░ рдХрд╛ рдЕрд░реНрде рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред
- рдлреНрд░реИрдЧрдореЗрдВрдЯ рдСрдлрд╝рд╕реЗрдЯ : (24) рд╕рдВрдкреВрд░реНрдг рдлрд╝реНрд░реЗрдо рдореЗрдВ рд╡рд░реНрддрдорд╛рди рдлрд╝реНрд░реЗрдо рдХреЗ рдЯреБрдХрдбрд╝реЗ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред
- рдкреНрд░рдХрд╛рд░ : (8) рдЫрд╡рд┐ рдХреЛ рдХреИрд╕реЗ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрд╣ рдкреНрд░рдХрд╛рд░ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред
- рдХреНрдпреВ (рдЧреБрдгрд╡рддреНрддрд╛): (8) рдЫрд╡рд┐ рдЧреБрдгрд╡рддреНрддрд╛ред
- рдЪреМрдбрд╝рд╛рдИ : (8) рдлреНрд░реЗрдо рдХреА рдЪреМрдбрд╝рд╛рдИред
- рдКрдВрдЪрд╛рдИ : (8) рдФрд░ рдКрдВрдЪрд╛рдИред
- рдорд╛рд░реНрдХрд░ рд╣реЗрдбрд░ рд░реАрд╕реНрдЯрд╛рд░реНрдЯ рдХрд░реЗрдВ : (32) RST рдорд╛рд░реНрдХрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдкрд░ JPEG рдХреЛ рдбреАрдХреЛрдб рдХрд░рддреЗ рд╕рдордп рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдЙрдирдХреЗ рдХреИрдорд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕ рд╣реЗрдбрд░ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рддрд╛ рд╣реВрдВред рдпрд╣ рдлрд╝реАрд▓реНрдб рдХреЗрд╡рд▓ рдЯрд╛рдЗрдк 64 рд╕реЗ 127 рдХреЗ рд╕рд╛рде рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИред
- рдкрд░рд┐рдорд╛рдгреАрдХрд░рдг рддрд╛рд▓рд┐рдХрд╛ рдбреЗрдЯрд╛ : рдпрджрд┐ рд╡реЗ рдореМрдЬреВрдж рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЙрдиреНрд╣реЗрдВ рдЕрд▓рдЧ рд╕реЗ рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЬреЗрдкреАрдИрдЬреА рдбреЗрдЯрд╛ рд╕реЗ рдЪрд┐рддреНрд░реЛрдВ рдХреЛ рдареАрдХ рд╕реЗ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрджрд┐ рдпреЗ рдЯреЗрдмрд▓ рд╕рд╣реА рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдЫрд╡рд┐ рдЧрд▓рдд рд░рдВрдЧреЛрдВ рдФрд░ рд╡рд┐рд░реЛрдзрд╛рднрд╛рд╕реЛрдВ рдХреЗ рд╕рд╛рде рд╣реЛрдЧреАред рдХреНрд░рдорд╢рдГ рдЪрдордХ рдФрд░ рд░рдВрдЧ рдХреЗ рд▓рд┐рдП рджреЛ рдЯреЗрдмрд▓ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП: рд▓реВрдорд╛ рдФрд░ рдХреНрд░реЛрдорд╛ред
- MBZ, рдкрд░рд┐рд╢реБрджреНрдзрддрд╛, рд▓рдВрдмрд╛рдИ : (32) рдкрд░рд┐рдорд╛рдгреАрдХрд░рдг рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рдкреИрд░рд╛рдореАрдЯрд░, рдореИрдВ рдЙрдиреНрд╣реЗрдВ рдЕрдирджреЗрдЦрд╛ рдХрд░рддрд╛ рд╣реВрдВ, рдореИрдВрдиреЗ рд▓рдВрдмрд╛рдИ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреА рд╣реИ - 64 рдмрд╛рдЗрдЯреНрд╕ рдХреА рджреЛ - рдкреНрд░рддреНрдпреЗрдХ рддрд╛рд▓рд┐рдХрд╛ред рдЕрдиреНрдпрдерд╛, рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдЙрдирдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рд╣реИред
RST рдорд╛рд░реНрдХрд░ рд╣реЗрдбрд░ рдФрд░ рдХреНрд╡рд╛рдВрдЯрд┐рдЬрд╝реЗрд╢рди рдЯреЗрдмрд▓ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдкрд╣рд▓реЗ рдирд╣реАрдВ рд╣реИ, рддреЛ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдХрд┐рд╕реА рдФрд░ рдЪреАрдЬрд╝ рдкрд░ рднрд░реЛрд╕рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ред рдпрджрд┐ рдХреЛрдИ рджреВрд╕рд░рд╛ рдирд╣реАрдВ рд╣реИ - рдкреИрд░рд╛рдореАрдЯрд░ рдХреНрдпреВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЖрд╡рд╢реНрдпрдХ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреА рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИред
RTCP рдкреИрдХреЗрдЯ рдореЗрдВ рдЗрд╕рдХрд╛ рдПрдХ рдЙрдкрд╕рдореВрд╣ рд╣реЛрддрд╛ рд╣реИ, рдпрд╣ рдЪрд╛рд░ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ: 201 - рд╕реНрд░реЛрдд рд░рд┐рдкреЛрд░реНрдЯ, 202 - рд░рд┐рд╕реАрд╡рд░ рд░рд┐рдкреЛрд░реНрдЯ, 203 - рд╕реНрд░реЛрдд рд╡рд┐рд╡рд░рдг рдФрд░ 204 - рдЧрдВрддрд╡реНрдп рдЕрдиреБрдкреНрд░рдпреЛрдЧ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдореЗрдВ рдЯрд╛рдЗрдк 201 рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдлрд┐рд░ рдЯрд╛рдЗрдк рдХрд░реЗрдВ 202ред 203 рдФрд░ 204 рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдЙрдиреНрд╣реЗрдВ рднреА рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддрд╛ рд╣реВрдВред рдПрдХ рдпреВрдбреАрдкреА рдкреИрдХреЗрдЯ рдореЗрдВ рдХрдИ RTCP рдкреИрдХреЗрдЯ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред
рд╕рднреА рдкреНрд░рдХрд╛рд░реЛрдВ рдореЗрдВ рд╕рдорд╛рди рд╕рдВрд░рдЪрдирд╛ рд╣реЛрддреА рд╣реИред рдХреЛрдИ рднреА RTCP рдкреИрдХреЗрдЯ рдирд┐рдореНрди рдбреЗрдЯрд╛ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ:
+ рдмрд┐рдЯ рдСрдлрд╕реЗрдЯ | 0-1 | 2 | 3-7 | 8-15 | 16-31 |
---|
0 | рд╕рдВрд╕реНрдХрд░рдг | рдЧрджреНрджреА | SC рдпрд╛ RC рдпрд╛ рд╕рдмрдЯрд╛рдЗрдк | рдкреИрдХреЗрдЯ рдкреНрд░рдХрд╛рд░ | рд▓рдВрдмрд╛рдИ |
---|
- рд╕рдВрд╕реНрдХрд░рдг : (2) рдЖрд░рдЯреАрдкреА рд╕рдВрд╕реНрдХрд░рдгред
- рдкреИрдбрд┐рдВрдЧ : (1) рдЖрд░рдЯреАрдкреА рдХреЗ рд▓рд┐рдП рд╕рдорд╛рдиред
- рдПрд╕рд╕реА рдпрд╛ рдЖрд░рд╕реА рдпрд╛ рд╕рдмрдЯрд╛рдЗрдк : (5) рдкреНрд░рдХрд╛рд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдпрд╣ рд╕реНрд░реЛрдд (рд╕реНрд░реЛрдд рдЧрдгрдирд╛) рдпрд╛ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ (рд╕реНрд░реЛрдд рдХреА рдЧрдгрдирд╛) рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреНрд░рдорд╢рдГ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рдФрд░ рд╕реНрд░реЛрдд рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддреА рд╣реИред рдпрджрд┐ рдпрд╣ рдПрдХ рдПрдкреАрдкреА рдкреИрдХреЗрдЯ рд╣реИ, рддреЛ рдпрд╣ рдХреНрд╖реЗрддреНрд░ рдРрд╕реЗ рдкреИрдХреЗрдЯ рдХреЗ рдЙрдкрдкреНрд░рдХрд╛рд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред
- рдкреИрдХреЗрдЯ рдкреНрд░рдХрд╛рд░ : (8) рдкреИрдХреЗрдЯ рдкреНрд░рдХрд╛рд░, 201 - рд╕реНрд░реЛрдд рд░рд┐рдкреЛрд░реНрдЯ (рдкреНрд░реЗрд╖рдХ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдПрд╕рдПрд╕), 202 - рд░рд┐рд╕реАрд╡рд░ рд░рд┐рдкреЛрд░реНрдЯ (рд░рд┐рд╕реАрд╡рд░ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдЖрд░рдЖрд░), 203 - рд╕реНрд░реЛрдд рд╡рд┐рд╡рд░рдг рдПрд╕рдбреАрдИрдПрд╕ рдФрд░ 204 - рдЧрдВрддрд╡реНрдп рдПрдкреНрд▓рд┐рдХреЗрд╢рди (рдПрдкреАрдкреА) рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
- рд▓рдВрдмрд╛рдИ : (16) рд╣реЗрдбрд░ рдХреЗ рдмрд╛рдж рдбреЗрдЯрд╛ рдХрд╛ рдЖрдХрд╛рд░, 32 рдмрд┐рдЯ рдЗрдХрд╛рдЗрдпреЛрдВ рдореЗрдВ рдорд╛рдкрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ рдкреНрд░рддреНрдпреЗрдХ рдЙрдкрдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рд┐рдП рдлрд╝реАрд▓реНрдб рдирд╣реАрдВ рджреВрдВрдЧрд╛, рдЙрдиреНрд╣реЗрдВ
RFC3550 рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдореБрдЭреЗ рдХреЗрд╡рд▓ рдЗрддрдирд╛ рдХрд╣рдирд╛ рд╣реИ рдХрд┐ рдПрд╕рдПрд╕ рдФрд░ рдЖрд░рдЖрд░ рдкреНрд░рдХрд╛рд░ рднреЗрдЬреЗ рдЧрдП / рдкреНрд░рд╛рдкреНрдд рдкреИрдХреЗрдЯреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рд╕рдордп рдХреА рджреЗрд░реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд▓реЗрддреЗ рд╣реИрдВред рдПрд╕рдбреАрдИрдПрд╕ рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдкрд╛рда рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рд╡рд╣рди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд╕реНрд░реЛрдд рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ рдЙрд╕рдХрд╛ рдирд╛рдо, рдИрдореЗрд▓, рдлреЛрди, рд╕реНрдерд╛рди рдЖрджрд┐ред
рдЗрд╕рд╕реЗ рдкрд░рд┐рдЪрдп рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред
рдЖрд░рдЯреАрдПрд╕рдкреА рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рдЕрдЬрдЧрд░ рдПрдордЬреЗрдкреАрдИрдЬреА
рдЗрд╕рд▓рд┐рдП рд╣рдо рдЕрдЬрдЧрд░ рдХреЗ рдкрд╛рд╕ рдЧрдПред рдХреНрд▓рд╛рдЗрдВрдЯ рдореЗрдВ рдХрдИ рдлрд╛рдЗрд▓реЗрдВ рд╣реЛрддреА рд╣реИрдВ,
main.py
рдореЗрдВ рдПрдХ рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рди рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдкреНрд░рд╛рдкреНрдд рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рдЯреНрд╡рд┐рд╕реНрдЯреЗрдб рдиреЗрдЯрд╡рд░реНрдХ рдлреНрд░реЗрдорд╡рд░реНрдХ рддрдВрддреНрд░ рднреА рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХреИрдорд░реЗ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред рд╕рднреА рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ I рдХреЛ рдЫреЛрдЯрд╛, рдкреВрд░реНрдг рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд▓реЗрдЦ рдХреЗ рдЕрдВрдд рдореЗрдВ рд▓рд┐рдВрдХ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
main.py 20: def processImage(img): 21: 'This function is invoked by the MJPEG Client protocol' 22:
рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдЖрдк RTCP рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдП рдмрд┐рдирд╛ рдФрд░ рдСрдбрд┐рдпреЛ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдП рдмрд┐рдирд╛ рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХреИрдорд░рд╛ рд▓рдЧрднрдЧ рдПрдХ рдорд┐рдирдЯ рдХреЗ рдмрд╛рдж рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдореЗрдВ рд╣рд░ рд╕рдордп рдкреБрди: рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ, рдпрд╣ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╕рдорд╕реНрдпрд╛рдПрдВ рдкреИрджрд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд▓реЗрдЦ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ RTCP рднрд╛рдЧ рдХреЛ рдЬреЛрдбрд╝рд╛ рдФрд░ рдСрдбрд┐рдпреЛ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд░рд┐рдХреНрдд рдмрдирд╛рдпрд╛ред
рдЕрдЧрд▓реА рдорд╣рддреНрд╡рдкреВрд░реНрдг рдлрд╝рд╛рдЗрд▓
rtsp_client.py
ред рд╡рд╣ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рднреНрд░рдорд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рдЙрд╕рдХрд╛ рд▓рдХреНрд╖реНрдп рд╕реНрдкрд╖реНрдЯ рд╣реИ - рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдХрдиреЗрдХреНрд╢рди рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ред
rtsp_client.py 012: class RTSPClient(Protocol): 013: def __init__(self): 014: self.config = {} 015: self.wait_description = False 016: 017: def connectionMade(self): 018: self.session = 1 019:
рдПрдХ рдСрдбрд┐рдпреЛ рдЯреНрд░реИрдХ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдпрд╣ рдореЙрдбреНрдпреВрд▓
rtp_audio_client.py
рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд RTCP рдХреНрд▓рд╛рдЗрдВрдЯ рднреА рд▓реЙрдиреНрдЪ рдХрд░рддрд╛ рд╣реИред
рдПрдХ рд╕рдлрд▓ рдХрдиреЗрдХреНрд╢рди рдХреЗ рдмрд╛рдж,
rtp_mjpeg_client.py
рдХрд╛рдо рдХреЗ рд▓рд┐рдП рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЖрдиреЗ рд╡рд╛рд▓реА рдбреЗрдЯрд╛ рд╕реНрдЯреНрд░реАрдо рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИред
rtp_mjpeg_client.py 08: class RTP_MJPEG_Client(DatagramProtocol): 09: def __init__(self, config): 10: self.config = config 11:
рдЙрд╕реЗ рд╕рдордЭрдирд╛ рдЖрд╕рд╛рди рд╣реИред рд╣рд░ рдмрд╛рд░ рдЬрдм рд╣рдо рдПрдХ рдФрд░ рдбреЗрдЯрд╛рдЧреНрд░рд╛рдо рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ, рд╣рдо рдЗрд╕реЗ
rtp_datagram.py
рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд╛рд░реНрд╕ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдкрд░рд┐рдгрд╛рдо рдХреЛ
rfc2435jpeg.py
рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдлреАрдб рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдПрдХ рдкреВрд░реНрдг JPEG рдЫрд╡рд┐ рдмрдирд╛рддрд╛ рд╣реИред рдЕрдЧрд▓рд╛, рд╣рдо
rtp_dg.Marker
рдорд╛рд░реНрдХрд░ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдЫрд╡рд┐ рдХреЗ рд╕рд╛рде рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВред
RTP рдбреЗрдЯрд╛рдЧреНрд░рд╛рдо рдкрд╛рд░реНрд╕рд░ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
rtp_datagram.py 26: def parse(self): 27: Ver_P_X_CC, M_PT, self.SequenceNumber, self.Timestamp, self.SyncSourceIdentifier = unpack('!BBHII', self.Datagram[:12]) 28: self.Version = (Ver_P_X_CC & 0b11000000) >> 6 29: self.Padding = (Ver_P_X_CC & 0b00100000) >> 5 30: self.Extension = (Ver_P_X_CC & 0b00010000) >> 4 31: self.CSRCCount = Ver_P_X_CC & 0b00001111 32: self.Marker = (M_PT & 0b10000000) >> 7 33: self.PayloadType = M_PT & 0b01111111 34: i = 0 35: for i in range(0, self.CSRCCount, 4): 36: self.CSRS.append(unpack('!I', self.Datagram[12+i:16+i])) 37: if self.Extension: 38: i = self.CSRCCount * 4 39: (self.ExtensionHeaderID, self.ExtensionHeaderLength) = unpack('!HH', self.Datagram[12+i:16+i]) 40: self.ExtensionHeader = self.Datagram[16+i:16+i+self.ExtensionHeaderLength] 41: i += 4 + self.ExtensionHeaderLength 42: self.Payload = self.Datagram[12+i:]
JPEG рд░рд┐рдХрд╡рд░реА рдореЙрдбреНрдпреВрд▓ рдХрд╛рдлреА рдмрдбрд╝рд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рдХрдИ рдЯреЗрдмрд▓ рдФрд░ рдПрдХ рд▓рдВрдмреЗ рд╣реЗрдбрд░ рдЬрдирд░реЗрд╢рди рдлрдВрдХреНрд╢рди рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдореИрдВ рдЙрдиреНрд╣реЗрдВ рдпрд╣рд╛рдВ рдЫреЛрдбрд╝ рджреВрдБрдЧрд╛, рдХреЗрд╡рд▓ рдЖрд░рдЯреАрдкреА рдкреЗрд▓реЛрдб рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдФрд░ рдЕрдВрддрд┐рдо рдЬреЗрдкреАрдИрдЬреА рдЫрд╡рд┐ рдмрдирд╛рдиреЗ рдХреЗ рдХрд╛рд░реНрдп рдкреНрд░рджрд╛рди рдХрд░реЗрдЧрд╛ред
rfc2435jpeg.py 287: def parse(self): 288: HOffset = 0 289: LOffset = 0 290:
рдореИрдВрдиреЗ
rtp_audio_client.py
рдСрдбрд┐рдпреЛ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдореЙрдбреНрдпреВрд▓ рдХреЛ рднреА рд▓рд╛рдЧреВ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЗрдВ рдЦреЗрд▓рдиреЗ рдпреЛрдЧреНрдп рдбреЗрдЯрд╛ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рддреЛ рдореИрдВрдиреЗ рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдПрдХ рд╕реНрдХреЗрдЪ рдмрдирд╛рдпрд╛, рдЬреИрд╕рд╛ рдХрд┐ рд╕рдм рдХреБрдЫ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдХреЗрд╡рд▓
rfc2435jpeg.py
рд╕рдорд╛рди рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдСрдбрд┐рдпреЛ рдбреЗрдЯрд╛ рдЖрд╕рд╛рди рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЦрдВрдбрд┐рдд рдирд╣реАрдВ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдкреИрдХреЗрдЬ рдкреНрд░рдЬрдирди рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдбреЗрдЯрд╛ рд╡рд╣рди рдХрд░рддрд╛ рд╣реИред рдореИрдВ рдЗрд╕ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдпрд╣рд╛рдВ рдирд╣реАрдВ рд▓рд╛рдКрдВрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рд▓реЗрдЦ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрд╣реБрдд рд▓рдВрдмрд╛ рд╣реИ (рдореИрдВрдиреЗ рдЬрд▓реНрдж рд╣реА рдПрдХ рд╣реИрдмрд░рдлреЛрд▓реНрдб рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рд╣реЛрдЧрд╛)ред
рд╕рд╣реА рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ RTCP рдкреИрдХреЗрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдФрд░ рднреЗрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдкреНрд░реЗрд╖рдХ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВ, рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рднреЗрдЬреЗрдВред рдХрд╛рд░реНрдп рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдХреИрдорд░реЗ рд╕реЗ рдПрд╕рдЖрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж рдЕрдкрдирд╛ рдЖрд░рдЖрд░ рднреЗрдЬреЗрдВрдЧреЗ рдФрд░ рд╣рдо рдЙрдиреНрд╣реЗрдВ рдЖрджрд░реНрд╢рд┐рдд рдбреЗрдЯрд╛ рдореЗрдВ рд░рдЦреЗрдВрдЧреЗ рдХрд┐ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИред
rtcp_client.py 09: class RTCP_Client(DatagramProtocol): 10: def __init__(self): 11:
рд▓реЗрдХрд┐рди рдореЙрдбреНрдпреВрд▓ рд╕реАрдзреЗ RTCP рдбреЗрдЯрд╛рдЧреНрд░рд╛рдо рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрд╣ рднреА рдХрд╛рдлреА рдмрдбрд╝рд╛ рдирд┐рдХрд▓рд╛ред
rtcp_datagram.py 049: def parse(self): 050:
рдЖрд░рдПрдлрд╕реА рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдкрд╛рд░реНрд╕рд┐рдВрдЧ рд╕рдЦреНрддреА рд╕реЗ рдХреА рдЬрд╛рддреА рд╣реИред рдореИрдВ unpack
рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдЪрд░ рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рдореИрдВ рдЙрд╕ рдбреЗрдЯрд╛ рд╕рд░рдгреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ off
рдЬрд┐рд╕рдореЗрдВ рд╡рд░реНрддрдорд╛рди рдСрдлрд╕реЗрдЯ рд╣реЛрддрд╛ рд╣реИредрдФрд░ рдпрд╣рд╛рдБ рд▓рд┐рдВрдХ рд╣реИ: рдЖрд░рдЯреАрдПрд╕рдкреА рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рдЕрдЬрдЧрд░ рдПрдордЬреЗрдкреАрдИрдЬреА редрд░реВрд╕реА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ рдХрд╛ рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рдмрдирд╛рдирд╛ рдЕрдм рд╕рдВрднрд╡ рдирд╣реАрдВ рдерд╛, рдЗрд╕рд▓рд┐рдП рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд╣реАрдВ рд╣реИ рддреЛ рдореБрдЭреЗ рдорд╛рдлрд╝ рдХрд░реЗрдВредрдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА
- рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдорд▓реНрдЯреАрдореАрдбрд┐рдпрд╛
- рдСрдбрд┐рдпреЛ рдФрд░ рд╡реАрдбрд┐рдпреЛ рдХреЗ рд▓рд┐рдП RTP рдкреНрд░реЛрдлрд╛рдЗрд▓ рдХреА рд╕реВрдЪреА
рдЗрд╕ рд▓реЗрдЦ рдХреЗ рдЕрдВрдд рдореЗрдВ, рдФрд░ рдЬрд┐рд╕рдиреЗ рдорд╣рд╛рд░рдд рд╣рд╛рд╕рд┐рд▓ рдХреА - рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд┐рдпрд╛!