Создайте приложение для потоковой передачи в реальном времени для Android

В последнее время у меня проблемы.

Я хочу разработать приложение для Android с встроенным встраиванием, но я просто не знаю, как начать. Я попытался использовать Webview с встроенным тегом livestreaming, но он не работал (скорее всего, поток предоставляется через Flash). Я также попытался использовать компонент VideoView, но он также не работал.

Я знаю, что это возможно, потому что у этих издателей есть свой APP, но формат, который нам предоставляется, обычно является Flash. Не мобильный формат.

Может кто-нибудь, пожалуйста, показать мне какую-либо идею о том, как начать или если есть какое-то обходное решение?

Спасибо заранее!

EDIT:

Что бы я хотел сделать, например, взять этот поток, например: http://new.livestream.com/ATP/lexington2014court1 и показать его внутри моего APP.

Ответ 1

Думаю, я сделал это!

Прежде всего, я действительно использую поток из livestream.com, но прямо сейчас у них нет публичного API для реальной версии, но.... Я получил большую помощь отсюда: API new.livestream.com для получения RTSP

Итак, есть этот вызов API http://new.livestream.com/api/accounts/[account_id]/events/[event_id]/viewing_info

которые возвращают нам JSON. Затем я беру значение "rtsp_url" и помещаю его в свой VideoURI.

Итак, вот он мой код: Пожалуйста, замените "{VIDEO_RTSP_URL}" в приведенном ниже коде со значением "rtsp_url" из полученного вами JSON.

MainActivity.java

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    VideoView videoView = (VideoView) findViewById(R.id.video);
    MediaController mediaController = new MediaController(this);
    mediaController.setAnchorView(videoView);
    mediaController.setMediaPlayer(videoView);

    Uri video = Uri.parse("{VIDEO_RTSP_URL}");
    videoView.setMediaController(mediaController);
    videoView.setVideoURI(video);
    videoView.start();      
}

activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.fcl.videoplay.MainActivity" >

    <VideoView
        android:id="@+id/video"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true" />

</RelativeLayout>

Теперь по какой-то причине потоковая передача не работает, когда я подключаюсь к Wi-Fi, но она работает, когда я нахожусь в 3G (я тестирую на реальном устройстве, а не эмулятор), но это еще одна тема

В целом, если вы используете потоковое сервис, например Livestream.com, они могут предоставить вам что-то вроде этого RTSP_URL через API. Вам, вероятно, просто нужно будет его использовать.