Выдрать кард flv

Тема в разделе "PHP Pro", создана пользователем sw04, 26 окт 2009.

Статус темы:
Закрыта.
  1. sw04

    sw04 seoplayer

    Регистр.:
    1 дек 2007
    Сообщения:
    601
    Симпатии:
    193
    необходимо выдрать кадр flv видео без shell_exec , подскажите, возможно ли такое?
     
  2. Darkmind

    Darkmind SNMP maniac

    Регистр.:
    31 май 2006
    Сообщения:
    182
    Симпатии:
    74
    sw04 нравится это.
  3. ZCFD

    ZCFD

    Регистр.:
    16 янв 2008
    Сообщения:
    989
    Симпатии:
    437
    PHP:
    <?php 
    set_time_limit
    (0);
    //  число кадров  которые нужно вырезать
    $count_of_frames=20;
    // путь до файла
    $file "./test.flv";
    // поехали =)
    $movie = new ffmpeg_movie(realpath($file));
    // всего кадров 
    echo " Всего кадров:".$num_of_frames=$movie->getFrameCount()."<br>";;
    // через сколько будем брать кадры
    $counter=round($num_of_frames/$count_of_frames);
    $gif=new ffmpeg_animated_gif(realpath('./primer.gif'),$movie->getFrameWidth(),$movie->getFrameHeight(),24); 

    for(
    $i=1;$i<=$count_of_frames;$i++)
    {
        echo 
    "Frame : ".($i*$counter)."<br>";
        echo 
    "<i>".$movie->getFrameNumber()."</i><br>";
        
    $img=$movie->getFrame($i*$counter);
        
    //$gif->addFrame($img);
        
    if($img)
        {
            
    $pict=$img->toGDImage();
            
    imagejpeg($pict,'./img/img_'.$i.'.jpg');
            
    imagedestroy($pict);
            echo 
    "$i<br>";flush();
        }
    }
    /*/
    // создаём анимацию
    /*
     
    for ($frame = 150; $frame <= 200; $frame++) {
            $image = $movie->getFrame($frame);
            $gif->addFrame($image);
    }
    /*

    //получаем скриншот по средствам php ffmpeg 
     
    // путь до файла
    $file = realpath("./test.flv");
    // кадр который будем выхватывать
    $frame = 1100; 
     
    // получаем кадр
    $movie = new ffmpeg_movie($file);
    $image = $movie->getFrame($frame);
    $show_img = $image->toGDImage(); 
     
    // выводим его
    header("Content-type: image/jpeg");
    imagejpeg($show_img);
    imagedestroy($show_img);
    */
    ?>
    Для работы нужна библиотека php_ffmpeg ( смотри http://citkit.ru/articles/695/ , http://www.sergey89.ru/notes/ffmpeg-php-windows , http://www.drupal.ru/node/11261 )
     
    sw04 нравится это.
Статус темы:
Закрыта.