本文實例講述了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教程
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答