Un emballage PHP léger autour de FFMPEG pour enregistrer l'écran, mieux pour enregistrer vos tests d'acceptation à l'aide du sélénium, il est facile à utiliser et à nettoyer l'interface OOP.
On m'a donné la tâche de faire une suite de test d'acceptation qui comprenait l'enregistrement des vidéos des tests. J'utilisais du sélénium pour la tâche et pour l'enregistrement vidéo, cependant, je n'ai pas pu trouver une solution élégante, c'est pourquoi j'ai créé cette bibliothèque.
L'une des meilleures fonctionnalités de cette bibliothèque est sa facilité d'utilisation.
La méthode startRecording est appelée lorsque l'utilisateur souhaite démarrer l'enregistrement après quoi cette bibliothèque commencera l'enregistrement vidéo en arrière-plan. Lorsque l'utilisateur a terminé sa tâche, il peut appeler stopRecording pour arrêter l'enregistrement.
La bibliothèque est facilement installée comme un package via le compositeur:
composer require dawood/phpscreenrecorder
C'est tout, rien d'autre n'est requis pour l'installation
Il existe également des exemples dans le dossier Exemples.
Assurez-vous que vous incluez le compositeur Autoloader quelque part dans votre base de code.
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 );
} La commande ffmpeg shell peut accepter différentes options: pour une liste complète des options que vous pouvez visiter: http://ffmpeg.org/ffmpeg.html
setOptions accepte les options dans le tableau. Vous pouvez fournir n'importe quelle option de manière suivante: $ options [ ' -show_region ' =>' 1 ']
$ screenRecorder -> setOptions ( $ options );Remarque: vous devez écrire une option complète comprenant "-",
Je devais faire de cette façon car il y a certaines options qui ont besoin "-" Ceci et d'autres qui ne sont pas difficiles à savoir pour quelle option je dois définir ce que vous devez fournir une option complète.
setScreenSizeToCapture Taille pour capturer, il accepte deux arguments, la première étant la largeur et l'autre étant la hauteur.
startRecording appelle cette méthode après avoir défini toutes les options souhaitées,
Cela commencera l'enregistrement de l'écran. La méthode accepte deux arguments facultatifs, d'abord l'emplacement souhaité pour enregistrer le fichier vidéo et deuxièmement le nombre de secondes pour dormir après le début du processus. Ceci est utile car FFMPEG prend 1 à 2 secondes pour démarrer l'enregistrement, la valeur par défaut pour cela est de 2 secondes. Vous pouvez le modifier en fonction de vos exigences.
stopRecording Cela arrêtera l'enregistrement de l'écran. La méthode peut également prendre un argument facultatif, le nombre de secondes pour dormir après le début du processus. Ceci est utile car FFMPEG prend 1-2 secondes pour démarrer l'enregistrement.
getVideo renvoie le fichier vidéo enregistré.
setBinary pour cette bibliothèque, vous n'avez pas besoin de binaire car tout est déjà inclus, cependant, si vous avez besoin d'utiliser un autre binaire, vous pouvez lui fournir en utilisant cette méthode.
getCommandToRun renvoie la commande générée qui sera exécutée par bibliothèque.
Ceci est utile pour vérifier comment vous avez défini les options ou pour déboguer.
getOptions renvoie un tableau de toutes les options de jeu.
getBinary Renvoie le fichier binaire actuellement défini IE FFMPEG.
L' enregistreur d'écran PHP est un logiciel open source sous licence MIT.
Merci à tous les contributeurs, alimentez ce référentiel et envoyez-moi une demande de traction
Dawood Ikhlaq et communauté open source