2013-07-19 2 views
0

я получил следующую команду, которые используют в генерации миниатюру видео:FFmpeg установить автоматическую высоту

escapeshellcmd("/usr/local/bin/ffmpeg -ss " . ceil($time) . " -i '" . $videoPath . "' -f image2 -vframes 1 -s 150x110 " . $tFilePath) 

Я хочу знать, что это возможно для изображения генерируют в фиксированном Вес х Высота Авто Высота вместо?

Спасибо.

ответ

2

вы можете сделать это с помощью FFmpeg. Вместо того, чтобы -s вы можете использовать scale видео фильтр:

-vf scale=150:-1 

Если значение ш или ч -1, масштаб фильтр будет использовать, для соответствующего размера выходного, значение, которое поддерживает соотношение сторон входного изображения.

0

Я не знаю, возможно ли это через ffmpeg (но я так не думаю, потому что я использовал ffmpeg некоторое время назад и не помню, что в api было что-то подобное), но ваша цель состояла бы в том, чтобы запустить еще один ffpeg команда, чтобы получить информацию о файле, а затем вы можете поместить свою высоту и ширину с помощью PHP:

$cmd = "ffmpeg -i /var/www/web1/bates.avi 2>&1"; 
if(preg_match('/Video: ((\w+), (\w+), (\w+))/s', `$cmd`, $video)) { 
    $video = $video[1]; 
    print_r($video); //flv, yuv420p, 384x204 
#or 
    $video = $video[4]; 
    print_r($video); //384x204 
} 
Смежные вопросы