غلاف PHP خفيف الوزن حول FFMPEG لتسجيل الشاشة ، الأفضل لتسجيل اختبارات القبول الخاصة بك باستخدام السيلينيوم ، من السهل الاستخدام وتنظيف واجهة 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 Size لالتقاط ، يقبل وسيطتين الأول هما العرض والآخر هو الارتفاع.
استدعاء startRecording هذه الطريقة بعد تعيين جميع الخيارات المطلوبة ،
سيبدأ هذا تسجيل الشاشة. تقبل الطريقة وسيطتين اختياريتين ، أولاً الموقع المطلوب لحفظ ملف الفيديو وثانياً عدد الثواني للنوم بعد بدء العملية. هذا مفيد لأن FFMPEG يستغرق 1-2 ثانية لبدء التسجيل ، والقيمة الافتراضية لهذا 2 ثانيتين. يمكنك تغيير هذا وفقًا لمتطلباتك.
stopRecording سيوقف تسجيل الشاشة. يمكن أن تأخذ الطريقة أيضًا وسيطة اختيارية واحدة ، وعدد الثواني للنوم بعد بدء العملية. هذا مفيد لأن FFMPEG يستغرق 1-2 ثانية لبدء التسجيل.
getVideo إرجاع ملف الفيديو المحفوظ.
setBinary لهذه المكتبة ، لا تحتاج إلى أي ثنائي حيث يتم تضمين كل شيء بالفعل ، ومع ذلك ، إذا كنت بحاجة إلى استخدام أي ثنائي آخر يمكنك توفيره باستخدام هذه الطريقة.
getCommandToRun يعيد الأمر الذي تم إنشاؤه والذي سيتم تنفيذه بواسطة المكتبة.
يعد هذا مفيدًا للتحقق من كيفية تعيين الخيارات أو التصحيح.
تقوم getOptions بإرجاع مجموعة من جميع خيارات المجموعة.
getBinary يعيد الملف الثنائي المحدد حاليًا IE FFMPEG.
مسجل شاشة PHP هو برنامج مفتوح المصادر مرخصة بموجب ترخيص معهد ماساتشوستس للتكنولوجيا.
بفضل جميع المساهمين ، شوك هذا المستودع وأرسل لي طلب سحب
Dawood Ikhlaq ومجتمع المصدر المفتوح