Eine leichte PHP -Wrapper um FFMPEG, um den Bildschirm aufzunehmen, das am besten zur Aufzeichnung Ihrer Akzeptanztests mit Selenium aufgezeichnet wird. Es ist einfach zu bedienen und zu reinigen. OOP -Schnittstelle.
Ich erhielt eine Aufgabe, eine Akzeptanz -Testsuite zu erstellen, die die Aufzeichnungsvideos der Tests enthielt. Ich benutzte Selen für die Aufgabe und für die Videoaufzeichnung, konnte jedoch keine elegante Lösung finden, weshalb ich diese Bibliothek erstellt habe.
Eine der besten Funktionen dieser Bibliothek ist die Benutzerfreundlichkeit.
Die startRecording wird aufgerufen, wenn der Benutzer die Aufzeichnung starten möchte. Danach startet diese Bibliothek die Videoaufzeichnung im Hintergrund. Wenn der Benutzer seine Aufgabe erledigt hat, kann er stopRecording anrufen, um die Aufzeichnung zu stoppen.
Die Bibliothek kann einfach als Paket über Komponist installiert werden:
composer require dawood/phpscreenrecorder
Das war's, für die Installation ist nichts anderes erforderlich
Es gibt auch Beispiele in Beispielen.
Stellen Sie sicher, dass Sie den Composer Autoloader irgendwo in Ihre Codebasis einbeziehen.
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 );
} Der Befehl ffmpeg Shell kann verschiedene Optionen akzeptieren: Für eine vollständige Liste der Optionen können Sie besuchen: http://ffmpeg.org/ffmpeg.html
setOptions akzeptiert die Optionen im Array. Sie können eine beliebige Option auf folgende Weise angeben: $ options [ ' -show_region ' =>' 1 ']
$ screenRecorder -> setOptions ( $ options );Hinweis: Sie müssen eine vollständige Option schreiben, einschließlich "-",
Ich musste auf diese Weise tun, weil es einige Optionen gibt, die brauchen "-" Dies und andere, die nicht so schwer wissen, welche Option ich festlegen muss. Deshalb müssen Sie die vollständige Option bereitstellen.
setScreenSizeToCapture -Bildschirmgröße zum Erfassen von zwei Argumenten akzeptiert zwei Argumente, die die erste und andere Höhe sind.
startRecording Rufen Sie diese Methode an, nachdem Sie alle gewünschten Optionen festgelegt haben.
Dadurch wird die Bildschirmaufzeichnung gestartet. Die Methode akzeptiert zwei optionale Argumente, zunächst den gewünschten Speicherort, um die Videodatei zu speichern, und zweitens die Anzahl der Sekunden zum Schlafen nach dem Start des Prozesses. Dies ist nützlich, da FFMPEG 1-2 Sekunden dauert, um die Aufzeichnung zu starten. Der Standardwert dafür beträgt 2 Sekunden. Sie können dies entsprechend Ihren Anforderungen ändern.
Wenn Sie dies stopRecording wird die Bildschirmaufnahme gestoppt. Die Methode kann auch ein optionales Argument aufnehmen, die Anzahl der Sekunden nach dem Start des Prozesses. Dies ist nützlich, da FFMPEG 1-2 Sekunden dauert, um die Aufnahme zu starten.
getVideo gibt die gespeicherte Videodatei zurück.
setBinary Für diese Bibliothek benötigen Sie kein Binärer, da alles bereits enthalten ist. Wenn Sie jedoch eine andere Binärdatei verwenden müssen, können Sie sie mit dieser Methode bereitstellen.
getCommandToRun gibt den generierten Befehl zurück, der von der Bibliothek ausgeführt wird.
Dies ist nützlich, um zu überprüfen, wie Sie die Optionen festgelegt haben oder debuggen.
getOptions gibt eine Reihe aller festgelegten Optionen zurück.
getBinary gibt die derzeit festgelegte Binärdatei IE FFMPEG zurück.
Der PHP-Bildschirmschreiber ist unter der MIT-Lizenz Open-Sourcing-Software lizenziert.
Vielen Dank an alle Mitwirkenden, geben Sie dieses Repository und senden Sie mir eine Pull -Anfrage
Dawood Ikhlaq und Open Source Community