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 を別のプロジェクトとして複製し、モジュールをインポートする必要があります。その後、libstreaming で build.gradle に対してビルドを実行する必要があります。次に、このライブラリを操作できます。
最後のステップは、アクティビティを作成することです。最も簡単な例は次のとおりです。
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