Vitamio не может воспроизводить потоковую передачу UDP в Android

Я использую библиотеку vitamio для воспроизведения потокового видео в Android. Хотя я могу воспроизвести rtsp потоковую передачу, но не могу воспроизвести udp потоковую передачу.

Я интегрировал vitamio через gradle

compile 'me.neavo:vitamio:4.2.2'

И используя его для действий, подобных следующим

        setContentView(R.layout.activity_main);
        if (!io.vov.vitamio.LibsChecker.checkVitamioLibs(this)) //it will check the include library of Vitamio
            return;

        mVideoView = (VideoView) findViewById(R.id.videoView);
        Vitamio.initialize(this);
        mVideoView.setVideoPath("udp://@192.168.0.104:1234");
        //mVideoView.setVideoPath("rtsp://192.168.0.104:8554/ss");
        mVideoView.setVideoQuality(MediaPlayer.VIDEOQUALITY_HIGH);
        mVideoView.setBufferSize(2048);
        mVideoView.requestFocus();
        mVideoView.start();
        mVideoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
            @Override
            public void onPrepared(MediaPlayer mediaPlayer) {
                mediaPlayer.setPlaybackSpeed(1.0f);
            }


        });
        mVideoView.setOnErrorListener(new MediaPlayer.OnErrorListener() {
            @Override
            public boolean onError(MediaPlayer mp, int what, int extra) {
                return false;
            }
        });

Вот мой код для макета

<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="me.example.vitamiotest.MainActivity">

    <io.vov.vitamio.widget.VideoView
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:id="@+id/videoView"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

</android.support.constraint.ConstraintLayout>

Я безуспешно пытался изменить URL-адрес на udp://@192.168.0.104:1234 (удалив @). Потоковое rtsp работает хорошо.

Следует отметить одну вещь: эти потоки на самом деле не являются прямыми потоками по какому-то удаленному URL-адресу. Я транслирую со своего ПК, используя vlc, а 192.168.0.104 — это локальный IP-адрес моего ПК. В случае rtsp я могу воспроизвести rtsp://192.168.0.104:8554/ss этот URL-адрес, но для udp ничего не сработало, в журнале нет сообщений об ошибках.


person Mithun Sarker Shuvro    schedule 05.08.2017    source источник
comment
Привет Митхун, ты нашел решение этой проблемы?   -  person Casey Perkins    schedule 05.07.2018
comment
нет, позже перешел на VLC   -  person Mithun Sarker Shuvro    schedule 06.07.2018
comment
вы использовали vlc для Android в своем приложении?   -  person Curious Mind    schedule 24.07.2018
comment
@CuriousMind да   -  person Mithun Sarker Shuvro    schedule 25.07.2018
comment
@MithunSarkerShuvro - спасибо, я сделал то же самое, и все работает отлично.   -  person Curious Mind    schedule 26.07.2018
comment
@MithunSarkerShuvro Привет, я тоже использую vlc, но у меня проблема .. не могли бы вы мне помочь? ... через некоторое время видео зависло, а звук в порядке .. вы знаете, как это исправить?   -  person H.Fa8    schedule 06.05.2020


Ответы (1)


попробуйте этот udp поток на своем компьютере или используйте другое программное обеспечение; в моем приложении udp steam работает правильно.

mVideoView.setVideoPath("udp://@238.0.0.1:1234");

person user7341527    schedule 07.12.2017
comment
Можете ли вы предоставить код, чтобы это работало? Я использую что-то похожее на вопрос, и у меня нет ошибок, но до сих пор нет игральных костей... - person Curious Mind; 25.07.2018