windows下PHP獲取視訊第一幀圖片作為背景圖
阿新 • • 發佈:2018-12-17
我在網上找了很多這方面的資料,總結如下:一般用ffmpeg獲取視訊第一幀圖片作為背景圖; ffmpeg的下載連結 http://ffmpeg.org/download.html ; 下載好包,包裡面在bin目錄下找到ffmpeg.exe檔案,將ffmpeg.exe檔案隨意放;但必須知道ffmpeg.exe檔案絕對路徑:網上有說安裝ffmpeg或者放置在C:\Windows\System32;還有的修改環境變數,用命令測試是否裝成功;看的人眼花繚亂;其實很簡單,目的都是找到ffmpeg.exe檔案路徑而已;因此我用最簡單的方法來實現;
我的程式碼如下:
$name = md5(date('YmdHis')).".png"; // 圖片儲存的名稱 $ffmpeg="E:/zs/second/ffmpeg.exe"; // 檔案絕對路徑 $video_route="E:/zs/second/Public/Uploads/".$date . "/".$saveName; // 視訊的檔案路徑 $storage_route="E:/zs/second/Public/Uploads/".$date. "/".$name; // 圖片儲存路徑 system($ffmpeg." -i ".$video_route." -y -f image2 -t 0.001 -s 200x200 ".$storage_route); // 執行命名
system如果換成exec來執行那麼,檔案路路徑“/”變為“//”就好了 , 200x200是生成圖片的大小 ,0.001是視訊的這個時間
但是還有一個很重要的問題那就是,如果視訊是橫著拍攝的那麼圖片的內容也是橫著的,圖片要正得,我想能否獲得視訊的轉了多少度,然後將截得圖片也轉回來,可惜沒找到好的辦法;看了微信,qq等軟體都沒解決;網上有方法解決,那就是ffmpeg-php擴充套件;但是此擴充套件只有PHP5.4的版本,沒有PHP5.5以上的,目前很多人用的都是PHP5,5以上的版本,所以沒法使用,但是Linux有個別資料有PHP5.5以上的,可惜我的伺服器是Windows的沒法嘗試;如果你是,那麼可以嘗試。
如果有大神解決了這個問題,希望留言指導一下;謝謝;