PageRenderTime 45ms CodeModel.GetById 19ms RepoModel.GetById 1ms app.codeStats 0ms

/Vendor/phpvideotoolkit/adapters/ffmpeg-php/tests/tests/getFrameCrop.php

https://github.com/Wargo/reddevil
PHP | 52 lines | 45 code | 4 blank | 3 comment | 2 complexity | 88c7043393d887feddbd17515c7c1712 MD5 | raw file
Possible License(s): GPL-2.0, AGPL-1.0, LGPL-2.1, GPL-3.0
  1. --TEST--
  2. ffmpeg getFrame cropping test
  3. --SKIPIF--
  4. <?php
  5. function_exists("imagecreatetruecolor") or die("skip function imagecreatetruecolor unavailable");
  6. require_once '../../ffmpeg_movie.php';
  7. require_once '../../ffmpeg_frame.php';
  8. require_once '../../ffmpeg_animated_gif.php';
  9. $ignore_demo_files = true;
  10. $dir = dirname(dirname(dirname(dirname(dirname(__FILE__)))));
  11. require_once $dir.'/examples/example-config.php';
  12. $tmp_dir = PHPVIDEOTOOLKIT_EXAMPLE_ABSOLUTE_BATH.'tmp/';
  13. ?>
  14. --FILE--
  15. <?php
  16. function print_image_md5($gd_image) {
  17. if ($gd_image) {
  18. $img = sprintf("tmp.png", $tmp_dir);
  19. imagepng($gd_image, $img);
  20. // generate md5 of file
  21. printf("%s\n", md5(file_get_contents($img)));
  22. unlink($img);
  23. } else {
  24. printf("failed\n");
  25. }
  26. }
  27. $framenumber = 73;
  28. $mov = new PHPVideoToolkit_movie($dir.'/examples/to-be-processed/cat.mpeg', false, $tmp_dir);
  29. $img = sprintf("%s/test-%04d.png", $tmp_dir, $framenumber);
  30. /* cropping as part of resize */
  31. $frame = $mov->getFrame($framenumber);
  32. $frame->resize(50, 50, 10, 10, 10, 10);
  33. $gd_image = $frame->toGDImage();
  34. print('ffmpeg resize and crop: md5 = ');
  35. print_image_md5($gd_image);
  36. imagedestroy($gd_image);
  37. $framenumber++;
  38. /* cropping without resize */
  39. $frame = $mov->getFrame($framenumber);
  40. $frame->crop(10, 10, 10, 10);
  41. $gd_image = $frame->toGDImage();
  42. print('ffmpeg crop: md5 = ');
  43. print_image_md5($gd_image);
  44. imagedestroy($gd_image);
  45. ?>
  46. --EXPECT--
  47. ffmpeg resize and crop: md5 = 9953e3252c3a2204cfe1ea5101a72f7f
  48. ffmpeg crop: md5 = 2ef711ce6500fe9bd7377f2deb65ed08