php ffmpeg 視訊擷取

crazyfy發表於2021-11-27

1. 為專案安裝FFmpeg :

composer require php-ffmpeg/php-ffmpeg

2. windows系統安裝 FFmpeg:

FFmpeg官網連結 :ffmpeg.org/download.html#build
windows系統下需要下載二進位制檔案,我選擇通過紅色框選出進入新的頁面下載。

官網下載頁面

下載頁面

3. 解壓並複製bin目錄,將FFmpeg新增只環境變數

4. 測試新增是否成功

5. 程式碼中可以直接使用

<?php

namespace App\Http\Controllers;

use FFMpeg\Coordinate\TimeCode;
use FFMpeg\FFMpeg;
use FFMpeg\Format\Video\X264;
use Illuminate\Http\Request;

class IndexController extends Controller
{
    //
    public function videoCapture(){

        $ffmpeg = FFMpeg::create([
            'ffmpeg.binaries' => 'D:\ffmpeg\bin\ffmpeg.exe',
            'ffprobe.binaries' => 'D:\ffmpeg\bin\ffprobe.exe',
            'timeout' => 0,
            'ffmpeg.threads' => 12
        ]);

        $video = $ffmpeg->open(public_path('demo.mp4'));
        // $video->clip(開始時間, 持續時間)
        $clip = $video->clip(TimeCode::fromSeconds(10), TimeCode::fromSeconds(5));

        $clip->save(new X264(), public_path('capture_video.mp4'));

        return "視訊轉碼成功";
    }
}

6. 視訊轉碼成功

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章