рдкрд╛рдпрдерди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╛рдЬрдХреЛрд╖реАрдп рдкреНрд░рд┐рдВрдЯрд░ рдкрд░ рдкреНрд░рд┐рдВрдЯ рдЯреЗрдкреЗрд╕реНрдЯреНрд░реА рдЧреЗрдо рдСрдл рдереНрд░реЛрдиреНрд╕

рдПрдХ рдмрд╛рд░, рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ, рдПрдХ рд░рд╛рдЬрдХреЛрд╖реАрдп рдкреНрд░рд┐рдВрдЯрд░ рдореЗрд░реЗ рд╣рд╛рдереЛрдВ рдореЗрдВ рдЧрд┐рд░ рдЧрдпрд╛ред рд╣рд░ рджрд┐рди рд╣рдо рдЗрди рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рддреЗ рд╣реИрдВ рдЬрдм рд╣рдо рджреБрдХрд╛рдиреЛрдВ рдореЗрдВ рднреБрдЧрддрд╛рди рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреБрдЫ рд▓реЛрдЧреЛрдВ рдХреЛ рдПрд╣рд╕рд╛рд╕ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рд╣реИрдВред рдореИрдВ рдЙрдирдХреЗ рдХрд╛рдо рдХреЗ рд╡рд┐рд╡рд░рдг рдореЗрдВ рдирд╣реАрдВ рдЧрдпрд╛, рдореИрдВ рд╕рд┐рд░реНрдл рдЗрддрдирд╛ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдпреЗ рдРрд╕реА рдЪреАрдЬреЗрдВ рд╣реИрдВ рдЬреЛ рд╡рд┐рд╢реЗрд╖ рдерд░реНрдорд▓ рдкреЗрдкрд░ рдкрд░ рдЦрд░реАрдж рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рд░рд╕реАрджреЗрдВ рдкреНрд░рд┐рдВрдЯ рдХрд░рддреА рд╣реИрдВ (рд╣рд╛рдВ, рд▓рдЧрднрдЧ рд╕рднреА рд╡рд┐рддреНрддреАрдп рдкреНрд░рд┐рдВрдЯрд░реЛрдВ рдореЗрдВ рдХреЛрдИ рд╕реНрдпрд╛рд╣реА рдирд╣реАрдВ рд╣реИ!)ред

рдореБрдЭреЗ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдерд╛ рдХрд┐ рд░рд╛рдЬрдХреЛрд╖реАрдп рдкреНрд░рд┐рдВрдЯрд░ рдФрд░ рдЗрд╕рдХреА рдЖрдВрддрд░рд┐рдХ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рдХрд╛рдордХрд╛рдЬ рдХреА рд╕реНрдерд┐рддрд┐ рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред рдХрд╛рд░реНрдп рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдкреВрд░рд╛ рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рд░рд╛рдЬрдХреЛрд╖реАрдп рдкреНрд░рд┐рдВрдЯрд░ рдХреЛ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рджреВрд░ рдХреЛрдиреЗ рдореЗрдВ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ ... рдЬрдм рддрдХ рдореБрдЭреЗ рдереЛрдбрд╝рд╛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдорд┐рд▓рд╛: рдбреА

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

рдЖрдЙрдЯрдкреБрдЯ рдПрдХ рдРрд╕рд╛ рд╡реАрдбрд┐рдпреЛ рдерд╛:


рдиреАрдЪреЗ рдмрд┐рд▓реНрд▓реА рдХреЗ рдиреАрдЪреЗ рдЕрдЬрдЧрд░ рдореЗрдВ рдПрдХ рдЯреЗрдкреЗрд╕реНрдЯреНрд░реА рдЫрдкрд╛рдИ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╕реНрддреГрдд рдХрджрдоред

рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рд╡рд┐рд╕реНрддреГрдд рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛, рдпрд╣ рдорд╛рдирддреЗ рд╣реБрдП рдХрд┐ рдЖрдЙрдЯрдкреБрдЯ рдХрдИ рдЙрдкрдпреЛрдЧреА рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдХреМрд╢рд▓ рдХреЗ рд╕рд╛рде рдПрдХ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рд▓реЗрдЦ рд╣реЛрдЧрд╛:

  • рдпреВрдЯреНрдпреВрдм рд╕реЗ рдЯреЗрдкреЗрд╕реНрдЯреНрд░реА рд╡реАрдбрд┐рдпреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ
  • рдПрдХ рд░рд╛рдЬрдХреЛрд╖реАрдп рдкреНрд░рд┐рдВрдЯрд░ рдкрд░ рдореБрджреНрд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рдВрдмреА рдореЛрдиреЛрдХреНрд░реЛрдо рдЯреЗрдкреЗрд╕реНрдЯреНрд░реА рдЫрд╡рд┐ рдмрдирд╛рдПрдВ
  • рд░рд╛рдЬрдХреЛрд╖реАрдп рдкреНрд░рд┐рдВрдЯрд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ
  • рд░рд╛рдЬрдХреЛрд╖реАрдп рдкреНрд░рд┐рдВрдЯрд░ рдкрд░ рдЯреЗрдкреЗрд╕реНрдЯреНрд░реА рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВ
  • рд╣рдо рд╕рд╛рдорд╛рдЬрд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рдкреНрд░рдХрд╛рд╢рди рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдгрд╛рдореА рд╡реАрдбрд┐рдпреЛ рдХреНрд▓рд┐рдк рдХреЛ рдорд╛рдЙрдВрдЯ рдХрд░рддреЗ рд╣реИрдВ

рдпреВрдЯреНрдпреВрдм рд╕реЗ рдЯреЗрдкреЗрд╕реНрдЯреНрд░реА рд╡реАрдбрд┐рдпреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ


рдпрд╣ рдмрд╣реБрдд рд╣реА рдмрд╕ рдкрд╛рдЗрдЯреНрдпреВрдм рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЖрдкрдХреЛ рдмрд╕ рдЙрд╕ рд╡реАрдбрд┐рдпреЛ рд╕реНрдЯреНрд░реАрдо рдХреЗ рд╕реВрдЪрдХрд╛рдВрдХ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред

YouTube рд╕реЗ рд╡реАрдбрд┐рдпреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп:
import time, pytube #         def load_bmp_from_video(video_url, filename): t1 = time.clock() #     video = pytube.YouTube(video_url) #        streams = video.streams.all() for stream in streams: print(stream) #       ,  18: 360p mp4 video.streams.get_by_itag(18).download("./", filename = filename ) t2 = time.clock() #      print('download done', t2-t1) #       got.mp4   360x640 load_bmp_from_video(video_url = 'https://www.youtube.com/watch?v=aZV4PclhHeA&', filename = 'got') 

рдЬрдм for stream in streams: print(stream) рд▓рд╛рдЗрди рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддреА рд╣реИ, рддреЛ рд╣рдо рдХрдВрд╕реЛрд▓ рдореЗрдВ рд╡реАрдбрд┐рдпреЛ рдореЗрдВ рдирд┐рд╣рд┐рдд рд╕рднреА рд╡реАрдбрд┐рдпреЛ рд╕реНрдЯреНрд░реАрдо рдХреА рдПрдХ рд╕реВрдЪреА рджреЗрдЦрддреЗ рд╣реИрдВ:

 <рд╕реНрдЯреНрд░реАрдо: itag = "22" mime_type = "рд╡реАрдбрд┐рдпреЛ / mp4" Res = "720p" fps = "30fps" vcodec = "avc1.64001F" acodec = "mp4a.40.2">
 <рд╕реНрдЯреНрд░реАрдо: itag = "43" mime_type = "рд╡реАрдбрд┐рдпреЛ / рд╡реЗрдмрдо" Res = "360p" fps = "30fps" vcodec = "vp8.0" acodec = "vorbis">
 <рд╕реНрдЯреНрд░реАрдо: itag = "18" mime_type = "рд╡реАрдбрд┐рдпреЛ / mp4" Res = "360p" fps = "30fps" vcodec = "avc1.42001E" acodec = "mp4a.40.2">
 <рд╕реНрдЯреНрд░реАрдо: itag = "137" mime_type = "рд╡реАрдбрд┐рдпреЛ / mp4" Res = "1080p" fps = "30fps" vcodec = "avc1.640028">
 <рд╕реНрдЯреНрд░реАрдо: itag = "248" mime_type = "рд╡реАрдбрд┐рдпреЛ / рд╡реЗрдмрдо" Res = "1080p" fps = "30fps" vcodec = "vp9">
 <рд╕реНрдЯреНрд░реАрдо: itag = "136" mime_type = "рд╡реАрдбрд┐рдпреЛ / mp4" Res = "720p" fps = "30fps" vcodec = "avc1.4d401f">
 <рд╕реНрдЯреНрд░реАрдо: itag = "247" mime_type = "рд╡реАрдбрд┐рдпреЛ / рд╡реЗрдмрдо" Res = "720p" fps = "30fps" vcodec = "vp9">
 <рд╕реНрдЯреНрд░реАрдо: itag = "135" mime_type = "рд╡реАрдбрд┐рдпреЛ / mp4" Res = "480p" рдПрдлрдкреАрдПрд╕ = "30fps" vcodec = "avc1.4d401e">
 <рд╕реНрдЯреНрд░реАрдо: itag = "244" mime_type = "рд╡реАрдбрд┐рдпреЛ / рд╡реЗрдмрдо" Res = "480p" fps = "30fps" vcodec = "vp9">
 <рд╕реНрдЯреНрд░реАрдо: itag = "134" mime_type = "рд╡реАрдбрд┐рдпреЛ / mp4" Res = "360p" fps = "30fps" vcodec = "avc1.4d401e">
 <рд╕реНрдЯреНрд░реАрдо: itag = "243" mime_type = "рд╡реАрдбрд┐рдпреЛ / рд╡реЗрдмрдо" Res = "360p" fps = "30fps" vcodec = "vp9">
 <рд╕реНрдЯреНрд░реАрдо: itag = "133" mime_type = "рд╡реАрдбрд┐рдпреЛ / mp4" Res = "240p" fps = "30fps" vcodec = "avc1.4d4015">
 <рд╕реНрдЯреНрд░реАрдо: itag = "242" mime_type = "рд╡реАрдбрд┐рдпреЛ / рд╡реЗрдмрдо" Res = "240p" fps = "30fps" vcodec = "vp9">
 <рд╕реНрдЯреНрд░реАрдо: itag = "160" mime_type = "рд╡реАрдбрд┐рдпреЛ / mp4" Res = "144p" fps = "30fps" vcodec = "avc1.4d400c">
 <рд╕реНрдЯреНрд░реАрдо: itag = "278" mime_type = "рд╡реАрдбрд┐рдпреЛ / рд╡реЗрдмрдо" Res = "144p" fps = "30fps" vcodec = "vp9">
 <рд╕реНрдЯреНрд░реАрдо: itag = "140" mime_type = "рдСрдбрд┐рдпреЛ / mp4" abr = "128kbps" acodec = "mp4a.40.2">
 <рд╕реНрдЯреНрд░реАрдо: itag = "249" mime_type = "рдСрдбрд┐рдпреЛ / рд╡реЗрдмрдо" abr = "50kbps" acodec = "opus">
 <рд╕реНрдЯреНрд░реАрдо: itag = "250" mime_type = "рдСрдбрд┐рдпреЛ / рд╡реЗрдмрдо" abr = "70kbps" acodec = "opus">
 <рд╕реНрдЯреНрд░реАрдо: itag = "251" mime_type = "рдСрдбрд┐рдпреЛ / рд╡реЗрдмрдо" abr = "160kbps" acodec = "opus">

рдореИрдВрдиреЗ рдереНрд░реЗрдб рдХреЛ рдЖрдИрдбреА 18 рдХреЗ рд╕рд╛рде рдЪреБрдирд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ рдЫреЛрдЯрд╛ рд╕рдВрдХрд▓реНрдк рд╣реИ - рд╣рдо рдЕрднреА рднреА рдЗрд╕реЗ рдПрдХ рдЪреЗрдХ рдЯреЗрдк рдкрд░ рдкреНрд░рд┐рдВрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рддреЗрдЬреА рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ))

рдПрдХ рд░рд╛рдЬрдХреЛрд╖реАрдп рдкреНрд░рд┐рдВрдЯрд░ рдкрд░ рдореБрджреНрд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рдВрдмреА рдореЛрдиреЛрдХреНрд░реЛрдо рдЯреЗрдкреЗрд╕реНрдЯреНрд░реА рдЫрд╡рд┐ рдмрдирд╛рдПрдВ


рд╡реАрдбрд┐рдпреЛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЬреНрдЮрд╛рдд рдУрдкрдирд╕реАрд╡реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдФрд░ рдкрд┐рд▓реЛ (рдкреАрдЖрдИрдПрд▓ рдХрд╛ рдПрдХ рдЖрдзреБрдирд┐рдХ рдХрд╛рдВрдЯрд╛) рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣рд╛рдВ рдУрдкрдирд╕реАрд╡реА рдХреЗ рдмрдЬрд╛рдп рдПрд╕реНрдХреЙрди рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рд▓рд┐рдмрд╛рд╡ рдЯреВрд▓ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕ рд▓реЗрдЦ рдХреЗ рдЕрдВрддрд┐рдо рдЦрдВрдб рдореЗрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдЕрдзрд┐рдХ)ред рдЕрдЬрдЧрд░ рдпрд╛ рдЕрдЬрдЧрд░- opencv рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд▓реЗрдЦрдХ рдХрд╛ рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж, рдЬреЛ рдХрд┐ рдПрдХ рдЕрдЬрдЧрд░ рдкрд╣рд┐рдпрд╛ рд╣реИ, рдЬрд┐рд╕реЗ PIP рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЦреБрдж рдХреЛ OpenCV рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ ( рд╣реБрд░реНрд░реЗ! )ред

рдПрдХ рд░рд╛рдЬрдХреЛрд╖реАрдп рдкреНрд░рд┐рдВрдЯрд░ рдХреЗрд╡рд▓ рд╡рд┐рд╢реЗрд╖ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдкреНрд░рд┐рдВрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИ - 528 рдкрд┐рдХреНрд╕рд▓ (рд▓реЗрдХрд┐рди рдЕрд╕реАрдорд┐рдд рд▓рдВрдмрд╛рдИ, рд╣реЛ-рд╣реЛ-рд╣реЛ) рдХреА рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЪреМрдбрд╝рд╛рдИ рдХреА рдореЛрдиреЛрдХреНрд░реЛрдо рдмреАрдПрдордкреА рдлрд╛рдЗрд▓реЗрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡реАрдбрд┐рдпреЛ рдХреНрд▓рд┐рдк рдореЗрдВ рдЯреЗрдкреЗрд╕реНрдЯреНрд░реА рдХреА рдЫрд╡рд┐ рд▓рдЧрд╛рддрд╛рд░ рдмрдврд╝ рд░рд╣реА рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдлреНрд░реЗрдо рдХреЛ рд╕рд╛рд╡рдзрд╛рдиреАрдкреВрд░реНрд╡рдХ рдХрд╛рдЯрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рддрд╛рдХрд┐ рд╣рдореЗрдВ рдПрдХ рд▓рдВрдмреА рддрд╕реНрд╡реАрд░ рдорд┐рд▓ рд╕рдХреЗред

рдпрд╣ рд╕рдм рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░реНрдп рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
 import os, cv2, numpy as np from PIL import Image #            def save_frames_from_vide(filename): #          real_filename = filename.rsplit('.', 1)[0] #         for file in os.listdir('./'): if file.startswith('frame'): os.remove('./' + file) #         frames_list = [] vidcap = cv2.VideoCapture(filename) try: success, frame = vidcap.read() count = 1 while success: # and count < 500: #    #     1  100,     if count in [1, 100, 30945, 31000] or count % 370 == 0: #      (  ) mono_frame = frame if count == 370: mono_frame = mono_frame[0:mono_frame.shape[0], 172:mono_frame.shape[1]] if count == 30710: mono_frame = mono_frame[0:mono_frame.shape[0], 0:mono_frame.shape[1] - 200] mono_frame = mono_frame[20:-20, :] frames_list.append(mono_frame) print('read a new frame: ', success, count) success, frame = vidcap.read() count += 1 finally: vidcap.release() #     gobelin = np.concatenate((frames_list), axis = 1) #   -    cv2.imwrite('%s.png' % real_filename, gobelin) #        image = Image.open('%s.png' % real_filename) #  1        bmp fn = lambda x : 255 if x > 135 else 0 image = image.convert('L').point(fn, mode = '1') #       528  coef = 528. / image.height new_w = int(image.width * coef) new_h = int(image.height * coef) image = image.resize((new_w, new_h)) #    270         image = image.transpose(Image.ROTATE_270) image.save('%s_for_print.bmp' % real_filename) #       'got.png'  'got_for_print.bmp' save_frames_from_vide('got.mp4') 


рдЖрдЙрдЯрдкреБрдЯ рдкрд░, рд╣рдореЗрдВ рдкреВрд░реА рдЯреЗрдкреЗрд╕реНрдЯреНрд░реА рдХреА рдЫрд╡рд┐ рдХреЗ рд╕рд╛рде рдПрдХ рд▓рдВрдмреА рддрд╕реНрд╡реАрд░ рдорд┐рд▓рддреА рд╣реИ, рдХреЗрд╡рд▓ рдПрдХ рдЯреБрдХрдбрд╝рд╛ рдиреАрдЪреЗ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдореВрд▓ рддрд╕реНрд╡реАрд░ рдХреА рдЪреМрдбрд╝рд╛рдИ 55,000 рдкрд┐рдХреНрд╕реЗрд▓ рд╣реИ рдФрд░ рдкреНрд░рдХрд╛рд╢рди рдирд┐рдпрдореЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдкрд╛рд╕ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ:



рд▓реЗрдХрд┐рди рдРрд╕реА рдЫрд╡рд┐ рдореЛрдиреЛрдХреНрд░реЛрдо рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдмрд╛рдж рдкреНрд░рд╛рдкреНрдд рдХреА рдЬрд╛рддреА рд╣реИ, рдХреЗрд╡рд▓ рд░реЛрдЯреЗрд╢рди рдХреЗ рдмрд┐рдирд╛:



рд╣рдо рд░рд╛рдЬрдХреЛрд╖реАрдп рдкреНрд░рд┐рдВрдЯрд░ рдкрд░ рдПрдХ рдЯреЗрдкреЗрд╕реНрдЯреНрд░реА рдкреНрд░рд┐рдВрдЯ рдХрд░рддреЗ рд╣реИрдВ


рдореЗрд░реЗ рдкрд╛рд╕ рдЕрдкрдиреЗ рдирд┐рдкрдЯрд╛рди рдореЗрдВ рдПрдЯреЛрд▓ рдлрд╝рдкреНрд░рд┐рдВрдЯ -22 рдореЙрдбрд▓ рдХрд╛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд░рд╛рдЬрдХреЛрд╖реАрдп рдкреНрд░рд┐рдВрдЯрд░ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд╛рдорд╛рдиреНрдп рдирд┐рдпрдо рдЕрдиреНрдп рд╡рд┐рддреНрддреАрдп рдкреНрд░рд┐рдВрдЯрд░ рдореЙрдбрд▓ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореЗрд░реА рд░рд╛рдЬрдХреЛрд╖реАрдп рдкреБрд╕реНрддрдХ рдХрд╛рдлреА рдкреНрд░рд╛рдЪреАрди рд╣реИ рдФрд░ рдЕрднреА рддрдХ FZ-54 рдХреА рдирдИ рдЙрд▓рдЭреА рд╣реБрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреА рд╣реИ (рдореБрдЭреЗ рдпрд╛рдж рд╣реИ рдХрд┐ рдЗрд╕ рдХрд╛рдиреВрди рдХреЗ рд▓рд╛рдЧреВ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рд╕рднреА рд░рд╛рдЬрдХреЛрд╖реАрдп рдЕрдзрд┐рдХрд╛рд░реА OFD рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд░ рдХрд╛рд░реНрдпрд╛рд▓рдп рдХреЛ рдбреЗрдЯрд╛ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдп рдереЗ, рдЬреЛ рджрд░реНрдж рдФрд░ рдкреАрдбрд╝рд╛ - рдкреНрд░рддреНрдпреЗрдХ рдбрд┐рд╡рд╛рдЗрд╕ рдХрд╛ рдПрдХ рдЪрдордХрддрд╛ рд╣реБрдЖ)ред

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

рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдпрд╣ рдПрдХ рдЕрд▓рдЧ рд╡рд┐рд╖рдп рд╣реИ рдФрд░ рдкреАрдУрдПрд╕ рдЙрдкрдХрд░рдгреЛрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮреЛрдВ рдХрд╛ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рдВрдХреАрд░реНрдг рдЪрдХреНрд░ рд╣реИред рд╕реНрдерд┐рддрд┐ рдЗрд╕ рддрдереНрдп рд╕реЗ рдЬрдЯрд┐рд▓ рд╣реИ рдХрд┐ рдЗрдирдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдбрд┐рд╡рд╛рдЗрд╕ COM рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рддрд╣рдд рдСрдкрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдП рдЧрдП рд╣реИрдВ - рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рдмрд╣реБрдд рдЦрд░рд╛рдм рджрд╕реНрддрд╛рд╡реЗрдЬреА рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде рдбреАрдПрд▓ рдлрд╛рдЗрд▓реЗрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐ рдореИрдВрдиреЗ FreeBSD рдХреЗ рддрд╣рдд рдЪрд▓рдиреЗ рд╡рд╛рд▓реА рдирдХрджреА рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реБрдирд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдРрд╕рд╛ рдХреБрдЫ рднреА рдирд╣реАрдВ рджреЗрдЦрд╛ рд╣реИ рдХрд┐ POS рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп, рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдореБрдЭреЗ рдЦреБрджрд░рд╛ POS рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреА рджреБрдирд┐рдпрд╛ рдореЗрдВ рдПрдХ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╕рд░реНрдЬрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ ...

рдЗрд╕рд▓рд┐рдП, рдЗрди рдЙрдкрдХрд░рдгреЛрдВ рдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:

  • рдбреНрд░рд╛рдЗрд╡рд░ рдирд┐рд░реНрдорд╛рддрд╛ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
  • рдирд┐рд░реНрдорд╛рддрд╛ рдХреА рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбрд┐рд╡рд╛рдЗрд╕ рдХрд╛ рдХрдиреЗрдХреНрд╢рди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
  • рд╡рд╛рдВрдЫрд┐рдд рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд╕рд╛рде рд╡рд╛рдВрдЫрд┐рдд рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдХреБрдВрдЬреА рдХреА рддрд▓рд╛рд╢ рд╣реИ
  • рдЗрд╕рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреА рддрд▓рд╛рд╢ рд╣реИ
    (RS-232 рд╕реАрд░рд┐рдпрд▓ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдЗрдВрдЯрд░рдлреЗрд╕ рдкрд░ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдХрд╛рдо)
  • рдирд┐рд░реНрдорд╛рддрд╛ рдХреЗ рдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ COM рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбрд┐рд╡рд╛рдЗрд╕ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ
  • API COM рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛
  • COM рдСрдмреНрдЬреЗрдХреНрдЯ рдФрд░ рдбрд┐рд╡рд╛рдЗрд╕ рднреМрддрд┐рдХ рдкреЛрд░реНрдЯ рдЬрд╛рд░реА рдХрд┐рдП рдЧрдП рд╣реИрдВ
    ( рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдВрджреБ )

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

рдирд┐рдореНрди рдХреЛрдб рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдЬреЛ рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рд╡рд┐рддреНрддреАрдп рдкреНрд░рд┐рдВрдЯрд░ рд╕реЗ рдЬреБрдбрд╝рддрд╛ рд╣реИ, рдПрдХ рдмреАрдк рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдкрд╣рд▓реЗ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдореЛрдиреЛрдХреНрд░реЛрдо рдЯреЗрдкреЗрд╕реНрдЯреНрд░реА рдЫрд╡рд┐ рдХреЛ рдкреНрд░рд┐рдВрдЯ рдХрд░рддрд╛ рд╣реИред рд╣рдореЗрдВ pywin32 рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

рдХреЛрдб рдХрд╛рдлреА рд▓рдВрдмрд╛ рдФрд░ рдЙрдмрд╛рдК рдирд┐рдХрд▓рд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЗрд╕реЗ рд╕реНрдкреЙрдЗрд▓рд░ рдХреЗ рдиреАрдЪреЗ рд░рдЦрд╛:
 import win32com.client from _winreg import HKEY_CURRENT_USER, OpenKey, EnumValue #         class FiscallError(Exception) #     COM  , #  COM     def fiscal_print(filename): driver = None try: #      #         8.16. try: hKey = OpenKey(HKEY_CURRENT_USER, r"Software\Atol\Drivers\8.0\KKM\Devices") except Exception as err: raise FiscallError('      ' + '  ' + '   FPrint22-') #       , #       com  try: device_name,device_connect_params,device_connect_dt=EnumValue(hKey,0) except Exception as err: raise FiscallError('     ' + '     ' + '  FPrint22-') #       try: connect_dir = dict([tup.split(u'=') for tup in device_connect_params]) except Exception as err: raise FiscallError('     ' + '    FPrint22-') #    COM  try: driver = win32com.client.Dispatch("AddIn.FPrnM8") except Exception as err: raise FiscallError(' COM  AddIn.FPrnM8   ' + ' FPrint22-    , ' + '    ') #         add_code = driver.AddDevice() if driver.ResultCode != 0: raise FiscallError('     FPrint22-' + ' [ %s] - %s'% (driver.ResultCode, driver.ResultDescription)) #       COM  driver.Model = connect_dir['Model'] driver.PortNumber = connect_dir['PortNumber'] driver.UseAccessPassword = connect_dir['UseAccessPassword'] driver.DefaultPassword = connect_dir['UseAccessPassword'] driver.PortNumber = connect_dir['PortNumber'] driver.BaudRate = connect_dir['BaudRate'] #         #       COM  driver.DeviceEnabled = 1 #         GetStatus, #       . 61    v8.0 res = driver.GetStatus() if driver.ResultCode != 0: raise FiscallError('     FPrint22- ' + '[ %s] - %s' % (driver.ResultCode, driver.ResultDescription)) ###   #  ,       #   ,       driver.Beep() #  ,      (528) print('driver.PixelLineLength:', driver.PixelLineLength) # !!!       # (    COM ) driver.Alignment = 0 driver.LeftMargin = 0 driver.PrintPurpose = 1 driver.AutoSize = False driver.Scale = 100 #      driver.FileName = filename #    bmp  driver.PrintBitmapFromFile #        10  for i in range(10): driver.PrintString() #      driver.FullCut() # ! except FiscallError as err: raise err except Exception as err: raise FiscallError('    ' + '   FPrint22- - %s' % str(err)) finally: if driver: driver.DeviceEnabled = 0 fiscal_print('got_for_print.bmp') 


рдЖрдЙрдЯрдкреБрдЯ рдПрдХ рдРрд╕реА рдкрд╛рдВрдбреБрд▓рд┐рдкрд┐ рдереА, "рдП рд╕реЙрдиреНрдЧ рдСрдл рдЖрдЗрд╕ рдПрдВрдб рдлрд╛рдпрд░" рдкрд░ рдПрдХ рдкреНрд░рджрд░реНрд╢рди:



рдЕрдВрдд рдореЗрдВ рдкреНрд░рд┐рдВрдЯрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЧрдбрд╝рд╛ рд╣реБрдЖ, рдзреАрд░реЗ рдФрд░ рдордВрдж рд░реВрдк рд╕реЗ рдореБрджреНрд░рд┐рдд, рдФрд░ рдлрд┐рд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХреЗрд╡рд▓ рдЕрдВрддрд┐рдо рджреГрд╢реНрдп рдХреЛ рдкреНрд░рд┐рдВрдЯ рдХрд░рдирд╛ - рдХрд┐рд╕реА рднреА рд░рд╛рдЬрдХреЛрд╖реАрдп рдкреНрд░рд┐рдВрдЯрд░ рдиреЗ рдХрднреА рдРрд╕рд╛ рд▓реЛрдб рдирд╣реАрдВ рджреЗрдЦрд╛ рд╣реИ: рдбреА

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

рд╣рдо рд╕рд╛рдорд╛рдЬрд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рдкреНрд░рдХрд╛рд╢рди рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдгрд╛рдореА рд╡реАрдбрд┐рдпреЛ рдХреНрд▓рд┐рдк рдХреЛ рдорд╛рдЙрдВрдЯ рдХрд░рддреЗ рд╣реИрдВ


рдЗрди рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдПрдХ рдмрд╣реБрдд рд╣реА рдЙрдкрдпреЛрдЧреА рдФрд░ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдХрдВрд╕реЛрд▓ рдЯреВрд▓ рд╣реИ рдЬреЛ рдкреВрд░реЗ рд╡реАрдбрд┐рдпреЛ рдПрдбрд┐рдЯрд░ - рд▓рд┐рдмрд╛рд╡ рдХреЛ рдмрджрд▓ рджреЗрддрд╛ рд╣реИ ред рдЗрд╕рдореЗрдВ рд╡реАрдбрд┐рдпреЛ рдФрд░ рдСрдбрд┐рдпреЛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП avconf рдФрд░ ffmpeg рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ, рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ рдЙрдкрдХрд░рдг рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЦреЛрдЬ рдереА, рдореИрдВ рдЗрд╕реЗ рд╕рднреА рдХреЗ рд▓рд┐рдП рд╕реБрдЭрд╛рддрд╛ рд╣реВрдВ!

рд╕реНрдерд╛рдкрдирд╛ рдХрд╛ рдореВрд▓ рд╡рд┐рдЪрд╛рд░:

  • рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдкрд░ рд╡реАрдбрд┐рдпреЛ рд╢реЙрдЯ рд╕реЗ рдХрдЯ рдФрд░ рдЕрдВрдд рдореЗрдВ рд╣рд┐рд╕реНрд╕рд╛
    (3 рдирд╛рдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП 8bit рд╕рдВрдЧреАрдд рдХреЗ рд╕рд╛рде рдПрдордкреА 3 рдлрд╝рд╛рдЗрд▓ рдлрд┐рдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП)
  • рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ 3 рдСрдбрд┐рдпреЛ рдлрд╝рд╛рдЗрд▓ рд╣рд╛рдирд┐рдпрд╛рдБ рд▓рд┐рдЦреЗрдВ
  • рдУрд╡рд░рд▓реЗ рд╡реАрдбрд┐рдпреЛ рдлрд╝рд╛рдЗрд▓ рдФрд░ рдСрдбрд┐рдпреЛ рдлрд╝рд╛рдЗрд▓ рдПрдХ рдирдИ рд╡реАрдбрд┐рдпреЛ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ
  • рд╡реАрдбрд┐рдпреЛ рдлрд╝рд╛рдЗрд▓ рдХреЛ mov рдкреНрд░рд╛рд░реВрдк рд╕реЗ mp4 рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░реЗрдВ
    (рдореЗрд░рд╛ рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рдПрдХреНрд╕рдЯреЗрдВрд╢рди mov рдХреЗ рд╕рд╛рде рд╡реАрдбрд┐рдпреЛ рд╢реВрдЯ рдХрд░рддрд╛ рд╣реИ)

рдЗрди рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкрд░ рдЪрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦреА рдереА, рдЬрд┐рд╕реЗ рд▓рд┐рдирдХреНрд╕ рдореЗрдВ рдмреИрд╢ рдФрд░ рдЬреАрдд рдореЗрдВ рдмрд▓реНрд▓реЗ рджреЛрдиреЛрдВ рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдЕрдВрддрд░ рдЗрдВрдЧрд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ):
 #     avconv -ss 00:00:10 -i got_print.mov -t 00:06:00 -c:v copy got_print_tmp.mov #      ( win) (echo file 'got_8bit.mp3' & echo file 'got_8bit.mp3' & echo file 'got_8bit.mp3') > list.txt #      ( linux) # cat list.txt # file 'got_8bit.mp3' # file 'got_8bit.mp3' # file 'got_8bit.mp3' #     3  ffmpeg -f concat -i list.txt -acodec copy got_8bit_3.mp3 #         avconv -i got_print_tmp.mov -i got_8bit_3.mp3 -c copy got_print_final.mov #       mp4 avconv -i got_print_final.mov -c:v libx264 got_print_final.mp4 #    (windows) del got_8bit_3.mp3 del got_print_tmp.mov #    (linux) # rm got_8bit_3.mp3 # rm got_print_tmp.mov 


рдпрд╣ рд╕рдм рд╣реИ, рд╡реАрдбрд┐рдпреЛ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:


рдкреБрдирд╢реНрдЪ: рд╣реЛрдмреЗ рдкрд░ рдореЗрд░рд╛ рдкрд╣рд▓рд╛ рд▓реЗрдЦ, рдПрдХ рд╢реБрд░реБрдЖрдд рдХреЗ рд▓рд┐рдП рдПрдХ рдЫреЛрдЯрд╛ рд▓реЗрдЦ рд▓рд┐рдЦрдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рдИ, рдЬрд┐рддрдирд╛ рдореИрдВ рдХрд╛рдЯ рд╕рдХрддрд╛ рдерд╛) рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдкрдврд╝рдирд╛ рд╕реБрдЦрдж рдерд╛, рдФрд░ рдореЗрд░реЗ рдХрд╛рдо рдХрд╛ рдкрд░рд┐рдгрд╛рдо - рджрд┐рд▓рдЪрд╕реНрдк)

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


All Articles