--TEST-- ffmpeg test key frame --SKIPIF-- <?php extension_loaded('ffmpeg') or die("skip ffmpeg extension not loaded"); extension_loaded('gd') or die("skip gd extension not avaliable."); function_exists("imagecreatetruecolor") or die("skip function imagecreatetruecolor unavailable"); ?> --FILE-- <?php $mov = new ffmpeg_movie(dirname(__FILE__) . '/test_media/robot.avi'); $img = dirname(__FILE__) . '/test-'; $i = 0; while (($frame = $mov->getFrame()) != false) { $i = $mov->getFrameNumber(); $filename = $img . $i . '.png'; $gd_image = $frame->toGDImage(); imagepng($gd_image, $filename); printf("ffmpeg frame->isKeyFrame($i)= %d\n", $frame->isKeyFrame()); imagedestroy($gd_image); unlink($filename); } ?> --EXPECT-- ffmpeg frame->isKeyFrame(1)= 0 ffmpeg frame->isKeyFrame(2)= 0 ffmpeg frame->isKeyFrame(3)= 1 ffmpeg frame->isKeyFrame(4)= 0 ffmpeg frame->isKeyFrame(5)= 0 ffmpeg frame->isKeyFrame(6)= 1 ffmpeg frame->isKeyFrame(7)= 0 ffmpeg frame->isKeyFrame(8)= 0 ffmpeg frame->isKeyFrame(9)= 1 ffmpeg frame->isKeyFrame(10)= 0 ffmpeg frame->isKeyFrame(11)= 0 ffmpeg frame->isKeyFrame(12)= 1 ffmpeg frame->isKeyFrame(13)= 0 ffmpeg frame->isKeyFrame(14)= 0 ffmpeg frame->isKeyFrame(15)= 1 ffmpeg frame->isKeyFrame(16)= 0 ffmpeg frame->isKeyFrame(17)= 0 ffmpeg frame->isKeyFrame(18)= 1 ffmpeg frame->isKeyFrame(19)= 0 ffmpeg frame->isKeyFrame(20)= 0 ffmpeg frame->isKeyFrame(21)= 1 ffmpeg frame->isKeyFrame(22)= 0 ffmpeg frame->isKeyFrame(23)= 0 ffmpeg frame->isKeyFrame(24)= 1 ffmpeg frame->isKeyFrame(25)= 0 ffmpeg frame->isKeyFrame(26)= 0 ffmpeg frame->isKeyFrame(27)= 1 ffmpeg frame->isKeyFrame(28)= 0 ffmpeg frame->isKeyFrame(29)= 0 ffmpeg frame->isKeyFrame(30)= 1 ffmpeg frame->isKeyFrame(31)= 0 ffmpeg frame->isKeyFrame(32)= 0 ffmpeg frame->isKeyFrame(33)= 1 ffmpeg frame->isKeyFrame(34)= 0 ffmpeg frame->isKeyFrame(35)= 0 ffmpeg frame->isKeyFrame(36)= 1 ffmpeg frame->isKeyFrame(37)= 0 ffmpeg frame->isKeyFrame(38)= 0 ffmpeg frame->isKeyFrame(39)= 1 ffmpeg frame->isKeyFrame(40)= 0 ffmpeg frame->isKeyFrame(41)= 0 ffmpeg frame->isKeyFrame(42)= 1 ffmpeg frame->isKeyFrame(43)= 0 ffmpeg frame->isKeyFrame(44)= 0 ffmpeg frame->isKeyFrame(45)= 1 ffmpeg frame->isKeyFrame(46)= 0 ffmpeg frame->isKeyFrame(47)= 0 ffmpeg frame->isKeyFrame(48)= 1 ffmpeg frame->isKeyFrame(49)= 0 ffmpeg frame->isKeyFrame(50)= 0 ffmpeg frame->isKeyFrame(51)= 1 ffmpeg frame->isKeyFrame(52)= 0 ffmpeg frame->isKeyFrame(53)= 0 ffmpeg frame->isKeyFrame(54)= 1 ffmpeg frame->isKeyFrame(55)= 0 ffmpeg frame->isKeyFrame(56)= 0 ffmpeg frame->isKeyFrame(57)= 1 ffmpeg frame->isKeyFrame(58)= 0 ffmpeg frame->isKeyFrame(59)= 0 ffmpeg frame->isKeyFrame(60)= 1 ffmpeg frame->isKeyFrame(61)= 0 ffmpeg frame->isKeyFrame(62)= 0 ffmpeg frame->isKeyFrame(63)= 1 ffmpeg frame->isKeyFrame(64)= 0 ffmpeg frame->isKeyFrame(65)= 0 ffmpeg frame->isKeyFrame(66)= 1 ffmpeg frame->isKeyFrame(67)= 0 ffmpeg frame->isKeyFrame(68)= 0 ffmpeg frame->isKeyFrame(69)= 1 ffmpeg frame->isKeyFrame(70)= 0 ffmpeg frame->isKeyFrame(71)= 0 ffmpeg frame->isKeyFrame(72)= 1 ffmpeg frame->isKeyFrame(73)= 0 ffmpeg frame->isKeyFrame(74)= 0 ffmpeg frame->isKeyFrame(75)= 1 ffmpeg frame->isKeyFrame(76)= 0 ffmpeg frame->isKeyFrame(77)= 0 ffmpeg frame->isKeyFrame(78)= 1 ffmpeg frame->isKeyFrame(79)= 0 ffmpeg frame->isKeyFrame(80)= 0 ffmpeg frame->isKeyFrame(81)= 1 ffmpeg frame->isKeyFrame(82)= 0 ffmpeg frame->isKeyFrame(83)= 0 ffmpeg frame->isKeyFrame(84)= 1 ffmpeg frame->isKeyFrame(85)= 0 ffmpeg frame->isKeyFrame(86)= 0 ffmpeg frame->isKeyFrame(87)= 1 ffmpeg frame->isKeyFrame(88)= 0 ffmpeg frame->isKeyFrame(89)= 0 ffmpeg frame->isKeyFrame(90)= 1 ffmpeg frame->isKeyFrame(91)= 0 ffmpeg frame->isKeyFrame(92)= 0 ffmpeg frame->isKeyFrame(93)= 1 ffmpeg frame->isKeyFrame(94)= 0 ffmpeg frame->isKeyFrame(95)= 0 ffmpeg frame->isKeyFrame(96)= 1 ffmpeg frame->isKeyFrame(97)= 0 ffmpeg frame->isKeyFrame(98)= 0 ffmpeg frame->isKeyFrame(99)= 1 ffmpeg frame->isKeyFrame(100)= 0 ffmpeg frame->isKeyFrame(101)= 0 ffmpeg frame->isKeyFrame(102)= 1 ffmpeg frame->isKeyFrame(103)= 0 ffmpeg frame->isKeyFrame(104)= 0 ffmpeg frame->isKeyFrame(105)= 1 ffmpeg frame->isKeyFrame(106)= 0 ffmpeg frame->isKeyFrame(107)= 0 ffmpeg frame->isKeyFrame(108)= 1 ffmpeg frame->isKeyFrame(109)= 0 ffmpeg frame->isKeyFrame(110)= 0 ffmpeg frame->isKeyFrame(111)= 1 ffmpeg frame->isKeyFrame(112)= 0 ffmpeg frame->isKeyFrame(113)= 0 ffmpeg frame->isKeyFrame(114)= 1 ffmpeg frame->isKeyFrame(115)= 0 ffmpeg frame->isKeyFrame(116)= 0 ffmpeg frame->isKeyFrame(117)= 1 ffmpeg frame->isKeyFrame(118)= 0 ffmpeg frame->isKeyFrame(119)= 0 ffmpeg frame->isKeyFrame(120)= 1 ffmpeg frame->isKeyFrame(121)= 0 ffmpeg frame->isKeyFrame(122)= 0 ffmpeg frame->isKeyFrame(123)= 1 ffmpeg frame->isKeyFrame(124)= 0 ffmpeg frame->isKeyFrame(125)= 0 ffmpeg frame->isKeyFrame(126)= 1 ffmpeg frame->isKeyFrame(127)= 0 ffmpeg frame->isKeyFrame(128)= 0 ffmpeg frame->isKeyFrame(129)= 1 ffmpeg frame->isKeyFrame(130)= 0 ffmpeg frame->isKeyFrame(131)= 0 ffmpeg frame->isKeyFrame(132)= 1 ffmpeg frame->isKeyFrame(133)= 0 ffmpeg frame->isKeyFrame(134)= 0 ffmpeg frame->isKeyFrame(135)= 1 ffmpeg frame->isKeyFrame(136)= 0 ffmpeg frame->isKeyFrame(137)= 0 ffmpeg frame->isKeyFrame(138)= 1 ffmpeg frame->isKeyFrame(139)= 0 ffmpeg frame->isKeyFrame(140)= 0 ffmpeg frame->isKeyFrame(141)= 1 ffmpeg frame->isKeyFrame(142)= 0 ffmpeg frame->isKeyFrame(143)= 0 ffmpeg frame->isKeyFrame(144)= 1 ffmpeg frame->isKeyFrame(145)= 0 ffmpeg frame->isKeyFrame(146)= 0 ffmpeg frame->isKeyFrame(147)= 1 ffmpeg frame->isKeyFrame(148)= 0 ffmpeg frame->isKeyFrame(149)= 0 ffmpeg frame->isKeyFrame(150)= 1 ffmpeg frame->isKeyFrame(151)= 0 ffmpeg frame->isKeyFrame(152)= 0 ffmpeg frame->isKeyFrame(153)= 1 ffmpeg frame->isKeyFrame(154)= 0 ffmpeg frame->isKeyFrame(155)= 0 ffmpeg frame->isKeyFrame(156)= 1 ffmpeg frame->isKeyFrame(157)= 0 ffmpeg frame->isKeyFrame(158)= 0 ffmpeg frame->isKeyFrame(159)= 1 ffmpeg frame->isKeyFrame(160)= 0 ffmpeg frame->isKeyFrame(161)= 0 ffmpeg frame->isKeyFrame(162)= 1 ffmpeg frame->isKeyFrame(163)= 0 ffmpeg frame->isKeyFrame(164)= 0 ffmpeg frame->isKeyFrame(165)= 1 ffmpeg frame->isKeyFrame(166)= 0 ffmpeg frame->isKeyFrame(167)= 0 ffmpeg frame->isKeyFrame(168)= 1 ffmpeg frame->isKeyFrame(169)= 0 ffmpeg frame->isKeyFrame(170)= 0 ffmpeg frame->isKeyFrame(171)= 1 ffmpeg frame->isKeyFrame(172)= 0 ffmpeg frame->isKeyFrame(173)= 0 ffmpeg frame->isKeyFrame(174)= 1 ffmpeg frame->isKeyFrame(175)= 0 ffmpeg frame->isKeyFrame(176)= 0 ffmpeg frame->isKeyFrame(177)= 1 ffmpeg frame->isKeyFrame(178)= 0 ffmpeg frame->isKeyFrame(179)= 0 ffmpeg frame->isKeyFrame(180)= 1 ffmpeg frame->isKeyFrame(181)= 0 ffmpeg frame->isKeyFrame(182)= 0 ffmpeg frame->isKeyFrame(183)= 1 ffmpeg frame->isKeyFrame(184)= 0 ffmpeg frame->isKeyFrame(185)= 0 ffmpeg frame->isKeyFrame(186)= 1 ffmpeg frame->isKeyFrame(187)= 0 ffmpeg frame->isKeyFrame(188)= 0 ffmpeg frame->isKeyFrame(189)= 1 ffmpeg frame->isKeyFrame(190)= 0 ffmpeg frame->isKeyFrame(191)= 0 ffmpeg frame->isKeyFrame(192)= 1 ffmpeg frame->isKeyFrame(193)= 0 ffmpeg frame->isKeyFrame(194)= 0 ffmpeg frame->isKeyFrame(195)= 1 ffmpeg frame->isKeyFrame(196)= 0 ffmpeg frame->isKeyFrame(197)= 0 ffmpeg frame->isKeyFrame(198)= 1 ffmpeg frame->isKeyFrame(199)= 0 ffmpeg frame->isKeyFrame(200)= 0 ffmpeg frame->isKeyFrame(201)= 1 ffmpeg frame->isKeyFrame(202)= 0 ffmpeg frame->isKeyFrame(203)= 0 ffmpeg frame->isKeyFrame(204)= 1 ffmpeg frame->isKeyFrame(205)= 0 ffmpeg frame->isKeyFrame(206)= 0 ffmpeg frame->isKeyFrame(207)= 1 ffmpeg frame->isKeyFrame(208)= 0 ffmpeg frame->isKeyFrame(209)= 0 ffmpeg frame->isKeyFrame(210)= 1 ffmpeg frame->isKeyFrame(211)= 0 ffmpeg frame->isKeyFrame(212)= 0 ffmpeg frame->isKeyFrame(213)= 1 ffmpeg frame->isKeyFrame(214)= 0 ffmpeg frame->isKeyFrame(215)= 0 ffmpeg frame->isKeyFrame(216)= 1 ffmpeg frame->isKeyFrame(217)= 0 ffmpeg frame->isKeyFrame(218)= 0 ffmpeg frame->isKeyFrame(219)= 1 ffmpeg frame->isKeyFrame(220)= 0 ffmpeg frame->isKeyFrame(221)= 0 ffmpeg frame->isKeyFrame(222)= 1 ffmpeg frame->isKeyFrame(223)= 0 ffmpeg frame->isKeyFrame(224)= 0 ffmpeg frame->isKeyFrame(225)= 1 ffmpeg frame->isKeyFrame(226)= 0 ffmpeg frame->isKeyFrame(227)= 0 ffmpeg frame->isKeyFrame(228)= 1 ffmpeg frame->isKeyFrame(229)= 0 ffmpeg frame->isKeyFrame(230)= 0 ffmpeg frame->isKeyFrame(231)= 1 ffmpeg frame->isKeyFrame(232)= 0 ffmpeg frame->isKeyFrame(233)= 0 ffmpeg frame->isKeyFrame(234)= 1 ffmpeg frame->isKeyFrame(235)= 0 ffmpeg frame->isKeyFrame(236)= 0 ffmpeg frame->isKeyFrame(237)= 1 ffmpeg frame->isKeyFrame(238)= 0 ffmpeg frame->isKeyFrame(239)= 0 ffmpeg frame->isKeyFrame(240)= 1 ffmpeg frame->isKeyFrame(241)= 0 ffmpeg frame->isKeyFrame(242)= 0