php獲取視頻縮略圖

1.linux服務(wù)器

2.php版本7.2.18

3.thinkphp框架5.1.37

4.使用軟件FFmpeg(20190624最新版)

1)FFmpeg 官網(wǎng)[https://ffmpeg.org/download.html](https://ffmpeg.org/download.html)

2)下載地址[https://johnvansickle.com/ffmpeg/](https://johnvansickle.com/ffmpeg/)
image

根據(jù)自己需求選擇,下載后上傳到服務(wù)器,或復(fù)制下載地址使用wget命令直接下載


ffmpeg-git-amd64-static.tar.xz//下載的文件

使用xz命令解壓


xz -d ffmpeg-git-amd64-static.tar.xz

解壓后得到.tar文件,使用tar命令解壓


ffmpeg-git-amd64-static.tar

tar -zxvf ffmpeg-git-amd64-static.tar

將解壓后的文件移動到自己設(shè)置的目錄以備后用——linux安裝ffmpeg完成

thinkphp安裝php-ffmpeg擴(kuò)展(使用composer安裝)


composer require php-ffmpeg/php-ffmpeg

安裝后,在自己使用的控制器里引入


use FFMpeg\FFMpeg;

use FFMpeg\Coordinate\TimeCode;

使用代碼


$ffmpeg = FFMpeg::create(array(

    'ffmpeg.binaries'  => '/opt/ffmpeg/ffmpeg',//服務(wù)器ffmpeg安裝路徑下的文件

    'ffprobe.binaries' => '/opt/ffmpeg/ffprobe'//服務(wù)器ffmpeg安裝路徑下的文件

));

$videoname = config('kj_url')."/uploads/video/".$info->getSaveName();//視頻地址

$video = $ffmpeg->open($videoname);

$frame = $video->frame(TimeCode::fromSeconds(1));//獲取第幾幀

$filename = time().".jpg";//獲取圖片命名

$frame->save($filename);//獲取圖片

$dirname = date("Ymd");//設(shè)置日期文件夾

if (!is_dir("uploads/video/img/$dirname")){//是否已有文件夾

    mkdir("uploads/video/img/$dirname");//沒有則新建文件夾

}

copy($filename,"uploads/video/img/$dirname/$filename"); //拷貝到新目錄

unlink($filename); //刪除舊目錄下的文件

移動圖片位置時注意文件權(quán)限問題

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容