Android MJPEG video streaming made simple!
A wrapper library around the well known SimpleMjpegView and android-camera-axis projects.
If you have problem to identify your IpCam url, please follow this link
- Default support by
android-camera-axis
- Native support by
SimpleMjpegView
- Handle credentials
- Multiple camera in one activity
- Snapshot
- Video recording
Add to your layout: example
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
// ADD THIS
xmlns:stream="http://schemas.android.com/apk/res-auto"
...>
<com.github.niqdev.mjpeg.MjpegSurfaceView
android:id="@+id/VIEW_NAME"
android:layout_width="match_parent"
android:layout_height="match_parent"
stream:type="stream_default OR stream_native" />
</RelativeLayout>
Read stream in your activity/fragment: example
int TIMEOUT = 5; //seconds
Mjpeg.newInstance()
.credential("USERNAME", "PASSWORD")
.open("IPCAM_URL.mjpg", TIMEOUT)
.subscribe(inputStream -> {
mjpegView.setSource(inputStream);
mjpegView.setDisplayMode(DisplayMode.BEST_FIT);
mjpegView.showFps(true);
});
repositories {
jcenter()
}
dependencies {
compile 'com.github.niqdev:mjpeg-view:1.0.0'
}
You are welcome to add your app to the list!
Download Android NDK:
- manually
- in Android Studio: File > Other Settings > Default Project Structure > download NDK
Compile manually (verify your paths)
$ chmod a+x compileJni.sh
$ ./compileJni.sh