Php5-ffmpeg рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рд╕реА рд╡реАрдбрд┐рдпреЛ рдХреЗ рдЖрдВрдХрдбрд╝реЗ рдФрд░ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛

рд╣рдо YouTube habrahabr.ru/post/171225 рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВ

рдПрдХ рдЦреБрд▓рд╛ рдкреНрд░рд╢реНрди рдЙрдмрдВрдЯреВ рд╕реЗ ffmpeg рдХреЗ рдкреНрд░рд╕реНрдерд╛рди рдХреЗ рд╕рд╛рде рд╣реИ, php5-ffmpeg рдореЙрдбреНрдпреВрд▓ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдЖрдПрдЧрд╛? рдЕрдЧрд░ рдЖрдк рдХреБрдЫ рдЬрд╛рдирддреЗ рд╣реИрдВ рддреЛ рдореБрдЭреЗ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдмрддрд╛рдПрдВред

рдХрдЯ рдХреЗ рддрд╣рдд PHP5 рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдлрдВрдХреНтАНрд╢рди рд╣реИ, рдЬреЛ php5-ffmpeg рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рд╡реАрдбрд┐рдпреЛ рд╕реЗ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдФрд░ рдЖрдВрдХрдбрд╝реЗ рдирд┐рдХрд╛рд▓рддрд╛ рд╣реИред


Ubuntu рдореЗрдВ php5-ffmpeg рдореЙрдбреНрдпреВрд▓ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ

sudo apt-get install php5-ffmpeg 


рд╕рдорд╛рд░реЛрд╣ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ
$ рд╡реАрдбрд┐рдпреЛ - (рдЕрдкрд▓реЛрдб) рд╡реАрдбрд┐рдпреЛ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг рд╕рд░реНрд╡рд░ рдкрде
$ рд╕реНрдХреНрд░реАрди_рдкрде - рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг рд╕рд░реНрд╡рд░ рдкрде рдкрд╛рд╕ рдХрд░реЗрдВ
$ рд╕реНрдХреНрд░реАрди_рдХрд╛рдЙрдВрдЯ - рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреА рд╕рдВрдЦреНрдпрд╛

 function movie_progress($video,$screens_path = FALSE,$screens_count = 10) { $movie = new ffmpeg_movie($video); if ( ! $movie) { return; } $frame_count = $movie->getFrameCount(); //   $screens = FALSE; if ($screens_path) { //  ,      $step = floor($frame_count / ($screens_count)); $screens = array(); //  ,      for ($i = $step; $i < $frame_count; $i += $step) { $filename = $path.md5(rand()).'.png'; $frame = $movie->getFrame($i); $image = $frame->toGDImage(); imagepng($image,$filename); if (is_file($filename)) { $screens[] = $filename; } } } //      return array( 'width' => $movie->getFrameWidth(), //    'height' => $movie->getFrameHeight(), //    'frame_count' => $frame_count, //   'bitrate' => $movie->getBitRate(), //  'video_bitrate' => $movie->getVideoBitRate(), 'video_codec' => $movie->getVideoCodec(), 'audio_codec' => $movie->getAudioCodec(), 'screens' => $screens, //    ); } 


рдпрд╣ рдЖрдкрдХреЗ рд╡рд┐рд╡реЗрдХ рдкрд░ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рддрд░реАрдХреЛрдВ $ рдлрд┐рд▓реНрдо-> getAuthor (), $ рдлрд┐рд▓реНрдо-> getCopyright (), $ рдлрд┐рд▓реНрдо-> getArtist (), $ рдлрд┐рд▓реНрдо-> getGenre () рдФрд░ рдЗрд╕реА рддрд░рд╣, рдореЗрд░реЗ рд▓рд┐рдП рдЕрдЬреНрдЮрд╛рдд рдХрд╛рд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП, PHP рджреНрд╡рд╛рд░рд╛ рдкрдХрдбрд╝рд╛ рдирд╣реАрдВ рдПрдХ рдШрд╛рддрдХ рддреНрд░реБрдЯрд┐ рдХреЗ рд▓рд┐рдП рдиреЗрддреГрддреНрд╡ред

Ffmpeg-php.sourceforge.net/doc/api/index.php рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдкреНрд░рд▓реЗрдЦрди

рдкреНрд░рд╛рд░реВрдк рд░реВрдкрд╛рдВрддрд░рдг рдФрд░ рд╡реЙрдЯрд░рдорд╛рд░реНрдХ рдУрд╡рд░рд▓реЗ habrahabr.ru/post/171225

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


All Articles