Команда Melt: как читать свойства видео? - PullRequest
0 голосов
/ 10 января 2011

Как прочитать общее количество кадров из видео с помощью команды «melt» То же самое для времени и кадров в секунду.

Ответы [ 2 ]

2 голосов
/ 14 мая 2013

Как и Флорин, вы также можете сделать это с помощью командной строки и некоторого грязного grep:

melt AAG_5766.MOV -consumer xml | grep length | grep -Eo '[0-9]+'
0 голосов
/ 27 января 2011

Я нашел возможный ответ, чтобы получить свойства в формате XML.

Использование: melt movie.flv -consumer xml

Код для php:

//get total frames and framerate

ob_start();
system('melt '.$video.' -consumer xml');
$clip_prop = ob_get_contents();
ob_end_clean();

$xml_prop = new DOMDocument();
$xml_prop->loadXML( $clip_prop );

$properties = $xml_prop->getElementsByTagName("property");

foreach( $properties as $property )
{
     $attribute = $property->getAttribute("name");
     //for total frames
     if( $attribute == "length" )
          $frames = $property->nodeValue;
     //for frame rates
     if( $attribute == "meta.media.0.stream.frame_rate" )
          $fps = $property->nodeValue;
}
...