title: how to stream rtsp url using exoplayer?
body: <p>I want to stream rtsp video using exoplayer. I am using <a href="https://github.com/brianwernick/ExoMedia" rel="noreferrer">ExoMedia library</a> which is an An Android ExoPlayer wrapper. I have search on stackoverflow but I didn't find any good answer. After some google search I found that exoplayer does not support rtsp stream <a href="https://github.com/google/ExoPlayer/issues/55" rel="noreferrer">issue 55</a>. 
  Is there any way to stream rtsp url using exoplayer?
    Here is my code.</p>
  
  <pre><code>public class MainActivity extends AppCompatActivity implements OnPreparedListener{
      EMVideoView emPlayer;
  
      @Override
      protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.activity_main);
          playVideo();
      }
  
  
      private void playVideo() {
          emPlayer = (EMVideoView)findViewById(R.id.video_view);
          emPlayer.setOnPreparedListener(this);
  
          emPlayer.setVideoURI(Uri.parse("rtsp://184.72.239.149/vod/mp4:BigBuckBunny_115k.mov"));
      }
  
      @Override
      public void onPrepared() {
          emPlayer.start();
          Log.v("TAG","video is playing");
      }
  }
  </code></pre>
  
  <p>Here is my log</p>
  
  <pre><code>com.google.android.exoplayer.ExoPlaybackException: com.google.android.exoplayer.upstream.HttpDataSource$HttpDataSourceException: Unable to connect to rtsp://184.72.239.149/vod/mp4:BigBuckBunny_115k.mov
             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:135)
             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.HttpDataSource$HttpDataSourceException: Unable to connect to rtsp://184.72.239.149/vod/mp4:BigBuckBunny_115k.mov
             at com.google.android.exoplayer.upstream.DefaultHttpDataSource.open(DefaultHttpDataSource.java:191)
             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:422)
             at java.util.concurrent.FutureTask.run(FutureTask.java:237)
             at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
             at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
             at java.lang.Thread.run(Thread.java:818)
          Caused by: java.net.MalformedURLException: Unknown protocol: rtsp
             at java.net.URL.&lt;init&gt;(URL.java:182)
             at java.net.URL.&lt;init&gt;(URL.java:125)
             at com.google.android.exoplayer.upstream.DefaultHttpDataSource.makeConnection(DefaultHttpDataSource.java:330)
             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:422) 
             at java.util.concurrent.FutureTask.run(FutureTask.java:237) 
             at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) 
             at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) 
             at java.lang.Thread.run(Thread.java:818) 
  </code></pre>