рд▓рд┐рдирдХреНрд╕ рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ USB рдХреИрдорд░реЛрдВ рд╕реЗ рд╡реАрдбрд┐рдпреЛ рдХреИрдкреНрдЪрд░ рдХрд░рдирд╛

рдкреГрд╖реНрдарднреВрдорд┐


рдХреБрдЫ рд╕рдордп рдкрд╣рд▓реЗ, рдореБрдЭреЗ "рдЯреИрдВрдХ рдпреБрджреНрдз" рдХреЗ рдкреНрд░рд╕рд┐рджреНрдз рд╕реЗрдЯ рд╕реЗ рдПрдХ рдЯреИрдВрдХ рдХреЛ "рд╕реБрдзрд╛рд░" рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓реБрднрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЦреЗрд▓рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реБрдП рдорд╛рдиреЛ рдореИрдВ рдПрдХ рдЯреИрдВрдХ рдЪрд╛рд▓рдХ рдерд╛ред Habr├й (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣рд╛рдБ: geektimes.ru/post/257528 рдкрд░ рдХрдИ рд▓реЗрдЦ рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж рдпрд╣ рд╡рд┐рдЪрд╛рд░ рд╕рд╛рдордиреЗ рдЖрдпрд╛), рдЙрдирдореЗрдВ рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рд╡рд╛рдИрдлрд╛рдИ рд░рд╛рдЙрдЯрд░ рдФрд░ рдПрдХ рдпреВрдПрд╕рдмреА рдХреИрдорд░рд╛ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╕рдорд╛рдзрд╛рди рдмреЗрд╣рдж рд╕рд░рд▓рддрд╛ рд╕реЗ рджрд┐рдЦрддрд╛ рд╣реИ: рд░рд╛рдЙрдЯрд░ рдХреЛ рд╡рд┐рд╢реЗрд╖ рдлрд░реНрдорд╡реЗрдпрд░ рдХреЗ рд╕рд╛рде рдлреНрд▓реИрд╢ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреИрдорд░рд╛ рдЗрд╕рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реЛрддрд╛ рд╣реИ, рдЯреИрдВрдХ рдХреЛ рджреЗрд╢реА рд░рд┐рдореЛрдЯ рдХрдВрдЯреНрд░реЛрд▓ рджреНрд╡рд╛рд░рд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╡реАрдбрд┐рдпреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ рд╡реАрдбрд┐рдпреЛ рдШреГрдгрд┐рдд рдЧреБрдгрд╡рддреНрддрд╛ рдореЗрдВ рдХреИрдкреНрдЪрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣ рдпрд╛ рддреЛ 320x440x30 рдпрд╛ 640x480x30 рдерд╛ред рдЬрдм 1280x720 рдореЛрдб рдХреЛ рдЪрд╛рд▓реВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдХрд▓рд╛рдХреГрддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдлрдЯрд╛ рд╣реБрдЖ рд╡реАрдбрд┐рдпреЛ рдерд╛, рд╕рдмрд╕реЗ рдЦрд░рд╛рдм рд░реВрдк рд╕реЗ рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдирд╣реАрдВ рдерд╛ред 1920x1080 рдореЛрдб рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдЗрд╕рдиреЗ рдореБрдЭреЗ рдмрд╣реБрдд рдкрд░реЗрд╢рд╛рди рдХрд┐рдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рдкреАрд╕реА рдкрд░ рдХреИрдорд░реЗ рдиреЗ 1920x1080x30 рддрдХ рдореЛрдб рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ рдерд╛ рдФрд░ рдЗрд╕рдореЗрдВ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдПрдордЬреЗрдкреАрдЬреА рдХрдВрдкреНрд░реЗрд╢рди рдерд╛ред рдореЗрд░реЗ рдЕрдВрддрд░реНрдЬреНрдЮрд╛рди рдиреЗ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рдХрд┐ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдПрдХрджрдо рд╕рд╣реА рд╣реИред

рд▓рдХреНрд╖реНрдп


  1. рдлреБрд▓рдПрдЪрдбреА (1920X1080) рдпрд╛ рдПрдЪрдбреА (1280x720) рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рдлреНрд░реЗрдо рджрд░ (рддрд╛рдХрд┐ рдЖрдк рдЦреЗрд▓ рд╕рдХреЗрдВ) рдореЗрдВ рд╡реАрдбрд┐рдпреЛред
  2. рдореИрдВрдиреЗ рдмрдЪреНрдЪреЛрдВ рдХреЛ рдЦрд┐рд▓реМрдирд╛ рджреЗрдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рдИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдХреИрдорд░реЗ рдХреЛ рдЬреЛрдбрд╝рдиреЗ / рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдСрдЯреЛ рд╕реНрдЯрд╛рд░реНрдЯ рдФрд░ рд╕рдорд░реНрдерди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред

рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдореИрдВ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХреБрдЫ рдЪрд╛рд╣рддрд╛ рдерд╛:



рд╕реАрдорд╛рдПрдВ


рдореИрдВ рдПрдХ рдРрд╕реЗ рд╕рдорд╛рдзрд╛рди рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рдирд╣реАрдВ рдерд╛ рдЬреЛ рд╣рдореЗрд╢рд╛ рдФрд░ рд╣рд░ рдЬрдЧрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реЛред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рддрд┐рдмрдВрдз рдореБрдЭреЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдиреБрдХреВрд▓ рдХрд░рддреЗ рд╣реИрдВ:

  1. рдЕрдЪреНрдЫрд╛ рд╡рд╛рдИрдлрд╛рдИ рд╕рд┐рдЧреНрдирд▓ред
  2. рдХреЗрд╡рд▓ рдПрдХ рдЧреНрд░рд╛рд╣рдХ рд╣реЛрдиреЗ рдкрд░ рд╕реАрдорд┐рдд рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдХрдиреЗрдХреНрд╢рди рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреА рдЧрдИ рдереАред
  3. рдХреИрдорд░рд╛ MJPG рдореЛрдб рдХреЛ рд╕рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИред

HW рдФрд░ SW


  1. Logitech B910 HD рдХреИрдордХреЙрд░реНрдбрд░ ( http://www.logitech.com/en-us/product/b910-hd-webcam )ред
  2. рд░рд╛рдЙрдЯрд░ рдЯреАрдкреА-рд▓рд┐рдВрдХ рдЯреАрдПрд▓-рдПрдордЖрд░ 3020ред рдЗрд╕ рдмрдЪреНрдЪреЗ рдХреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╣реИрдВ: CPU MIPS 24K 400MHz, RAM 32 MiB, рдлреНрд▓реИрд╢ 4 MiB, рдИрдерд░рдиреЗрдЯ 100 Mbit, USB 2.0 ( http://wiki.openwrt.org/en/toh/tp-link/tl-mr3020 )ред
  3. . OR-WRT (http://roboforum.ru/wiki/OR-WRT), OpenWRT (http://openwrt.org/, 12.07 15.05).
  4. . , .
  5. тАЬ тАЭ.


рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрдордЬреЛрд░ рд╡рд┐рдиреНрдпрд╛рд╕ рд╣реИ, рдЦрд╛рд╕рдХрд░ рдЕрдЧрд░ рдЖрдкрдХреЛ рдпрд╛рдж рд╣реИ рдХрд┐ 1920x1080 рдЖрдХрд╛рд░ рдХреЗ YUV420 рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдПрдХ рдлреНрд░реЗрдо 4 MiB (рдкреНрд░рддрд┐ рдкрд┐рдХреНрд╕реЗрд▓ 2 рдмрд╛рдЗрдЯреНрд╕) рд▓реЗрддрд╛ рд╣реИред рдореБрдЭреЗ рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдХрд┐ рдХреИрдорд░рд╛ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ MJPG рд╕рдВрдкреАрдбрд╝рди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдкреНрд░рдпреЛрдЧреЛрдВ рд╕реЗ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдПрдХ рд╕рдВрдХреБрдЪрд┐рдд FullHD рдлреНрд░реЗрдо рдЖрдорддреМрд░ рдкрд░ <500 KiB рд╣реИред рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рд╢реЛрдз рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рд╡реАрдбрд┐рдпреЛ рдкрд░ рдХрдмреНрдЬрд╛ рдХрд░рдиреЗ рдФрд░ рдЗрд╕реЗ HTTP рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдЯреНрд░реАрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, mjpg-streamer (http://sourceforge.net/projects/mjpg-streamer/) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрдирдХреЗ рдХреЛрдб рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╕реЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рд╡рд╣ рд╡реАрдбрд┐рдпреЛ рдХреЛ рдХреИрдкреНрдЪрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 1 рд╕реНрдЯреНрд░реАрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ + рдкреНрд░рддреНрдпреЗрдХ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рд╕реНрдЯреНрд░реАрдоред рдпрд╣ рд╕рд┐рдВрдЧрд▓-рдХреЛрд░ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдзрд╛рдЧреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреИрдХ рдХреЗ рд▓рд┐рдП рдереНрд░реЗрдб рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЬрд╝реЗрд╢рди рдФрд░ рдореЗрдореЛрд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЙрдиреНрд╣реЛрдВрдиреЗ рдХреИрдкреНрдЪрд░ рдХрд┐рдП рдЧрдП рдлрд╝реНрд░реЗрдореЛрдВ рдХреЛ рднреА рдХреЙрдкреА рдХрд┐рдпрд╛ред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, mjpg-streamer # 1 рд╕рдВрджрд┐рдЧреНрдз рд╣реЛ рдЧрдпрд╛ред

рджрд┐рд▓рдЪрд╕реНрдк рдЦреЛрдЬ


Mjpg-streamer рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рддреЗ рд╣реБрдП, рдореБрдЭреЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рд▓рд┐рдирдХреНрд╕ рдкрд░ рд╡реАрдбрд┐рдпреЛ рдХреИрдкреНрдЪрд░ v4l2 рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдкрдХрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдлрд░ рдХрддрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред Mjpg-streamer рдореЗрдВ рдЗрди рдмрдлрд╝рд░реНрд╕ рдХреЗ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХреЛ рдбреАрдмрдЧ рдХрд░рддреЗ рд╣реБрдП, рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ MJPG рдореЛрдб рдХреЗ рд▓рд┐рдП рднреА рдЙрдирдХрд╛ рдЖрдХрд╛рд░ рдмрд╣реБрдд рдмрдбрд╝рд╛ рд╣реИ рдФрд░ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд░реВрдк рд╕реЗ рдЕрд╕рдореНрдкреАрдбрд┐рдд рдлреНрд░реЗрдо рдХреЗ рдЖрдХрд╛рд░ рдХреЗ рд╕рд╛рде рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реЛрдиреЗ рд▓рдЧрд╛ рдХрд┐ рдореБрдЭреЗ UVC рдбреНрд░рд╛рдЗрд╡рд░ рдХреЛрдб рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЬреЛ рдХреИрдорд░реЛрдВ рдХреЗ рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред

рдбреНрд░рд╛рдЗрд╡рд░ рдХреЛрдб рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдФрд░ рдкрд╣рд▓реА рд╕рдлрд▓рддрд╛


рдХреЛрдб рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рддреЗ рд╣реБрдП, рдореИрдВ рдЗрд╕ рдирд┐рд╖реНрдХрд░реНрд╖ рдкрд░ рдкрд╣реБрдВрдЪрд╛ рдХрд┐ рдХреИрдорд░реЗ рд╕реЗ рдмрдлрд░ рдХрд╛ рдЖрдХрд╛рд░ рдкреВрдЫрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдореЗрд░реЗ рдХреИрдорд░реЗ рдиреЗ рдЕрд╕рдореНрдкреАрдбрд┐рдд рдлреНрд░реЗрдо рдХрд╛ рдЖрдХрд╛рд░ рд╡рд╛рдкрд╕ рдХрд░ рджрд┐рдпрд╛ред рдХреИрдорд░рд╛ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдпрд╣ рд╢рд╛рдпрдж рд╕рдмрд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рд╕рдорд╛рдзрд╛рди рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рднреА рдЗрд╖реНрдЯрддрдо рдирд╣реАрдВ рд╣реИред рдореИрдВрдиреЗ рддрдп рдХрд┐рдпрд╛ рдХрд┐ рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рдиреНрдпреВрдирддрдо рд╕рдВрдкреАрдбрд╝рди рдЕрдиреБрдкрд╛рдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрд╡рд╢реНрдпрдХ рдмрдлрд░ рдЖрдХрд╛рд░ рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВрдиреЗ k = 5 рдЪреБрдирд╛ред рдЗрд╕ рдорд╛рди рдХреЗ рд╕рд╛рде, рдореЗрд░реЗ рдкрд╛рд╕ рд▓рдЧрднрдЧ 20% рдХрд╛ рдорд╛рд░реНрдЬрд┐рди рдерд╛ред

рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рд╡рд┐рд╖рдпрд╛рдВрддрд░ред
, JPG. . , .

UVC рдбреНрд░рд╛рдЗрд╡рд░ рдХреЛрдб "рд╡рд┐рд╢реЗрд╖" рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдерд╛, рдФрд░ рдореБрдЭреЗ рдЖрд╕рд╛рдиреА рд╕реЗ рдмрдлрд░ рдЖрдХрд╛рд░ (рдлрд╝рдВрдХреНрд╢рди uvc_fixup_video_ctrl ()) рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЬрдЧрд╣ рдорд┐рд▓реАред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдбреНрд░рд╛рдЗрд╡рд░ рдЖрдкрдХреЛ quVC рдХреЗ рд╕реЗрдЯ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ UVC рдорд╛рдирдХ рд╕реЗ рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рдЪрд▓рди рд╡рд╛рд▓реЗ рдХреИрдорд░реЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЪрд╛рд▓рдХ рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ рдЪрд┐рдбрд╝рд┐рдпрд╛рдШрд░ рдХреИрдорд░реЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред

рдмрдлрд╝рд░ рдЖрдХрд╛рд░ рд╕реБрдзрд╛рд░ рдХреЛ рдЬреЛрдбрд╝рдХрд░, рдореБрдЭреЗ 1280x720 рдореЛрдб рдореЗрдВ рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ 1920x1080 рдореЛрдб рдореЗрдВ рднреА рд╕реНрдерд┐рд░ рд╕рдВрдЪрд╛рд▓рди рдорд┐рд▓рд╛ред рд╣реБрд░реНрд░реЗ! рдЖрдзреА рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЧрдИ!

рдирдП рдХрд╛рд░рдирд╛рдореЛрдВ рдХреА рддрд▓рд╛рд╢ рдореЗрдВ


рдкрд╣рд▓реА рд╕рдлрд▓рддрд╛ рд╕реЗ рдереЛрдбрд╝рд╛ рдЦреБрд╢, рдореБрдЭреЗ рдпрд╛рдж рдЖрдпрд╛ рдХрд┐ mjpg-streamer рдПрдХрджрдо рд╕рд╣реА рд╣реИред рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЖрдк рдХреБрдЫ рд╕рд░рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, mjpg-streamer рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдирд╣реАрдВ, рд▓реЗрдХрд┐рди рдореЗрд░реА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдЙрдкрдпреБрдХреНрддред рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ uvc2http рдмрдирд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред

Mjpg-streamer рдореЗрдВ, рдореБрдЭреЗ рдХрдИ рдзрд╛рд░рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдФрд░ рдмрдлрд╝рд░реНрд╕ рдХреЛ рдХреЙрдкреА рдХрд░рдирд╛ рдкрд╕рдВрдж рдирд╣реАрдВ рдерд╛ред рдЗрд╕рдиреЗ рд╕рдорд╛рдзрд╛рди рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛: 1 рдзрд╛рд░рд╛ рдФрд░ рдХреЛрдИ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдирд╣реАрдВред рдЧреИрд░-рдЕрд╡рд░реБрджреНрдз IO рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛, рдпрд╣ рдХрд╛рдлреА рд╕рд░рд▓рддрд╛ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: рдлреНрд░реЗрдо рдХреЛ рдХреИрдкреНрдЪрд░ рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рдХреЙрдкреА рдХрд┐рдП рдмрд┐рдирд╛ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рднреЗрдЬреЗрдВред рдПрдХ рдЫреЛрдЯреА рд╕реА рд╕рдорд╕реНрдпрд╛ рд╣реИ: рдЬрдм рд╣рдо рдмрдлрд░ рд╕реЗ рдбреЗрдЯрд╛ рднреЗрдЬ рд░рд╣реЗ рд╣реИрдВ, рд╣рдо рдмрдлрд░ рдХреЛ рдХрддрд╛рд░ рдореЗрдВ рд╡рд╛рдкрд╕ рдирд╣реАрдВ рд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред рдФрд░ рдЬрдм рдмрдлрд░ рдХрддрд╛рд░ рдореЗрдВ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдбреНрд░рд╛рдЗрд╡рд░ рдЗрд╕рдореЗрдВ рдирдпрд╛ рдлреНрд░реЗрдо рдирд╣реАрдВ рдбрд╛рд▓ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдХрддрд╛рд░ рдХрд╛ рдЖрдХрд╛рд░> 1 рд╣реИ, рддреЛ рдпрд╣ рд╕рдВрднрд╡ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдмрдлрд╝рд░реНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдЕрдзрд┐рдХрддрдо рдХрдиреЗрдХреНрд╢рди рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреА рд╣реИ рдЬрд┐рд╕реЗ рд╕реЗрд╡рд╛ рдХреА рдЧрд╛рд░рдВрдЯреА рджреА рдЬрд╛ рд╕рдХрддреА рд╣реИред рдпрд╣реА рд╣реИ, рдЕрдЧрд░ рдореБрдЭреЗ 1 рдЧреНрд░рд╛рд╣рдХ рдХреА рдЧрд╛рд░рдВрдЯреА рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рд╣реИ, рддреЛ 3 рдмрдлрд╝рд░реНрд╕ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИрдВ (рдбреНрд░рд╛рдЗрд╡рд░ рдПрдХ рдмрдлрд░ рдХреЛ рд▓рд┐рдЦрддрд╛ рд╣реИ, рдбреЗрдЯрд╛ рджреВрд╕рд░реЗ рд╕реЗ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреАрд╕рд░рд╛ рд╕реНрдЯреЙрдХ рдореЗрдВ рд╣реИ рддрд╛рдХрд┐ рдмрдлрд░ рдХреЗ рд▓рд┐рдП рдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд╛ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЬрдм рдПрдХ рдирдпрд╛ рдлреНрд░реЗрдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдЬрд╛ рд╕рдХреЗ)ред

Uvc2http


Uvc2http рдореЗрдВ рджреЛ рдШрдЯрдХ рд╣реЛрддреЗ рд╣реИрдВ: UvcGrabber рдФрд░ HttpStreamerред рдкрд╣рд▓реЗ рдХрддрд╛рд░ рд╕реЗ рдмрдлрд░ (рдлреНрд░реЗрдо) рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╡рд╛рдкрд╕ рдХрддрд╛рд░ рдореЗрдВ рд╡рд╛рдкрд╕ рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рджреВрд╕рд░рд╛ HTTP рдкрд░ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреА рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рдЗрди рдШрдЯрдХреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рд╡рд╛рд▓рд╛ рдХреБрдЫ рдФрд░ рдХреЛрдб рд╣реИред рд╡рд┐рд╡рд░рдг рд╕реНрд░реЛрдд рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд╕рдорд╕реНрдпрд╛


рд╕рдм рдХреБрдЫ рдЕрджреНрднреБрдд рдерд╛: рдЖрд╡реЗрджрди рдиреЗ рдХрд╛рдо рдХрд┐рдпрд╛ рдФрд░ 1280x720 рдХреЗ рд╕рдВрдХрд▓реНрдк рдореЗрдВ 20+ рдлреНрд░реЗрдо / рд╕реЗрдХрдВрдб рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд┐рдпрд╛ред рдореИрдВрдиреЗ рдХреЛрдб рдореЗрдВ рдХреЙрд╕реНрдореЗрдЯрд┐рдХ рдмрджрд▓рд╛рд╡ рдХрд┐рдПред рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдПрдХ рдФрд░ рдмреИрдЪ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдлреНрд░реЗрдо рджрд░ рдХреЛ рдорд╛рдкрд╛ред рдкрд░рд┐рдгрд╛рдо рдирд┐рд░рд╛рд╢рд╛рдЬрдирдХ рдерд╛ - 15 рд╕реЗ рдХрдо рдлреНрд░реЗрдоред рдореИрдВ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рджреМрдбрд╝ рдкрдбрд╝рд╛ рдХрд┐ рдХрд┐рд╕ рд╡рдЬрд╣ рд╕реЗ рдЧрд┐рд░рд╛рд╡рдЯ рд╣реБрдИред рдореИрдВрдиреЗ рд╕рдВрднрд╡рддрдГ 2 рдШрдВрдЯреЗ рдмрд┐рддрд╛рдП рдЬрд┐рд╕рдХреЗ рджреМрд░рд╛рди рдЖрд╡реГрддреНрддрд┐ рдкреНрд░рддреНрдпреЗрдХ рдорд╛рдк рдХреЗ рд╕рд╛рде 7 рдлреНрд░реЗрдо / рд╕реЗрдХрдВрдб рдХреЗ рдореВрд▓реНрдп рддрдХ рдХрдо рд╣реЛ рдЧрдИред рд░рд╛рдЙрдЯрд░ рдХреЗ рд▓рдВрдмреЗ рдХрд╛рдо рдХреЗ рдХрд╛рд░рдг, рдЗрд╕рдХреЗ рдЕрдзрд┐рдХ рдЧрд░реНрдо рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг рдЧрд┐рд░рд╛рд╡рдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореЗрд░реЗ рд╡рд┐рдЪрд╛рд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣реИрдВред рдпрд╣ рдХреБрдЫ рд╕рдордЭ рд╕реЗ рдмрд╛рд╣рд░ рдерд╛ред рдХреБрдЫ рдмрд┐рдВрджреБ рдкрд░, рдореИрдВрдиреЗ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдмрдВрдж рдХрд░ рджреА рдФрд░ рджреЗрдЦрд╛ рдХрд┐ рд╕рд┐рд░реНрдл рдПрдХ рдХреИрдкреНрдЪрд░ (рдмрд┐рдирд╛ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ) рдиреЗ рд╕рдорд╛рди 7 рдлрд╝реНрд░реЗрдо рджрд┐рдПред рдореИрдВ рднреА рдХреИрдорд░реЗ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдУрдВ рдкрд░ рд╢рдХ рдХрд░рдиреЗ рд▓рдЧрд╛ред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдХреБрдЫ рдмрдХрд╡рд╛рд╕ред рдпрд╣ рд╢рд╛рдо рдореЗрдВ рдерд╛ рдФрд░ рдХреИрдорд░рд╛, рдЦрд┐рдбрд╝рдХреА рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рд╛, рдХреБрдЫ рдЧреНрд░реЗ рджрд┐рдЦрд╛ред рдЙрджрд╛рд╕ рдЫрд╡рд┐ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдХрдорд░реЗ рдХреЗ рдЕрдВрджрд░ рдХреИрдорд░рд╛ рдЪрд╛рд▓реВ рдХрд┐рдпрд╛ред рдФрд░ рд▓реЛ!рдлреНрд░реЗрдо рджрд░ рдмрдврд╝рдХрд░ 15 рд╣реЛ рдЧрдИ рдФрд░ рдореИрдВ рд╕рдм рдХреБрдЫ рд╕рдордЭ рдЧрдпрд╛ред рдХреИрдорд░реЗ рдиреЗ рд╕реНрд╡рддрдГ рдПрдХреНрд╕рдкреЛрдЬрд╝рд░ рд╕рдордп рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдФрд░ рдХрд┐рд╕реА рд╕рдордп рдпрд╣ рд╕рдордп рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рдЖрд╡реГрддреНрддрд┐ рдкрд░ рдлреНрд░реЗрдо рдХреА рдЕрд╡рдзрд┐ рд╕реЗ рдЕрдзрд┐рдХ рд▓рдВрдмрд╛ рд╣реЛ рдЧрдпрд╛ред рдЗрди рджреЛ рдШрдВрдЯреЛрдВ рдХреЗ рджреМрд░рд╛рди, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реБрдЖ: рдкрд╣рд▓реЗ рдпрд╣ рдзреАрд░реЗ-рдзреАрд░реЗ рдЕрдВрдзреЗрд░рд╛ рд╣реЛ рд░рд╣рд╛ рдерд╛ (рд╢рд╛рдо рд╣реЛ рдЧрдИ рдереА), рдФрд░ рдлрд┐рд░ рдореИрдВрдиреЗ рд▓рд╛рдЗрдЯ рд░реВрдо рдХреЗ рдЕрдВрджрд░ рдХреИрдорд░рд╛ рдЪрд╛рд▓реВ рдХрд┐рдпрд╛ред рдЭреВрдорд░ рдкрд░ рдХреИрдорд░реЗ рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддреЗ рд╣реБрдП, рдореБрдЭреЗ 20+ рдлрд╝реНрд░реЗрдо / рд╕реЗрдХрдВрдб рдорд┐рд▓рд╛ред рд╣реБрд░реНрд░реЗред


  1. . 1-1.5 .
  2. . , , qv4l2, . : - . .
  3. . USB , ( ) ( ). USB ( ).
  4. рд░рд╛рдЙрдЯрд░ рдореЗрдВ рдмрд╣реБрдд рдХрдо рдореЗрдореЛрд░реА рдФрд░ рдбрд┐рд╕реНрдХ рд╕реНрдерд╛рди рд╣реЛрддрд╛ рд╣реИред рдЗрд╕ рдХрд╛рд░рдг рд╕реЗ, рдореИрдВрдиреЗ OR-WRT рд╕реЗ рдЗрдВрдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛ рдФрд░ рдЕрдкрдиреА OpenWRT рдЫрд╡рд┐ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛, рдЬрд┐рд╕рд╕реЗ рд╕рдм рдХреБрдЫ рдЕрдзрдХрдЪрд░рд╛ рд╣реЛ рдЧрдпрд╛ред

рдкрд░рд┐рдгрд╛рдо


рдиреАрдЪреЗ mjpg-streamer рдФрд░ uvc2http рдХреА рддреБрд▓рдирд╛ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдкреНрд▓реЗрдЯ рд╣реИред рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдореЗрдореЛрд░реА рдХреА рдЦрдкрдд рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд▓рд╛рдн рдФрд░ рдлреНрд░реЗрдо рджрд░ рдФрд░ рд╕реАрдкреАрдпреВ рдЙрдкрдпреЛрдЧ рдореЗрдВ рдПрдХ рдЫреЛрдЯрд╛ рд▓рд╛рдн рд╣реИред
1280x7201920x1080
рд╡реАрдПрд╕рдЬреЗрдб, рдХреЗрдмреА, 1 рдХреНрд▓рд╛рдЗрдВрдЯрд╡реАрдПрд╕рдЬреЗрдб, рдХреЗрдмреА, 2 рдХреНрд▓рд╛рдЗрдВрдЯрд╕реАрдкреАрдпреВ,%, 1 рдЧреНрд░рд╛рд╣рдХрд╕реАрдкреАрдпреВ,%, 2 рдЧреНрд░рд╛рд╣рдХрдПрдлрдкреАрдПрд╕, рдПрдл / рдПрд╕, 1 рдЧреНрд░рд╛рд╣рдХрдПрдлрдкреАрдПрд╕, рдПрдл / рдПрд╕, 2 рдХреНрд▓рд╛рдЗрдВрдЯрд╡реАрдПрд╕рдЬреЗрдб, рдХреЗрдмреА, 1 рдХреНрд▓рд╛рдЗрдВрдЯрд╡реАрдПрд╕рдЬреЗрдб, рдХреЗрдмреА, 2 рдХреНрд▓рд╛рдЗрдВрдЯрд╕реАрдкреАрдпреВ,%, 1 рдЧреНрд░рд╛рд╣рдХрд╕реАрдкреАрдпреВ,%, 2 рдЧреНрд░рд╛рд╣рдХрдПрдлрдкреАрдПрд╕, рдПрдл / рдПрд╕, 1 рдЧреНрд░рд╛рд╣рдХрдПрдлрдкреАрдПрд╕, рдПрдл / рдПрд╕, 2 рдХреНрд▓рд╛рдЗрдВрдЯ
MJPG-рд╕реНрдЯреНрд░реАрдорд░16,86019040264317.6рдкрдВрджреНрд░рд╣25,4562581228рдкрдЪрд╛рд╕13.810
uvc2http3960396026432219.675767576284315.512.2

рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╡реАрдбрд┐рдпреЛ рдЬреЛ рдореИрдВрдиреЗ рдмрдЪреНрдЪреЛрдВ рдХреЗ рд╕рд╛рде рдмрдирд╛рдпрд╛ рд╣реИ:



рдкрд░рд┐рдгрд╛рдореА рдЯреИрдВрдХ рдХреА рдлреЛрдЯреЛ (рдпрд╣ рдЬрд┐рдкреНрд╕реА рдЧрд╛рдбрд╝реА рдХреА рддрд░рд╣ рдирд┐рдХрд▓рд╛):



рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП


рд╕реВрддреНрд░реЛрдВ рдХрд╛ рдХрд╣рдирд╛ рд╣реИ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдпрд╣рд╛рдБ ред рдкреАрд╕реА рд▓рд┐рдирдХреНрд╕ рдкрд░ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдмрд╕ рд╕рдВрдХрд▓рди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рдмрд╢рд░реНрддреЗ рдХрд┐ рдЖрдк UVC рдЪрд╛рд▓рдХ рдХреЛ рдкреИрдЪ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ)ред рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдорд╛рдирдХ рддрд░реАрдХреЗ рд╕реЗ CMake рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рдИ рдЧрдИ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЛ рдЗрд╕реЗ OpenWRT рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рдХрджрдо рдЙрдард╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

  1. OpenWrt-15.05 рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ OpenWRT рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреА рдЬрдбрд╝ рдореЗрдВ рдХреЙрдкреА рдХрд░реЗрдВред рдпреЗ рдлрд╛рдЗрд▓реЗрдВ рдХреЗрд╡рд▓ OpenWRT 15.05 рдХреЗ рд▓рд┐рдП рд╣реИрдВред рд╡реЗ OpenWRT рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдкреИрдХреЗрдЬ рдФрд░ UVC рдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреИрдЪ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВред
  2. , quirk UVC_QUIRK_COMPRESSION_RATE uvc_driver.c. UVC. , wiki.openwrt.org/doc/devel/patches. uvc_ids. :

    /* Logitech B910 HD Webcam */
    	{ .match_flags		= USB_DEVICE_ID_MATCH_DEVICE
    				| USB_DEVICE_ID_MATCH_INT_INFO,
    	  .idVendor		= 0x046d,
    	  .idProduct		= 0x0823,
    	  .bInterfaceClass	= USB_CLASS_VIDEO,
    	  .bInterfaceSubClass	= 1,
    	  .bInterfaceProtocol	= 0,
    	  .driver_info		= UVC_QUIRK_RESTORE_CTRLS_ON_INIT
    				| UVC_QUIRK_COMPRESSION_RATE }, // Enable buffer correction for compressed modes
    

  3. OpenWRT (http://wiki.openwrt.org/doc/howto/build). uvc2http Multimedia.
  4. uvc2http ( ) . , .
  5. рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ / рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ

рдЖрдЧреЗ рдХреНрдпрд╛ рд╣реЛрдЧрд╛


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

рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╕реАрдкреАрдпреВ рд▓реЛрдбрд┐рдВрдЧ рдФрд░ рдЪреИрдирд▓ рдЪреМрдбрд╝рд╛рдИ рдкрд░ рдПрдХ рдорд╛рд░реНрдЬрд┐рди рд╣реИ (рдореИрдВ рдЖрд╕рд╛рдиреА рд╕реЗ 50+ рдПрдордмреАрдЯ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рд╣реБрдЖ рдерд╛ рдЬреЛ рджрд╕ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдЬреЛрдбрд╝рддрд╛ рд╣реИ)ред рдЖрдк рд╕рд╛рдЙрдВрдб рд╕рдкреЛрд░реНрдЯ рднреА рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред

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


All Articles