问题标签 [rtsp-client]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1226 浏览

iphone - 不在 iPhone 应用程序中播放 RTSP 直播

我曾使用流式 HTTP 实时流式传输。现在我想尝试使用 RTSP 直播。

但是没有太多的教程或任何示例代码来开始。

还获得了projec dropCam的 Github 链接,但它没有运行,因此我可以看到如何流式传输 RTSP。

还要通过Stackoverflow questions1questions2但仍然空白。

直到现在我已经尝试过,

但不玩。

任何带有示例代码或详细信息的好教程都会有所帮助。

0 投票
0 回答
1011 浏览

c - 使用 libavformat 抓取 rtsp/rtp 流

世界。我正在尝试从 IP 摄像机(实时)中获取 rtsp mjpeg 流,如http://www.inb.uni-luebeck.de/~boehme/using_libavcodec.html中所述,但已移植到较新版本。它适用于 mpeg 文件(将其作为一个 AVPacket 完整加载),但使用流时,avcodec_decode_video2 返回 -1(错误)。在这种情况下,AVPacket 是帧的一部分。

我怎样才能解决这个问题?

0 投票
1 回答
665 浏览

android - HTML Flash 页面中的流式传输在摩托罗拉 Zoom 平板电脑上运行良好,但在 Android WebView 中的 Google TV 上无法运行

我在本地系统上创建了一个小型 Asp.Net 网站,该网站只有一个页面,该页面将 Flash 播放器嵌入到播放在线视频流的页面中。

我使用 Android WebView加载该页面以播放该视频流。

代码如下:

我正在Motorola Xoom TabletLogitech Google TV上对此进行测试。WebView在平板电脑上工作正常并加载包含 Flash 对象的 html 页面。但是 Google TV 设备向我显示了“未安装 Flash”图标。

经过一番研究,我在这里发现google tv 中的 Chrome 浏览器使用自己的基于 chrome for linux 的渲染引擎。它有自己的仅在 chrome 上运行的 Flash 播放器。但另一方面,webview 使用 webkit 渲染引擎,这是在普通安卓手机上可以找到的渲染引擎。渲染引擎无法访问或使用 Chrome 中专门使用的其他 Flash 播放器。

我尝试直接从 Android Market(不是来自 Google TV Maeket)在 google tv 上安装 Flash Player,但它不适用于 Google TV ...仅限 Google TV 中的 WebView ...但 Flash Player 可以单独安装在平板电脑上,因此平板电脑/手机上的 WebView 可以使用 Flash 内容。是吗?

我一直在尝试播放直播很多天。我第一次尝试MediaPlayer这样做......但它不能很好地播放rtsp:流......它实际上在一分钟后永远挂起......我们已经在 Sony/Logitech 电视和摩托罗拉 Xoom 平板电脑上检查过......但没有运气好。...我在 SO 上发布了它,谷歌的人正在研究它...我希望他们至少会想出一些替代方案...如果不是一个完整的修复

那就是我试图在 Flash 播放器内的 html 页面中播放流,并在 WebView 中向用户显示该页面......但它只适用于平板电脑,而不适用于 Google TV......

任何帮助是极大的赞赏。

编辑:或者您可以告诉我 Google TV 和其他 Android 设备最支持哪种媒体格式……我知道有一个Google TV 支持格式列表……但我想知道其中最好的和经过测试的格式不仅可以在 Google TV 上流畅运行,而且还支持手机和平板电脑。

0 投票
1 回答
4724 浏览

c++ - 实现一个简单的 RTSP 客户端 / 示例

我只是想用 Boost Asio 实现一个非常小的 RTSP 客户端。它只需要向SETUP服务器发送一个PLAY命令,然后在某个时间点请求TEARDOWN.

困扰我的是实施本身。对于连接本身,我这样做就像我想要一个 TCP 连接

然后消息本身是这样制定的:

现在,如果我发送它并使用 Wireshark 捕获它,它不会将其识别为 RTSP 消息。

那么我做错了什么?我只是在我的流中制定错误的请求吗?还是我需要使用完全不同类型的连接?

是否有任何示例如何实现一个简单的 RTSP 客户端?我找不到任何东西。请不要建议使用任何其他库libcurl,我需要自己实现它。

0 投票
4 回答
36803 浏览

c - 使用 FFmpeg libavformat 录制 RTSP 流

我正在尝试使用 FFmpeg libavformat 记录来自 Axis 摄像机的 RTSP 流。我可以从文件中抓取视频,然后将其保存到另一个文件中,这没关系。但是相机发送奇怪的数据,FPS 为 100,相机每 4 帧发送一次,因此结果 FPS 约为 25。但 libavformat 将数据包 dts/pts 设置为 90000 fps(默认?),新文件流有 100fps。结果是一小时的视频,只有 100 帧。

这是我的代码

结果文件在这里:http ://dl.dropbox.com/u/1243577/test.avi

感谢您的任何建议

0 投票
1 回答
1604 浏览

streaming - 代理 RSTP 流的最简单方法

假设我们有一个 RTSP 流,它位于公司外联网之外。由于某些事件,大量员工可能会观看当前的直播。鉴于员工人数超过数百人,出站互联网连接可能不够快。

由于 RTSP 不是无状态的,代理是否存在

请提出代理 RTSP 流的方法,以便只有低带宽的互联网连接才能通过代理本身获得消费者。

是否存在(开源)产品,我可以配置或采用这些产品来形成 RTSP 代理?

最后,我的问题是不是太笼统了?关于我的代理问题,底层实时流有效负载数据/编码是否重要?

0 投票
2 回答
2625 浏览

android - 使用 3G 连接时 RTSP 不工作,但使用 WiFi 时它工作

我一直在研究播放不同广播 rtsp 的应用程序,当我在仅使用 wifi(Android 4.3)的平板电脑上试用它时,我实际上可以很好地听到广播电台。但是,当我在手机上测试它(使用 Android 2.3)时,我无法使用它的 3G 连接获得任何结果。但是,当我打开手机的wifi时,它可以工作。

例如,此 rtsp 不适用于这两种情况:rtsp://movil.mediastream.com.pe/av_rpp/audio01

我错过了什么?为什么它适用于wifi而不适用于3G?我该怎么做才能让它在带有 3G 的 Android 2.3 中运行?使应用程序正常工作的替代方法是什么?提前致谢

这是我用来播放rtsp的功能;

这是我在使用在 3G 中不起作用的 rtsp 之一时从 Android 鲨鱼那里得到的:

这是我为一个适用于 wifi 和 3G 的 rtsp 获得的 pcap 文件:

0 投票
1 回答
623 浏览

android - 在 android 设备上看到几个来自 rtsp 的视频?

我只是想知道我是否可以使用 rtsp 从网络一次看到多个视频?我正在尝试做一个类似于视频监控的 android 应用程序,我需要在屏幕上的某个时间看几个视频,我尝试将它与 MediaPlayer 一起使用,然后与 VideoView 一起使用,但在这两种情况下,有时视频都会出现,有时给我一个错误,无法播放一个或多个视频...我该怎么做才能让它正常工作?

0 投票
0 回答
1741 浏览

java - 使用 Netty 保存 RTSP 流

我需要在本地保存/捕获一些通过 RTSP 可用的音频/视频流。搜索了一些解决方案,并了解 Netty 对此有支持。

有人可以提供一个简单的例子吗?

0 投票
1 回答
895 浏览

h.264 - Processing RTP stream

Here is some debug info from extracting H.264 from RTP:


fragmentTypeBits: 7, start_bit: 0, end_bit: 64, RTP payload: 6742E01EDB02C0417845

-> Write SPS


fragmentTypeBits: 8, start_bit: 128, end_bit: 64, RTP payload: 68CE30A480

-> Write PPS


fragmentTypeBits: 6, start_bit: 128, end_bit: 64, RTP payload: 06E501AF80

-> skip


fragmentTypeBits: 28, start_bit: 128, end_bit: 0, RTP payload: 7C85B80000ACAC06C50A0860113B6300072AA32D7D08FDEBD2F8FC06BB80F04D3A65F1B7D0...

-> Write fragmented data... new frame


fragmentTypeBits: 28, start_bit: 0, end_bit: 0, RTP payload: 7C05FBED4F8D2C4F4A3B80C7149A7C506414B01E911444....

-> Write fragmented data... frame fragment


... (multiple times same start end bits = 0) ...


fragmentTypeBits: 28, start_bit: 128, end_bit: 0, RTP payload: 7C81E606C50A2F2ED1F2FDC9774972E1E4385A93CF89D225EE49A546AA6DB9FA

-> Write fragmented data... new frame


Is it fine to have start bit set though there was no end bit set before ?

Also, is it fine to have start / end bits set in the same time ?

And is it fine to have end bit set without having start bit set before ?