【问题标题】:Playing RTSP links in Android在 Android 中播放 RTSP 链接
【发布时间】:2014-01-04 11:43:35
【问题描述】:

我有一个视频链接列表,其中一些是 http://,一些是 rtsp://。

所以,我创建了一个方法来调用 android 中的本机视图来播放视频。它适用于 http,但对于 rtsp 却失败了。实际上,这给了我一个错误,这对知道 rtps 是受支持的媒体格式 (http://developer.android.com/guide/appendix/media-formats.html) 没有帮助

String url = (String) v.getTag();
            Intent intent = new Intent(android.content.Intent.ACTION_VIEW);
            Uri data = Uri.parse(url);
            intent.setDataAndType(data, "video/*");
            startActivity(intent);

有什么想法吗?

【问题讨论】:

  • 可以发布 url 的示例值
  • 网址是动态的,因为它是实时流。因此,一旦流完成,它可能无法访问。
  • @Martin Cazares 是对的。即使我也面临同样的问题。

标签: android rtsp


【解决方案1】:

RTSP 是一种受防火墙严重影响的通信协议,http 可以正常工作而 rtsp 不能正常工作,这意味着您的防火墙可能会阻止该内容,并且您获得的 rtsp 提要可能配置为使用 UDP,以便确保您正确获取 rtsp 数据,您应该更改路由器配置以不阻止该信息,请记住 rtsp 可以使用 UDP 或 TCP 作为传输层并相应地受到安全系统的影响。

希望这会有所帮助。

问候!

【讨论】:

  • 好吧,我收到了这个错误:没有找到处理 Intent 的活动 { act=android.intent.action.VIEW dat=rtsp://XXXX/live/4fbd1d3c_0777_4eb1_08d0_d6cb8c68bf4b_20140103_134805 typ=video/ }* 我把主机名改成了XXX。这告诉我它没有将 rtsp 识别为有效协议
  • 是的,这意味着您没有获取数据,有两种方法可以解决该问题 1.- 如果您有权访问媒体服务器配置,您可以强制它使用 TCP 传输协议或 2 .- 降低您的安全设置以允许 UDP 内容
  • 谢谢马丁。我现在将与系统管理员交谈。希望它有效。我会及时通知你。
【解决方案2】:

试试这个代码:

    VideoView videoView = (VideoView) findViewById(R.id.videoView1);
    MediaController mediaController = new MediaController(this);
    mediaController.setAnchorView(videoView);
    mediaController.setMediaPlayer(videoView);

    Uri video = Uri.parse("your_RTSP_link");
    videoView.setMediaController(mediaController);
    videoView.setVideoURI(video);
    videoView.start();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-08
    • 2011-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多