FFMPEG周圍的輕質PHP包裝紙記錄屏幕,最好使用Selenium記錄您的接受測試,它易於使用和清潔OOP接口。
我被賦予了製作接受測試套件的任務,其中包括錄製測試的視頻。我當時使用硒來完成任務和視頻錄製,但是,我找不到一個優雅的解決方案,這就是為什麼我創建了這個庫的原因。
該庫的最佳功能之一是易用性。
當用戶想要啟動錄製時,請調用startRecording方法,然後該庫將在後台啟動視頻錄製。用戶完成任務後,他們可以調用stopRecording以停止記錄。
該庫可以通過作曲家輕鬆安裝作為軟件包:
composer require dawood/phpscreenrecorder
就是這樣,安裝不需要
示例文件夾中也提供了一些示例。
確保您在代碼庫中的某個地方包括作曲家自動加載器。
include " ../vendor/autoload.php " ;
use dawood PhpScreenRecorder ScreenRecorder ;
$ screenRecorder = new ScreenRecorder ();
$ screenRecorder -> setScreenSizeToCapture ( 1920 , 1080 );
$ screenRecorder -> startRecording ( __DIR__ . DIRECTORY_SEPARATOR . ' myVideo ' );
sleep ( 5 + 2 ); //doing random stuff
//when done stop recording
$ screenRecorder -> stopRecording ();
print " video is saved at : "" . $ screenRecorder -> getVideo (). ' " ' . PHP_EOL ; public function testLoginUserCorrectly ()
{
$ this -> screenRecorder -> setScreenSizeToCapture ( 1920 , 1080 );
$ this -> screenRecorder -> startRecording ( __DIR__ . " /videos/loginCorrectly.flv " , 2 );
$ loginInput = [
' username ' => ' test ' ,
' password ' => ' password '
];
$ this -> visit ( ' / ' )
-> submitForm ( " #loginform > form " , $ loginInput )
-> wait ( 3 )
-> see ( " Logout " )
-> wait ( 2 );
$ this -> screenRecorder -> stopRecording ( 0 );
}ffmpeg Shell命令可以接受不同的選項:對於完整的選項列表,您可以訪問:http://ffmpeg.org/ffmpeg.html
setOptions接受數組中的選項。您可以通過以下方式提供任何選項: $ options [ ' -show_region ' =>' 1 ']
$ screenRecorder -> setOptions ( $ options );注意:您必須編寫完整選項,包括“ - ”,
我必須這樣做,因為有一些需要“ - ”的選項“ - ”,而這些選擇很難知道我必須設置哪個選項,這就是為什麼您必須提供完整的選項。
setScreenSizeToCapture屏幕尺寸要捕獲,它接受兩個參數,第一個參數是寬度,另一個是高度。
設置所有所需選項後, startRecording致電此方法,
這將啟動屏幕錄製。該方法接受兩個可選的參數,首先是保存視頻文件的所需位置,其次是啟動該過程後入睡的秒數。這很有用,因為FFMPEG需要1-2秒才能啟動錄製,因此默認值為2秒。您可以根據您的要求進行更改。
stopRecording這將停止屏幕錄製。該方法還可以選擇一個可選的參數,即開始過程後要入睡的秒數。這很有用,因為FFMPEG需要1-2秒才能開始錄製。
getVideo返回保存的視頻文件。
對於此庫的setBinary ,您不需要任何二進製文件,因為所有內容都已經包含在內,但是,如果您需要使用其他二進製文件,則可以使用此方法提供它。
getCommandToRun返回將由庫執行的生成命令。
這對於檢查您如何設置選項或調試很有用。
getOptions返回所有設置選項的數組。
getBinary返回當前設置的二進製文件IE FFMPEG。
PHP屏幕錄音機是根據MIT許可證許可的開源軟件。
感謝所有貢獻者,請為此存儲庫,並向我發送拉請請求
Dawood Ikhlaq和開源社區