最新消息: 新版网站上线了!!!

php利用ffmpeg获取相当信息并截图

  1. $movie = new ffmpeg_movie('4.mp4'); 
  2. $width=$movie->getFrameWidth(); 
  3. $height=$movie->getFrameHeight(); 
  4. $count$movie->getFrameCount(); 
  5. print $count . ''
  6. $n = round ( $count/16 ); 
  7. print $n . ''
  8. for ( $i = 1; $i <= 1; $i ++ ) { 
  9.     $img = 'screencap' . $i . '.png'
  10.     $x = $n * $i
  11.     $f = $movie->getFrame($x); 
  12.     $gd_image = $f->toGDImage(); 
  13.     imagepng($gd_image$img); 
  14.     imagedestroy($gd_image); 
  15.     echo "
    \n"
  16. $extension = "ffmpeg"
  17. $extension_soname = $extension . "." . PHP_SHLIB_SUFFIX; 
  18. $extension_fullname = PHP_EXTENSION_DIR . "/" . $extension_soname
  19.  
  20. // load extension 
  21. if (!extension_loaded($extension)) { 
  22.     dl($extension_sonameor die("Can't load extension $extension_fullname\n"); 
  23.  
  24. if (php_sapi_name() != 'cli') { 
  25.     echo '
    '
  26.  
  27. printf("ffmpeg-php version string: %s\n", FFMPEG_PHP_VERSION_STRING); 
  28. printf("ffmpeg-php build date string: %s\n", FFMPEG_PHP_BUILD_DATE_STRING); 
  29. printf("libavcodec build number: %d\n", LIBAVCODEC_BUILD_NUMBER); 
  30. printf("libavcodec version number: %d\n", LIBAVCODEC_VERSION_NUMBER); 
  31.  
  32. print_class_methods("ffmpeg_movie"); 
  33. print_class_methods("ffmpeg_frame"); 
  34.  
  35. // get an array for movies from the test media directory 
  36. $movies = getDirFiles(dirname(__FILE__) . '/tests/test_media'); 
  37.  
  38. echo "--------------------\n\n"
  39. foreach($movies as $movie) { 
  40.     $mov = new ffmpeg_movie($movie); 
  41.     printf("file name = %s\n"$mov->getFileName()); 
  42.     printf("duration = %s seconds\n"$mov->getDuration()); 
  43.     printf("frame count = %s\n"$mov->getFrameCount()); 
  44.     printf("frame rate = %0.3f fps\n"$mov->getFrameRate()); 
  45.     printf("comment = %s\n"$mov->getComment()); 
  46.     printf("title = %s\n"$mov->getTitle()); 
  47.     printf("author = %s\n"$mov->getAuthor()); 
  48.     printf("copyright = %s\n"$mov->getCopyright()); 
  49.     printf("get bit rate = %d\n"$mov->getBitRate()); 
  50.     printf("has audio = %s\n"$mov->hasAudio() == 0 ? 'No' : 'Yes'); 
  51.     if ($mov->hasAudio()) { 
  52.         printf("get audio stream id= %s\n"$mov->getAudioStreamId()); 
  53.         printf("get audio codec = %s\n"$mov->getAudioCodec()); 
  54.         printf("get audio bit rate = %d\n"$mov->getAudioBitRate()); 
  55.         printf("get audio sample rate = %d \n"$mov->getAudioSampleRate()); 
  56.         printf("get audio channels = %s\n"$mov->getAudioChannels()); 
  57.     } 
  58.     printf("has video = %s\n"$mov->hasVideo() == 0 ? 'No' : 'Yes'); 
  59.     if ($mov->hasVideo()) { 
  60.         printf("frame height = %d pixels\n"$mov->getFrameHeight()); 
  61.         printf("frame width = %d pixels\n"$mov->getFrameWidth()); 
  62.         printf("get video stream id= %s\n"$mov->getVideoStreamId()); 
  63.         printf("get video codec = %s\n"$mov->getVideoCodec()); 
  64.         printf("get video bit rate = %d\n"$mov->getVideoBitRate()); 
  65.         printf("get pixel format = %s\n"$mov->getPixelFormat()); 
  66.         printf("get pixel aspect ratio = %s\n"$mov->getPixelAspectRatio()); 
  67.         $frame = $mov->getFrame(10); 
  68.         printf("get frame = %s\n"is_object($frame) ? 'true' : 'false'); 
  69.         printf("  get frame number = %d\n"$mov->getFrameNumber()); 
  70.         printf("  get frame width = %d\n"$frame->getWidth()); 
  71.         printf("  get frame height = %d\n"$frame->getHeight()); 
  72.     } 
  73.     echo "\n--------------------\n\n"
  74.  
  75. if (php_sapi_name() != 'cli') { 
  76.     echo ''
  77.  
  78. /* FUNCTIONS */ 
  79. function print_class_methods($class) { 
  80.     echo "\nMethods available in class '$class':\n"
  81.     $methods = get_class_methods($class); 
  82.     if (is_array($methods)) { 
  83.         foreach($methods as $method) { 
  84.             echo $method . "\n"
  85.         } 
  86.     } else { 
  87.         echo "No Methods Defined\n"
  88.     } 
  89.  
  90. function getDirFiles($dirPath
  91.     if ($handle = opendir($dirPath)) 
  92.     { 
  93.         while (false !== ($file = readdir($handle))) { 
  94.             $fullpath = $dirPath . '/' . $file
  95.             if (!is_dir($fullpath) && $file != "CVS" && $file != "." && $file != ".."
  96.                 $filesArr[] = trim($fullpath); 
  97.         } 
  98.         closedir($handle); 
  99.     } 
  100.  
  101.     return $filesArr
  102.  
  103. ?> 

转载请注明:谷谷点程序 » php利用ffmpeg获取相当信息并截图