Skip to content

Commit 4694cf9

Browse files
authored
Update README.md
1 parent 8c78643 commit 4694cf9

1 file changed

Lines changed: 72 additions & 0 deletions

File tree

README.md

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,74 @@
11
# RtspLibrary
22
Android library based on FFMpeg for playing given RTSP endpoint.
3+
4+
## Pipeline
5+
Open RTSP Endpoint --> Find Video Stream --> Read Frame --> Convert to RGB --> Invoke Callback --> Java Interface
6+
| |
7+
|_____________________________________ JNI + FFMpeg __________________________________________|
8+
9+
## Setup
10+
1. In root build.gradle:
11+
```
12+
allprojects {
13+
repositories {
14+
...
15+
maven { url 'https://jitpack.io' }
16+
}
17+
}
18+
````
19+
20+
2. In target module build.gradle
21+
```
22+
dependencies {
23+
compile 'com.github.potterhsu:RtspLibrary:1.0'
24+
}
25+
```
26+
27+
## Usage
28+
29+
1. Initialize
30+
```java
31+
ImageView ivPreview = (ImageView) findViewById(R.id.ivPreview);
32+
RtspClient rtspClient = new RtspClient(new NativeCallback() {
33+
@Override
34+
public void onFrame(final byte[] frame, final int nChannel, final int width, final int height) {
35+
ivPreview.post(new Runnable() {
36+
@Override
37+
public void run() {
38+
int area = width * height;
39+
int pixels[] = new int[area];
40+
for (int i = 0; i < area; i++) {
41+
int r = frame[3 * i];
42+
int g = frame[3 * i + 1];
43+
int b = frame[3 * i + 2];
44+
if (r < 0) r += 255;
45+
if (g < 0) g += 255;
46+
if (b < 0) b += 255;
47+
pixels[i] = Color.rgb(r, g, b);
48+
}
49+
Bitmap bmp = Bitmap.createBitmap(pixels, width, height, Bitmap.Config.ARGB_8888);
50+
ivPreview.setImageBitmap(bmp);
51+
}
52+
});
53+
}
54+
});
55+
```
56+
57+
2. Play
58+
```java
59+
new Thread(new Runnable() {
60+
@Override
61+
public void run() {
62+
rtspClient.play("");
63+
}
64+
}).start();
65+
```
66+
67+
3. Stop and release
68+
```java
69+
rtspClient.stop();
70+
rtspClient.dispose();
71+
```
72+
73+
## Demo
74+
Clone the repository and run.

0 commit comments

Comments
 (0)