Также есть возможность использовать библиотеку libstreaming (https://github.com/fyhertz/libstreaming)
Документация на Github дает вам пример того, как вы настраиваете сервер, но в основном вам нужно добавить net.majorkernelpanic.streaming.gl.SurfaceView в свой макет.
<net.majorkernelpanic.streaming.gl.SurfaceView
android:id="@+id/surface"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
Добавьте это в свой манифест
<service android:name="net.majorkernelpanic.streaming.rtsp.RtspServer"/>
Включите библиотеку libstreaming. Если вы работаете с более новой версией Android Studio, вам необходимо клонировать libstreaming как отдельный проект и модуль импорта. После этого необходимо запустить сборку build.gradle в libstreaming. Тогда вы сможете работать с этой библиотекой.
Последний шаг - создать Activity. Простейший вариант выглядит так:
public class RemoteStreamingActivity extends Activity {
private SurfaceView mSurfaceView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_remote_streaming);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
handleGestures();
mSurfaceView = (SurfaceView) findViewById(R.id.surface);
SessionBuilder.getInstance()
.setSurfaceView(mSurfaceView)
.setPreviewOrientation(90)
.setContext(getApplicationContext())
.setAudioEncoder(SessionBuilder.AUDIO_NONE)
.setVideoEncoder(SessionBuilder.VIDEO_H264);
this.startService(new Intent(this,RtspServer.class));
}
@Override
public void onDestroy() {
super.onDestroy();
this.stopService(new Intent(this, RtspServer.class));
}
}
Если вы хотите проверить, работает ли rstp-сервер, вы можете попробовать использовать VLC и подключиться через URL: rstp: // {ipAddressOfYourDevice}: 8086? H264 = 200-20-320-240
person
Jakub Balhar
schedule
02.11.2016