本文实例讲述了PHP从FLV文件获取视频预览图的方法。具体实现方法如下:
代码如下:
?php// references http://www.longtailvideo.com/support/forum/Modules/12661/External-PHP-with-FFmpeg-using-readfile-// generate a preview image from an FLV file on-the-fly, or to save// call with: ffmpeg_image.php?file=video.flv time=00:00:05 browser=true// call with: ffmpeg_image.php?file=video.flv percent=75.3 browser=true// no time defaults to 00:00:01 (one second), no browser defaults to true $videofile = (isset($_GET[ file ])) ? strval($_GET[ file ]) : video.flv $image = substr($videofile, 0, strlen($videofile) - 4);$time = (isset($_GET[ time ])) ? strval($_GET[ time ]) : 00:00:01 // debug ( File: , $videofile);// debug ( Image: , $image);// debug ( Time: , $time);// check time formatif (!preg_match( //d/d:/d/d:/d/d/ , $time)) $time = 00:00:00 if (isset($_GET[ percent ])) $percent = $_GET[ percent // debug ( Percent: , $percent); ob_start(); exec( /usr/bin/ffmpeg -i / . $videofile . / 2 1 $duration = ob_get_contents(); ob_end_clean(); // debug ( Duration: , $duration); preg_match( /Duration: (.*?),/ , $duration, $matches); $duration = $matches[1];// debug ( Duration: , $duration); $duration_array = split( : , $duration); $duration = $duration_array[0] * 3600 + $duration_array[1] * 60 + $duration_array[2]; $time = $duration * $percent / 100;// debug ( Time: , $time); $time = intval($time/3600) . : . intval(($time-(intval($time/3600)*3600))/60) . : . sprintf( %01.3f , ($time-(intval($time/60)*60)));// debug ( Time: , $time);$browser = (isset($_GET[ browser ])) ? strval($_GET[ browser ]) : true // debug ( Browser: , $browser);if ($browser == true ) header( Content-Type: image/png exec( /usr/bin/ffmpeg -vcodec png -i / . $videofile . / -ss . $time . -vframes 1 -f image2 - //header( Content-Type: image/jpeg //exec( /usr/bin/ffmpeg -vcodec mjpeg -i / . $videofile . / -ss . $time . -vframes 1 -f image2 - exec( /usr/bin/ffmpeg -vcodec png -i / . $videofile . / -ss . $time . -vframes 1 -f image2 / . $image . / %d.png //exec( /usr/bin/ffmpeg -vcodec mjpeg -i / . $videofile . / -ss . $time . -vframes 1 -f image2 / . $image . / %d.jpg ?
总结:以上就是本篇文的全部内容,希望能对大家的学习有所帮助。
相关推荐:
PHP中流的基本知识
PHP中html' target='_blank'>static关键字的定义、迟绑定以及与self关键字的区别
PHP单例模式的概念及特点
以上就是php操作flv文件获取截图的方法的详细内容,PHP教程
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
新闻热点
疑难解答