如何在安卓设备上播放RTSP(实时流)链接?

3

我正在尝试播放RTSP直播流的URL“rtsp://164.100.51.207/broadcast/DDLive”。 但是我遇到了错误(1,-1)。

我正在尝试使用以下代码:

VideoView myVideoView = (VideoView) findViewById(R.id.videoPlayer);
         myVideoView.setVideoURI(Uri.parse(url.toString()));        
        myVideoView.setMediaController(new MediaController(this));
         myVideoView.requestFocus();  
        myVideoView.start();

这段代码出现了错误(1,-1)。我无法播放这个链接。如果有人能告诉我如何播放这个url,我将不胜感激。

谢谢。


你在代码中设置了RTSP链接在哪里? - TRonZ
2个回答

2
我尝试在VLC上播放rtsp://164.100.51.207/broadcast/DDLive,但未能成功,以下是我获得的错误信息。
请尝试其他有效链接,例如rtsp://217.146.95.166:554/playlist/ch12zqcif.3gp(一些印度频道)。

嗯,我正在尝试其他能正常播放的RTSP文件。但是,我无法播放这个URL。请给我关于这个URL的任何建议。这个URL在安卓手机上不能播放吗?试试这个rtmp://flashmedia.nic.in:80/live/dd1。 - Jeeva
是的,我认为该服务器挂掉了,因此您无法从任何设备(包括移动设备)访问它。该流也没有工作。 - Soham

2

解决方案建议 -

  1. 使用已在Android上编译的VLC将RTSP流下载到本地文件。
  2. 下载完成后,只需使用本地文件的正常Intent字段值和mp4的MIME类型播放该文件。

下面的代码片段应该可以播放下载的内容。

new Intent(Intent.ACTION_VIEW).setDataAndType(Uri.parse("file:///mnt/sdcard/myfile.mp4"), "video/mp4"); 

安卓上的VLC链接:

http://forum.xda-developers.com/showthread.php?t=1517415 http://code.google.com/p/android-vlc-remote/source/browse/AndroidManifest.xml

从任何YouTube视频获取RTSP链接 - 稍微复杂的过程

如果您按照以下步骤操作,可以将几乎任何YouTube视频流式传输为RTSP:

  1. 获取YouTube视频ID - 如videoID = kgfctMNeDtg
  2. 获取视频ID的YouTube Feed
  3. 查找适当的YouTube格式的rtsp url。 格式1、5、6都有rtsp
  4. 使用HttpClient实例请求rtsp uri

详情:

http://snipplr.com/view/63341/youtube-rtsp-cli-request--audio-track-only-p2/ http://snipplr.com/view/57846/curl--rtsp-to-get-sdp-descriptor-for-media-stream/

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接