FFMPEG周辺の軽量PHPラッパーで、画面を記録します。Seleniumを使用した受け入れテストを記録するのに最適です。これは、使いやすく、OOPインターフェイスをクリーンにします。
テストのビデオを録画することを含む受け入れテストスイートを作成するタスクが与えられました。私はタスクとビデオ録画のためにSeleniumを使用していましたが、このライブラリを作成したのはエレガントなソリューションを見つけることができませんでした。
このライブラリの最良の機能の1つは、使いやすさです。
startRecordingメソッドは、ユーザーが録音を開始したいときに呼び出され、その後、このライブラリはバックグラウンドでビデオ録画を開始します。ユーザーがタスクを完了したとき、録音を停止するためにstopRecordingを呼び出すことができます。
ライブラリは、作曲家を介してパッケージとして簡単にインストールできます。
composer require dawood/phpscreenrecorder
それだけです、インストールには他に何も必要ありません
例フォルダーにも提供されている例があります。
Composer Autoloaderをコードベースのどこかに含めるようにしてください。
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このメソッドを呼び出してください。すべての目的のオプションを設定した後、
これにより、画面録音が開始されます。このメソッドは、2つのオプションの引数を受け入れます。まず、ビデオファイルを保存するための目的の場所と、プロセスを開始した後に睡眠の秒数を保存します。これは、FFMPEGがレコーディングを開始するのに1〜2秒かかるため、これは便利です。これのデフォルト値は2秒です。要件に応じてこれを変更することができます。
これをstopRecording 、画面録音が停止します。また、この方法は、プロセスを開始した後、1つのオプションの引数、つまり睡眠の秒数を実行することもできます。これは、FFMPEGがレコーディングを開始するのに1〜2秒かかるため有用です。
getVideo保存されたビデオファイルを返します。
このライブラリのsetBinaryすべてが既に含まれているため、バイナリは必要ありませんが、他のバイナリを使用する必要がある場合は、この方法を使用して提供できます。
getCommandToRunライブラリによって実行される生成されたコマンドを返します。
これは、オプションの設定方法を確認したり、デバッグしたりするのに役立ちます。
getOptions 、すべてのセットオプションの配列を返します。
getBinary 、現在設定されているバイナリファイル、つまりffmpegを返します。
PHPスクリーンレコーダーは、MITライセンスに基づいてライセンスされているオープンソースソフトウェアです。
すべての貢献者のおかげで、このリポジトリをフォークしてプルリクエストを送ってください
Dawood Ikhlaqとオープンソースコミュニティ