Чтобы проверить третий вариант (gstreamer), вы можете использовать это приложение: https://play.google.com/store/apps/details?id=pl.effisoft.rpicamviewer2. Вы также можете открыть GStreamer просмотра из кода, используя следующий код:
Intent intent = new Intent("pl.effisoft.rpicamviewer2.PREVIEW");
int camera =0;
//--------- Basic settings
intent.putExtra("full_screen", true);
intent.putExtra("name"+camera, "My pipeline name");
intent.putExtra("host"+camera, "192.168.0.1");
intent.putExtra("port"+camera, 5000);
intent.putExtra("description"+camera, "My pipeline description");
intent.putExtra("uuid"+camera, UUID.randomUUID().toString());
intent.putExtra("aspectRatio"+camera, 1.6);
intent.putExtra("autoplay"+camera, true);
//--------- Enable advanced mode
intent.putExtra("advanced"+camera, true); //when advanced=true, then custom_pipeline will be played
//when advanced=false, then pipeline will be generated from host, port (use only for backward compatibility with previous versions)
intent.putExtra("custom_pipeline"+camera, "videotestsrc ! warptv ! autovideosink");
//--------- Enable application extra features
intent.putExtra("extraFeaturesEnabled"+camera, false);
//--------- Add autoaudiosink to featured pipeline
intent.putExtra("extraFeaturesSoundEnabled"+camera, false);
//--------- Scale Video Stream option
intent.putExtra("extraResizeVideoEnabled"+camera, false);
intent.putExtra("width"+camera, 320); //used only when extraResizeVideoEnabled=true
intent.putExtra("height"+camera, 200); //used only when extraResizeVideoEnabled=true
//--------- Add plugins
ArrayList<String> plugins = new ArrayList<String>();
intent.putExtra("plugins"+camera, plugins);
intent.setPackage("pl.effisoft.rpicamviewer2");
startActivityForResult(intent, 0);
Чтобы добавить несколько деталей, я хочу, чтобы получить поток на Samsung Galaxy Tab 10.1 (под управлением Android 3.2 Honeycomb) и IP-камера потокового RTSP видео (TCP по протоколу UDP в формате MPEG-4) с определенным URL-адресом и на выделенном порту no. Теперь предложите вариант из списка ... –
Чтобы обновить прогресс, я попробовал вариант 1 (используя MediaPlayer) с URL-адресом в указанном формате для потока RTSP. Но он падает, бросая исключение IOException «Подготовить не удалось: status = 0x1». Любые идеи по этому поводу? –
Чтобы проверить, поддерживается ли конкретный поток или нет, я проверил сайт Android, и я также установил несколько приложений для Android, таких как VPlayer и IPCamViewer, для проверки потока. Они могут играть без проблем. Это означает, что поддерживается формат видео, и где еще может быть проблема? –