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和开源社区