1
votes

I would like to use VrVideoView to show VR video in my Android App. Video is streamed via RTSP protocol. When I try to add such source to VrVideoView I've got

java.net.MalformedURLException: unknown protocol: rtsp

I found this project RTSP-Java-UrlConnection which solve this exception, but shows another one:

ExoPlayerImplInternal: Internal track renderer error.
    com.google.android.exoplayer.ExoPlaybackException: com.google.android.exoplayer.upstream.Loader$UnexpectedLoaderException: Unexpected ClassCastException: com.net.rtsp.RtspURLConnection cannot be cast to java.net.HttpURLConnection
        at com.google.android.exoplayer.SampleSourceTrackRenderer.maybeThrowError(SampleSourceTrackRenderer.java:262)
        at com.google.android.exoplayer.SampleSourceTrackRenderer.maybeThrowError(SampleSourceTrackRenderer.java:148)
        at com.google.android.exoplayer.ExoPlayerImplInternal.incrementalPrepareInternal(ExoPlayerImplInternal.java:273)
        at com.google.android.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:203)
        at android.os.Handler.dispatchMessage(Handler.java:98)
        at android.os.Looper.loop(Looper.java:148)
        at android.os.HandlerThread.run(HandlerThread.java:61)
        at com.google.android.exoplayer.util.PriorityHandlerThread.run(PriorityHandlerThread.java:40)
     Caused by: com.google.android.exoplayer.upstream.Loader$UnexpectedLoaderException: Unexpected ClassCastException: com.net.rtsp.RtspURLConnection cannot be cast to java.net.HttpURLConnection
        at com.google.android.exoplayer.upstream.Loader$LoadTask.run(Loader.java:235)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:423)
        at java.util.concurrent.FutureTask.run(FutureTask.java:237)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
        at java.lang.Thread.run(Thread.java:818)
     Caused by: java.lang.ClassCastException: com.net.rtsp.RtspURLConnection cannot be cast to java.net.HttpURLConnection
        at com.google.android.exoplayer.upstream.DefaultHttpDataSource.makeConnection(DefaultHttpDataSource.java:384)
        at com.google.android.exoplayer.upstream.DefaultHttpDataSource.makeConnection(DefaultHttpDataSource.java:339)
        at com.google.android.exoplayer.upstream.DefaultHttpDataSource.open(DefaultHttpDataSource.java:189)
        at com.google.android.exoplayer.upstream.DefaultUriDataSource.open(DefaultUriDataSource.java:133)
        at com.google.android.exoplayer.extractor.ExtractorSampleSource$ExtractingLoadable.load(ExtractorSampleSource.java:823)
        at com.google.android.exoplayer.upstream.Loader$LoadTask.run(Loader.java:222)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:423) 
        at java.util.concurrent.FutureTask.run(FutureTask.java:237) 
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) 
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) 
        at java.lang.Thread.run(Thread.java:818) 

It looks like Google VrVideoView accepts only video with HTTP URL. What can I do to use VrVideoView with RTPS source?

1

1 Answers

1
votes

Here is an answer:

We don't have any plans to support live video in VR View. You can roll your own 360 viewer using the lower level GVR View classes, though. Source: https://github.com/googlevr/gvr-android-sdk/issues/217#issuecomment-244588848