Android 4.x 是否支持通过 TCP 传输 RTSP 流?

2024-01-12

我已经在 Android 中使用 VideoView 在 wowza 上成功播放视频。现在我要处理我的服务器,UDP 端口似乎被阻止。以openRTSP命令证明:

-> % openRTSP rtsp://61.218.52.250:554/live/ch00_0

Opening connection to 61.218.52.250, port 554...
...remote connection opened
Sending request: OPTIONS rtsp://61.218.52.250:554/live/ch00_0 RTSP/1.0
CSeq: 2
User-Agent: openRTSP (LIVE555 Streaming Media v2013.12.16)


Received 105 new bytes of response data.
Received a complete OPTIONS response:
RTSP/1.0 200 OK
CSeq: 2
Server: UBNT Streaming Server v1.2
Public: DESCRIBE, SETUP, TEARDOWN, PLAY


Sending request: DESCRIBE rtsp://61.218.52.250:554/live/ch00_0 RTSP/1.0
CSeq: 3
User-Agent: openRTSP (LIVE555 Streaming Media v2013.12.16)
Accept: application/sdp


Received 562 new bytes of response data.
Received a complete DESCRIBE response:
RTSP/1.0 200 OK
CSeq: 3
Server: UBNT Streaming Server v1.2
Content-Base: rtsp://61.218.52.250:554/live/ch00_0/
Content-Type: application/sdp
Content-Length: 393

v=0
o=- 1 1 IN IP4 127.0.0.1
s=Ubiquiti Live
i=UBNT Streaming Media
c=IN IP4 0.0.0.0
t=0 0
m=video 0 RTP/AVP 99
b=AS:50000
a=framerate:25
a=x-dimensions:1280,720
a=x-vendor-id:ubnt,a521
a=x-rtp-ts:4617405454576779984
a=rtpmap:99 H264/90000
a=fmtp:99 profile-level-id=42A01E;packetization-mode=1;sprop-parameter-sets=Z0IAKOkAoAt1xIAG3dAAzf5gDYgQlA==,aM4xUg==
a=control:trackID=0

Opened URL "rtsp://61.218.52.250:554/live/ch00_0", returning a SDP description:
v=0
o=- 1 1 IN IP4 127.0.0.1
s=Ubiquiti Live
i=UBNT Streaming Media
c=IN IP4 0.0.0.0
t=0 0
m=video 0 RTP/AVP 99
b=AS:50000
a=framerate:25
a=x-dimensions:1280,720
a=x-vendor-id:ubnt,a521
a=x-rtp-ts:4617405454576779984
a=rtpmap:99 H264/90000
a=fmtp:99 profile-level-id=42A01E;packetization-mode=1;sprop-parameter-sets=Z0IAKOkAoAt1xIAG3dAAzf5gDYgQlA==,aM4xUg==
a=control:trackID=0

Created receiver for "video/H264" subsession (client ports 63346-63347)
Sending request: SETUP rtsp://61.218.52.250:554/live/ch00_0/trackID=0 RTSP/1.0
CSeq: 4
User-Agent: openRTSP (LIVE555 Streaming Media v2013.12.16)
Transport: RTP/AVP;unicast;client_port=63346-63347


Received 47 new bytes of response data.
Received a complete SETUP response:
RTSP/1.0 461 Unsupported Transport
CSeq: 4


Failed to setup "video/H264" subsession: 461 Unsupported Transport

搜索了一圈后我发现似乎Android 仍然不支持基于 TCP 的 RTSP http://www.wowza.com/forums/content.php?62#device:

使用 RTSP/RTP 流式传输到 Android 设备时,RTP 部分 必须通过 UDP 传输。 Android 不支持 RTSP/RTP 交错 (RTP 通过 TCP)。这意味着如果 UDP 无法用于 RTP 播放,则 RTP 通过 TCP 的传输无法作为故障转移,并且您的流将无法播放。

考虑到它是在 2010 年发布的,Android 4.x 现在支持 RTSP over TCP 吗?我发现很多帖子询问如何强制通过 TCP(而不是 UDP)传输。我想不是。

如果没有,我可以通过重新编译和使用 ffmpeg 库来实现吗?

基本上我希望 ffmpeg 可以帮助我在 UDP 不可用时自动切换到 TCP。


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 4.x 是否支持通过 TCP 传输 RTSP 流? 的相关文章

  • gradle更新后无法找到方法(无法编译项目)

    我尝试将项目中的 gradle 版本更新为 4 1 milestone 1 以下这些说明 https developer android com studio build gradle plugin 3 0 0 migration html
  • android edittext中的字符映射

    我想让我的编辑文本就像我写字符 g 时一样 它是相关的映射自定义字符应该写成印地语中的 我认为应该有字符映射 但没有知识任何人都可以帮助我 怎么做 其他应用程序https play google com store apps details
  • Cheesesquare:enterAlways 会产生错误的布局

    Adding enterAlways到 Cheesesquare 演示的滚动标志
  • 如何使用 Google Maps for Android V2 处理地图移动结束?

    我想在地图中心更改后立即对地址进行地理编码 如何使用新的 Android 版 Google 地图 V2 处理地图移动 我说的是用户用手指拖动地图的情况 查看新的地图 API Override public void onMapReady G
  • Android WebView里面的ScrollView只滚动scrollview

    在我的应用程序中 我有一个 ScrollView 其中包含一些线性视图 一些文本视图和一个 Webview 然后是其他线性布局等 问题是 WebView 不滚动 Scroll 仅侦听 ScrollView 有什么建议么
  • 以编程方式将文本颜色设置为主要 Android 文本视图

    如何设置我的文本颜色TextView to android textColorPrimary以编程方式 我已经尝试了下面的代码 但它将 textColorPrimary 和 textColorPrimary Inverse 的文本颜色始终设
  • 在 Cordova 应用程序中获取额外功能

    我们有两个 Android 应用程序 一个使用本机 Java 实现 另一个使用 Ionic 编写 Ionic 应用程序启动我的应用程序 这是使用灯插件 https github com lampaa com lampa startapp 我
  • Android:后台Activity可以执行代码吗?

    后台的活动是否被视为 正在运行 并且可以执行代码 还是处于挂起状态 他们暂停了 活动生命周期 http developer android com reference android app Activity html ActivityLi
  • 为什么是 javascript:history.go(-1);无法在移动设备上工作?

    首先 一些背景 我有一个向用户呈现搜索页面 html 表单 的应用程序 填写标准并单击 搜索 按钮后 结果将显示在标准部分下方 在结果列表中 您可以通过单击将您带到新页面的链接来查看单个结果的详细信息 在详细信息页面中 我添加了一个 返回结
  • Android 手机作为 GSM 调制解调器在 PC 上发送/接收短信?

    是否可以将 Android 移动设备用作 PC 上的 GSM 调制解调器 我正在 net下开发应用程序来发送 接收短信等 现在我想通过 USB 将我的 Android 设备连接到我的 PC 并将其用作 GSM 调制解调器来与其通信 这里是参
  • Android - AudioRecord类不读取数据,audioData和fftArray返回零

    我是 Android 新手 一直在开发音调分析器应用程序 最低 SDK 8 我读了很多关于如何实现 Audiorecord 类的文章 但我想知道为什么它在我录制时不读取任何数据 我尝试显示 audioData 和 fftArray 的值 但
  • Android 中如何通过彩信发送图片?

    我正在开发多媒体应用程序 我正在通过相机捕获一张图像 并希望将该图像和文本发送到其他号码 但我不知道如何通过彩信发送图像 MMS 只是一个 http post 请求 您应该使用执行请求额外的网络功能 final ConnectivityMa
  • 我应该释放或重置 MediaPlayer 吗?

    我有自己的自定义适配器类 称为 WordAdapter 并且我正在使用媒体播放器 名为pronounce WordAdapter 类中的全局变量 我有不同的活动 其中每个列表项都有线性布局 名为linearLayout 我正在设置onCli
  • OnLongClickListener 不工作

    我有一个ImageView 我需要使用onLongClickListener对于图像视图 当我使用这段代码时 什么也没有发生 Code gallery Gallery findViewById R id gall1 gallery setA
  • Android 如何将总天数准确更改为年、月、日?

    我正在做一个应用程序 该应用程序与根据给定的生日日期输入获取一个人的年龄有关 为此 我从下面的代码中获取从该日期到当前日期的总天数 String strThatDay 1991 05 10 SimpleDateFormat formatte
  • Android 中的处理程序与异步调用

    目前我正在使用处理程序来调用 Web 服务方法以使其在后台运行 问题是它需要更多的时间来给出响应 在性能方面似乎更昂贵 现在我计划使用异步调用 哪一个是最好的 Android 中的处理程序和异步调用有什么区别 请帮我想出一个最好的解决方案
  • 卡片视图 单击卡片移至新活动

    我是 Android 编程新手 正在研究卡片布局 我想知道如何使其可点击 android clickable true android foreground android attr selectableItemBackground 我的卡
  • 如何检查 Android 中的同步设置

    我正在构建一个 Android 应用程序 我需要检查设备中注册的每个单独帐户的同步设置 我知道我可以通过 ContentResolver 类来做到这一点 但我遇到了一些问题 我已设法获取设备上所有帐户的列表 但我不知道在运行时从哪里获取特定
  • CamcorderProfile.videoCodec 返回错误值

    根据docs https developer android com reference android media CamcorderProfile html 您可以使用CamcorderProfile获取设备默认视频编解码格式 然后将其
  • Android:如何从网络异步获取搜索建议?

    我创建了一个可搜索的活动 现在 我想添加从网络服务获取的搜索建议 我想异步获取这些建议 根据添加自定义建议 http developer android com guide topics search adding custom sugge

随机推荐

  • R ffdfdply 分割问题

    我对 R 的 ffdfdply 函数有疑问 a as ffdf data frame b 11 20 c c 4 4 4 4 4 5 5 5 5 5 d c 1 1 1 0 0 0 1 0 1 1 ffdfdply a split a c
  • 标准化 URI 以仅提取域名的最佳方法是什么?

    例如 http www google co uk www google co uk google co uk 将全部转换为 google co uk 我本来想使用 System Uri 类 但这似乎只接受带有方案的 url 提取域名很简单
  • Swift:将一组字典扁平化为一个字典

    在 Swift 中 我试图将一组字典扁平化为一个字典 IE let arrayOfDictionaries key1 value1 key2 value2 key3 value3 key4 value4 the end result wil
  • 为什么 Angular Google 地图中的 元素需要 ng-non-bindable?

    我有一个关于的元素角度谷歌地图 http angular ui github io angular google maps api插入 Windows 元素文档中的示例源代码使用ng non bindable属性为 div 里面的 div
  • 突出显示表格行

    我有以下表结构 table tbody tr td Lorem td td Ipsum td td Fierent td tr tr td Lorem ipsum td td pro ut tale erant td td mnesarch
  • 通过发送意图来启动 Android WiFi 管理器?

    我正在开发一个应用程序 我想要一个按钮 打开Android内置的WiFi菜单 我真的不想自己实现扫描和连接代码 我可以发送任何打开此菜单的意图吗 你应该使用ACTION PICK WIFI NETWORK http developer an
  • Nutch 爬取文档的 Elasticsearch 映射面临问题

    使用 nutch 和 elasticsearch 进行爬行时面临一些严重的问题 我们的应用程序中有两个数据存储引擎 MySql 弹性搜索 假设我有 10 个 url 存储在 mysql 数据库的 urls 表中 现在我想在运行时从表中获取这
  • chain(*iterable) 与 chain.from_iterable(iterable) 之间的区别

    我对所有有趣的迭代器着迷itertools 但我遇到的一个困惑是这两个函数之间的区别以及为什么chain from iterable exists from itertools import chain def foo n for i in
  • Chrome 中的 Tab 悬停事件

    chrome 扩展 api 是否提供将鼠标悬停在选项卡上的事件 我无法在文档中找到它 或者也许有一种未记录的方法 目前似乎没有办法做到这一点 我希望他们添加它
  • 单击系统托盘图标 Python Win32

    环境 我在 Windows 7 64 位上使用 Python 2 7 32 位 我正在使用 win32 Api 来制作一个 Windows 自动化工具 我知道有一些工具存在 但我正在制作自己的工具 Problem 我被困在窗户边系统托盘 通
  • 无法将 com.facebook.share.widget.Sharebutton 添加到布局 XML

    我正在尝试在 Android 中使用 Facebook SDK分享内容 https developers facebook com docs sharing android来自我的应用程序的方向 我从这里开始使用以下代码脸书文档 https
  • 使用Webpack基于环境进行条件构建

    我有一些需要开发的东西 例如模拟 我不想用它来膨胀我的分布式构建文件 在 RequireJS 中 您可以在插件文件中传递配置 并基于该配置有条件地要求内容 对于 webpack 似乎没有办法做到这一点 首先为我使用的环境创建运行时配置解析别
  • Bootstrap网格列清除

    我很难理解 Bootstrap 中的列 ClearFix 结构 我正在尝试创建一个卡片布局 它需要布局中的行都具有相同的高度 但每个条目中的内容不一定相同 您可以在这里查看我正在做的事情的示例 https demo eap soa com
  • Windows Phone 7 麦克风可以检测 18k-19kHz 范围内的频率吗?

    Windows Phone 7 内置麦克风可以检测到高于 18kHz 的频率吗 从技术上讲是的 API 支持以足够的质量记录 PCM 以表达 18kHz 正弦波 标准 POTS 线路甚至 T1 线路通常以 8 kHz 16 位运行 这在数学
  • 我可以在 emacs lisp 宏中添加条件吗?

    如何实现这样的目标 defmacro mood x if equal symbol name x t defun happy message Happy defun sad message Sad 我的目标是根据参数创建不同的函数 这样做有
  • debugger-ruby_core_source gem 没有提供 ruby​​-1.9.2-p321 的源代码

    我最近更新到小牛队 添加了 xcode 的命令行工具 尝试了 捆绑更新调试器 以及我发现的所有其他修复 包括此 rake add source 以包含此处找到的适当标头 http sponsorpay github io blog 2012
  • React-router 和 Next.js 有什么不同

    我目前正在研究 ReactJS 我看见NextJS https nextjs org and 反应路由器 https reacttraining com react router web guides quick start 谁能告诉我两者
  • openid url 列表 [重复]

    这个问题在这里已经有答案了 可能的重复 在哪里可以找到 OpenID 提供商 URL 列表 https stackoverflow com questions 1116743 where can i find a list of openi
  • 将一个元素推送到php中多维数组中的每个数组?

    这是我的数组 myArr array array one two array one two 我想向其中的每个数组添加一个元素 myArr 我不想循环遍历内部的每个数组并添加该元素 有没有更快的方法来实现这一点数组映射 or 数组行走 最好
  • Android 4.x 是否支持通过 TCP 传输 RTSP 流?

    我已经在 Android 中使用 VideoView 在 wowza 上成功播放视频 现在我要处理我的服务器 UDP 端口似乎被阻止 以openRTSP命令证明 gt openRTSP rtsp 61 218 52 250 554 live