php視頻處理(一)

視頻截取某一幀的圖片

  1. 環(huán)境安裝 linux安裝ffmpeg
# 下載壓縮包
$wget https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-i686-static.tar.xz
# 下載對應的md5文件
$wget https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-i686-static.tar.xz.md5
# 驗證壓縮包的md5是否正確,防止文件損壞
$md5sum -c ffmpeg-release-i686-static.tar.xz.md5
# 解壓
$tar xvf ffmpeg-release-i686-static.tar.xz
# 運行
$./ffmpeg-4.2.2-i686-static/ffmpeg
# 如果沒問題,可以將ffmpeg拷貝至系統(tǒng)bin目錄下
$mv ffmpeg-4.2.2-i686-static/ffmpeg ffmpeg-4.2.2-i686-static/ffprobe /usr/local/bin/

  1. composer安裝相關包
$ composer require php-ffmpeg/php-ffmpeg

3.獲取視頻某張圖

    /**
     * 獲取視頻的某一幀圖片
     * 
     * @name    getVideoFrameOfImage
     */
    public static function getVideoFrameOfImage($resource, $second)
    {
        // 資源文件路徑
        $fileInfo = pathinfo($resource);
        $fileNameNoSuffix = $fileInfo['filename'];
        $dirname = $fileInfo['dirname'];
        if (Config::get('app.ffmpeg')) {
            $ffmpeg = FFMpeg::create(Config::get('app.ffmpeg'));
        } else {
            $ffmpeg = FFMpeg::create();
        }

        $video = $ffmpeg->open($resource);
        $frameName = $dirname . '/' . $fileNameNoSuffix . '.jpg';
        $video->frame(\FFMpeg\Coordinate\TimeCode::fromSeconds($second))->save($frameName);

        return $frameName;
    }

參考參考

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

相關閱讀更多精彩內容

友情鏈接更多精彩內容