
рд╢реБрдн рджрд┐рдиред
рдХрдИ рд╡реЗрдм рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рд╡реАрдбрд┐рдпреЛ рдХреЗ рд╕рд╛рде рдЬрд▓реНрджреА рдпрд╛ рдмрд╛рдж рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдореЗрд░реЗ рд╕рд╛рде рдЙрддреНрдкрдиреНрди рд╣реБрдИред
рдордВрдЪреЛрдВ рдФрд░ рдмреНрд▓реЙрдЧреЛрдВ рдкрд░ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдХрдИ рд▓реЗрдЦ рд╣реИрдВ, рджреЛрдиреЛрдВ рд░реВрд╕реА-рднрд╛рд╖рд╛ рдФрд░ рд╡рд┐рджреЗрд╢реА рд╕рд╛рдЗрдЯреЛрдВ рдкрд░ред рд▓реЗрдХрд┐рди рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдореЗрдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдкрд░рд┐рдгрд╛рдо рдиреЗ рдЕрдкреЗрдХреНрд╖рд┐рдд рдкрд░рд┐рдгрд╛рдо рдирд╣реАрдВ рджрд┐рдпрд╛ред рдЬреЛ рдЗрд╕ рд▓реЗрдЦ рдХрд╛ рдХрд╛рд░рдг рдерд╛ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡рд╣ рдХрдИ рд╢реБрд░реБрдЖрддреА рд▓реЛрдЧреЛрдВ рдХреА рдорджрдж рдХрд░реЗрдЧреАред
рдЪрд▓рд┐рдП рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ
рд╕рдм рдХреБрдЫ рд░реВрдЯ рдкрд░ Ubuntu 11.04 (рдирдЯреНрдЯреА рдирд░рд╡рд╛рд▓) рдХреЗ рд╕рд╛рде рдПрдХ рдорд╢реАрди рдкрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
root@r2d2:~
рдкрд╣рд▓реЗ рдкреБрд░рд╛рдиреЗ рдХреЛ рд╣рдЯрд╛ рджреЗрдВ, рдпрджрд┐ рдореМрдЬреВрдж рд╣реИ
root@r2d2:~
рд╕рдВрдХреБрд▓ рдХреА рд╕реВрдЪреА рдХреЛ рдЕрджреНрдпрддрди рдХрд░рдирд╛
root@r2d2:~
рд╡рд╛рдВрдЫрд┐рдд рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
root@r2d2:~
H.264 рд╡реАрдбрд┐рдпреЛ рд╕реНрдЯреНрд░реАрдо рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
рдпрд╣рд╛рдБ рдФрд░
рдпрд╣рд╛рдБ рдкрдврд╝реЗрдВред
root@r2d2:~
рдпрд╣рд╛рдВ рдЖрдкрдХреЛ рдПрдХ рд╡рд┐рд╖рдпрд╛рдВрддрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЬрдм x264 рдХреЛ рдмрд┐рдирд╛
--enable-shared
рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рдмрд┐рдирд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░
--enable-shared
рд╣реИ, рддреЛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ (рдореЗрд░реЗ рдкрд╛рд╕ / usr / рд╕реНрдерд╛рдиреАрдп / рдмрд┐рди) рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдЬрдм ffmpeg рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдпрд╣ lib2264 рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдЕрдЬреНрдЮрд╛рдд рд╕реНрдерд╛рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рддреНрд░реБрдЯрд┐ рдлреЗрдВрдХ рджреЗрдЧрд╛:
рддреНрд░реБрдЯрд┐: libx264 рдирд╣реАрдВ рдорд┐рд▓реА
--enable-shared
рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде, рдЪреЗрдХрдЗрдВрд╕реНрдЯ рдХрдорд╛рдВрдб рдХреЗ рдмрд╛рдж рдкрд░рд┐рдгрд╛рдо рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИ:
install -d /usr/local/bin install x264 /usr/local/bin install -d /usr/local/include install -d /usr/local/lib install -d /usr/local/lib/pkgconfig install -m 644 x264.h /usr/local/include install -m 644 x264_config.h /usr/local/include install -m 644 x264.pc /usr/local/lib/pkgconfig ln -f -s libx264.so.116 /usr/local/lib/libx264.so install -m 755 libx264.so.116 /usr/local/lib
рдбреЗрдмрд┐рдпрди рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╕рдордп libx264 рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд╕рд╛рде рднреА рд╕рдорд╕реНрдпрд╛рдПрдВ рдереАрдВред
X264 рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддреЗ рд╕рдордп
--prefix=/shared
рд╡рд┐рдХрд▓реНрдк рдиреЗ рдорджрдж рдХреАред
root@r2d2:~/x264
Ffmpeg рдХреА рд╕реНрдерд╛рдкрдирд╛
рдпрд╣рд╛рдБ рдФрд░
рдпрд╣рд╛рдБ рдкрдврд╝реЗрдВред
root@r2d2:~
рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдорд╛рд░реЗ рдкрд╛рд╕:
root@r2d2:~
root@r2d2:~
рдЕрдм, рдпрджрд┐ рдЖрдк рдХрдВрд╕реЛрд▓ рдореЗрдВ рдЯрд╛рдЗрдк рдХрд░рддреЗ рд╣реИрдВ
ffmpeg -threads 4 -y -i "video.avi" -vcodec libx264 -vpre "hq" -b 2000k -acodec libfaac -ar 44100 -ab 128k -ac 2 "video.flv"
рдЖрдЙрдЯрдкреБрдЯ рдПрдХ рд░реВрдкрд╛рдВрддрд░рд┐рдд рдлрд╝рд╛рдЗрд▓ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдкреНрд░рдпреЛрдЬрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд░реВрдкрд╛рдВрддрд░рдг рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рд╕рд╛
-i рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо рд╣реИ;
-ar - рдзреНрд╡рдирд┐ рдирдореВрдирд╛рдХрд░рдг рдЖрд╡реГрддреНрддрд┐ (11kHz рдХреЗ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП);
-рдм - рдСрдбрд┐рдпреЛ рдмрд┐рдЯрд░реЗрдЯ;
-рдПрд╕реА - рдзреНрд╡рдирд┐ рдЪреИрдирд▓реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ (1 - рдореЛрдиреЛ, 2 - рд╕реНрдЯреАрд░рд┐рдпреЛ);
-f - рдЖрдЙрдЯрдЧреЛрдЗрдВрдЧ рд╡реАрдбрд┐рдпреЛ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдкреНрд░рд╛рд░реВрдк;
-b - рд╡реАрдбрд┐рдпреЛ рдмрд┐рдЯрд░реЗрдЯ (30k, 200k, 512k, 1024k);
-рдореИрдХреНрд╕реНрд░реЗрдЯ - рд╡реАрдбрд┐рдпреЛ рд╕реНрдЯреНрд░реАрдо рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХреА рдЕрдзрд┐рдХрддрдо рдмрд┐рдЯ рджрд░ (9000k);
-рдЖрд░ - рдлреНрд░реЗрдо рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб (рдПрдлрдкреАрдПрд╕);
-s - рдкрд┐рдХреНрд╕реЗрд▓ рдореЗрдВ рд╡реАрдбрд┐рдпреЛ рдЖрдХрд╛рд░;
-fs - рдЖрдЙрдЯрдкреБрдЯ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЕрдзрд┐рдХрддрдо рдЖрдХрд╛рд░ рд╕реЗрдЯ рдХрд░реЗрдВ;
-vpre - рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд░реВрдкрд╛рдВрддрд░рдг рд╡рд┐рдХрд▓реНрдк (рдкреВрд░реНрд╡ рдирд┐рд░реНрдзрд╛рд░рд┐рдд) рдХреЗ рд╕рд╛рде рдлрд╛рдЗрд▓;
-рдПрд╕рдПрд╕ 00:02:00 - рд╕рдордп рдлрд╝рд╛рдЗрд▓ (рд╕реНрдерд┐рддрд┐) рдХреА рд╢реБрд░реБрдЖрдд рд╕реЗ рдСрдлрд╕реЗрдЯред рдпрд╣рд╛рдВ: рдкрд╣рд▓реЗ 2 рдорд┐рдирдЯ (рд╕реЗрдХрдВрдб рдореЗрдВ рд╢рд┐рдлреНрдЯ) рдХреЛ рдЫреЛрдбрд╝ рджреЗрдВред рд╕реЗрдХ рдореЗрдВ рд╕реЗрдЯ рдХрд░реЗрдВред рдпрд╛ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╕рдордп: hh: mm: ss [.xxx];
-vframes - рд╡реАрдбрд┐рдпреЛ рдлреНрд░реЗрдо рдХреА рд╕рдВрдЦреНрдпрд╛ рдкрд░ рд╕реАрдорд╛;
-y - рдпрджрд┐ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╣реИ рддреЛ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд░реЗрдВ;
-рд╕реНрдкреЗрдХреНрдЯ - рдкрд╣рд▓реВ рдЕрдиреБрдкрд╛рдд (4: 3, 16: 9, 1.3333);
-рдЖрдХреЛрдбреЗрдХ - рдСрдбрд┐рдпреЛ рдХреЛрдбреЗрдХ (рд▓реАрдмрдлрд╛реЕрдХ, рдПрдПрд╕реА, рд▓рд┐рдмреЗрд╡рд┐рдХреНрд▓реЗрдо);
-vcodec - рд╡реАрдбрд┐рдпреЛ рдХреЛрдбреЗрдХ (libx264);
-рдереНрд░реЗрдбреНрд╕ 0 - рдХрдВрдкреНрдпреВрдЯрд░ рдореЗрдВ рдХреЛрд░ рдХреА рд╕рдВрдЦреНрдпрд╛ред рдорд╛рди: 0 - 4. 0 - рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛрд░ рдХреА рд╕рдВрдЦреНрдпрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
ffmpeg рдореЗрдВ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╡рд╛рд▓реА рдлрд╛рдЗрд▓реЗрдВ рд╣реИрдВред рд╡реЗ ffmpeg / ffpresets рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИрдВ
root@r2d2:~/ffmpeg/ffpresets
рдФрд░ рдЗрдВрд╕реНрдЯрд╛рд▓реЗрд╢рди рдХреЗ рдмрд╛рдж / usr / рд▓реЛрдХрд▓ / рд╢реЗрдпрд░ / ffmpeg / рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдлрд╝рд╛рдЗрд▓ рдХреЗ рдирд╛рдо рд╕реЗ рдЖрдк рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рдЖрдк рдЙрдкрд░реЛрдХреНрдд рд▓рд┐рдВрдХ рдкрд░ рдЗрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред
рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рдкреНрд░рдпреБрдХреНрдд рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдлрд╝рд╛рдЗрд▓
root@r2d2:/usr/share/ffmpeg
рд╕рднреА рд╕реНрдерд╛рдкрд┐рдд рд╕реЗ рд░реЛрд▓рдмреИрдХ
root@r2d2:~
PHP рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡реАрдбрд┐рдпреЛ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛
рд╡реАрдбрд┐рдпреЛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ
рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ рдкрд╛рдпрд╛ рдЧрдпрд╛ рдХрд┐ рдПрдХ рдереЛрдбрд╝рд╛ redone рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред
function get_video_size($videofile) { define('MAX_VIDEO_WIDTH', 200); $vwidth = 0; $vheight = 0; $owidth = 0; $oheight = 0; $duration = array(); $bitrate = 0; $audio_bitrate = 0; $sfrequency = 0; ob_start(); passthru('ffmpeg -i "' . $videofile . '" 2>&1 | egrep -e "(Duration|Stream)"'); $ffmpeg_output = ob_get_contents(); ob_end_clean(); if (sizeof($ffmpeg_output) == 0) { return null; } foreach (explode("\n", $ffmpeg_output) as $line) { $ma = array();
рдирддреАрдЬрддрди, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рддреИрдпрд╛рд░ рдЙрджрд╛рд╣рд░рдг рд╣реИ
$ffmpeg_path = 'ffmpeg';