рд╡реАрдбрд┐рдпреЛ рд╕реЗ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдореЙрдбреНрдпреВрд▓ - nginx-video-thumbextractor-рдореЙрдбреНрдпреВрд▓

ImageMagick рдФрд░ ffmpeg рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ NGINX рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡реАрдбрд┐рдпреЛ рд╕реЗ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ


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

рдирд┐рд░реНрднрд░рддрд╛:




рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ / рд╕рдВрдХрд▓рди рдХрд░рддреЗ рд╕рдордп рдПрдХ рдореЙрдбреНрдпреВрд▓ рдЬреЛрдбрд╝реЗрдВ ::


./configure --add-module=../nginx-video-thumbextractor-module --with-cc-opt='-I /usr/include/ImageMagick' 


рд╕рд┐рдлрд╛рд░рд┐рд╢:


рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, ImageMagick рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рд╕реНрдЯреНрд░реАрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП OpenMP рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
рд▓реЗрдЦрдХ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде ImageMagick рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ / рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХрд░рддрд╛ рд╣реИ "-Disable-openmp", рдХреНрдпреЛрдВрдХрд┐ рд╡рд░реНрдХрдлрд╝реНрд▓реЛрдЬрд╝ рдХреЗ рдЕрдВрджрд░ рд╕реНрдЯреНрд░реАрдо рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рд╣реИред

рд╡рд┐рдиреНрдпрд╛рд╕:


 location ~ /thumbs(.*) { video_thumbextractor; video_thumbextractor_video_filename $1; video_thumbextractor_video_second $arg_second; video_thumbextractor_image_width $arg_width; video_thumbextractor_image_height $arg_height; } 


рдЙрдкрд░реЛрдХреНрдд рд╡рд┐рдиреНрдпрд╛рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдЙрджрд╛рд╣рд░рдг:


# рд╣рдореЗрдВ рдореВрд▓ рдЖрдХрд╛рд░ рдХреЗ 10 рд╡реЗрдВ рд╕реЗрдХрдВрдб рд╕реЗ рдПрдХ рддрд╕реНрд╡реАрд░ рдорд┐рд▓рддреА рд╣реИред
рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ / рдердореНрд╕ / рд╡реАрдбрд┐рдпреЛ .mp4? рджреВрд╕рд░рд╛ = 10

# рд╣рдореЗрдВ 20 рд╡реЗрдВ рд╕реЗрдХрдВрдб рдФрд░ 50px рдХреА рдКрдБрдЪрд╛рдИ рд╕реЗ рдПрдХ рдЪрд┐рддреНрд░ рдорд┐рд▓рддрд╛ рд╣реИ рдФрд░ рд╡реАрдбрд┐рдпреЛ рдХреЗ рдЕрдиреБрдкрд╛рдд рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП рдПрдХ рд▓рдВрдмрд╛рдИ рдорд┐рд▓рддреА рд╣реИред
рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ / рдердореНрд╕ / рд╡реАрдбрд┐рдпреЛ.рдПрдордкреА рек? рджреВрд╕рд░рд╛ = резреж рдФрд░ рдКрдВрдЪрд╛рдИ = релреж

# рд╣рдореЗрдВ 30 рд╡реЗрдВ рд╕реЗрдХрдВрдб рд╕реЗ 50px рдХреА рдКрдБрдЪрд╛рдИ рдФрд░ рдПрдХ рдЭрд┐рд▓рдорд┐рд▓рд╛рд╣рдЯ 100px рдХреЗ рд╕рд╛рде рдПрдХ рддрд╕реНрд╡реАрд░ рдорд┐рд▓рддреА рд╣реИ, рд╡реАрдбрд┐рдпреЛ рдХреЗ рдЕрдиреБрдкрд╛рдд рдореЗрдВ рдЪрд┐рддреНрд░ рдХреЛ рдХреНрд░реЙрдк рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ / рдердореНрд╕ / рд╡реАрдбрд┐рдпреЛ.рдПрдордкреА 4? рджреВрд╕рд░рд╛ = 20 рдФрд░ рдКрдВрдЪрд╛рдИ = 50 рдФрд░ рдЪреМрдбрд╝рд╛рдИ = 100

рд╣рдо рдЗрд╕реЗ рд▓реЗрддреЗ рд╣реИрдВ, рдореЙрдбреНрдпреВрд▓ рдкреГрд╖реНрда рдкрд░ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрдврд╝рд┐рдпрд╛ рд╕рдорд╛рдзрд╛рди рд╣реИ рдЬреЛ рдкреЛрд╕реНрдЯрд░ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП HTML рд╡реАрдбрд┐рдпреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВ:
 <video controls="controls" poster="http://localhost/thumbs/movie.mp4?second=10"> <source src="movie.mp4" type="video/mp4" /> Your browser does not support the video tag. </video> 


рдФрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░рддреЗ рд╕рдордп, рдХреБрдЫ рд╕рдордп рдХреЛ рджреЗрдЦреЗрдВ рдФрд░ Youtube рдкрд░ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдордп рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд┐рдВрдХ рдХреА рддрд░рд╣ рдПрдХ рдЪрд┐рддреНрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред

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


All Articles