色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

php ffmpeg 切片

陳怡靜1年前8瀏覽0評論
PHP FFMpeg 是一款基于FFmpeg的PHP擴展庫,能夠在PHP的運行環境中使用FFmpeg的功能來進行視頻的編解碼,截取,編輯等操作。其中最常用的功能之一就是視頻切片。下面就來看看如何使用PHP FFMpeg進行視頻切片。 首先是安裝PHP FFMpeg擴展庫,在linux系統中,我們可以通過源碼安裝或通過pecl安裝。在Windows系統中,可以在官網下載dll文件,添加到php.ini中進行擴展。 接下來看如何進行視頻切片,下面以MP4格式的視頻為例: ```php $ffmpeg = FFMpeg\FFMpeg::create(); $video = $ffmpeg->open('video.mp4'); $interval = 10; $duration = $video->getDuration(); $start = 0; $end = $interval; while ($start< $duration) { $clip = $video->clip(\FFMpeg\Coordinate\TimeCode::fromSeconds($start), \FFMpeg\Coordinate\TimeCode::fromSeconds($end)); $format = new FFMpeg\Format\Video\X264(); $format->on('progress', function ($video, $format, $percentage) { echo "$percentage % transcoded"; }); $clip->save($format, 'clip-'.$start.'.mp4'); $start += $interval; $end += $interval; } ``` 以上代碼為對視頻進行每10秒切片,切片后輸出到當前目錄下。其中使用了`FFMpeg\Coordinate\TimeCode`對時間進行操作,`FFMpeg\Format\Video\X264`設置了輸出格式。 另外一種切片方式是按幀數進行切片。下面再看一段代碼: ```php $ffmpeg = FFMpeg\FFMpeg::create(); $video = $ffmpeg->open('video.mp4'); $nbframes = $video->getFrameCount(); $interval = 50; $start = 1; $end = $interval; while ($start< $nbframes) { echo "clipping from $start to $end\n"; $frame = $video->frame($start); $format = new FFMpeg\Format\Video\X264(); $format->on('progress', function ($video, $format, $percentage) { echo "$percentage % transcoded"; }); $frame->save($format, 'frame-'.sprintf('%04d', $start).'.jpg'); $start += $interval; $end += $interval; } ``` 以上代碼為對視頻進行每50幀切片,切片后輸出到當前目錄下,并分別以jpg格式保存每一幀。其中使用了`FFMpeg\Frame`進行切片。 總的來說,PHP FFMpeg 讓我們在PHP環境下方便進行視頻的處理,視頻切片只是其中的常用功能之一,使用起來也非常簡單。希望本篇文章能夠對需要使用PHP FFMpeg的開發者們有所幫助。