标签: rtmp

适用于iOS设备的非http流媒体视频

我正在使用wowza将源rtsp流重定向到多种类型的终端设备.由于基于http的流式传输的缓冲限制,我不能将它用于我的应用程序.我需要在我的restream中使用RTMP或RTSP.

除此之外:HTTP打包流需要大约3倍的密钥长度,或30秒的视频(银光和快速时间),因此我必须保持我的源流在wowza中保持缓冲区.这在我的应用程序中是不可能的,因为我必须节省wowza和源流之间的带宽.

据我了解,iOS不支持RTMP.因此,为iOS设备留下了RTSP.

使用像JWPlayer这样的东西来保持一致性会很好,但是JWplayer不支持RTSP !!

那么,是否有一个优雅的解决方案.像JWplayer这样的东西会自动为正确的客户端播放器服务(RTSP和RTMP客户端是唯一需要的).或者我必须自己扮演角色.

rtmp rtsp jwplayer http-streaming ios

8
推荐指数
1
解决办法
4069
查看次数

监视RTMP流,记录是否可用

我正在寻找一种方法来监视流上的活动,以便我可以确定流中是否有任何内容.如果有,我将开始使用rtmpdump录制它.

我想这是通过运行一个每60秒检查一个流的cron任务来完成的.如果它确定流正在通过,则调用rtmpdump开始记录它.如果没有,那么什么都不做,并在60秒内再次检查.

由于rtmpdump只是在没有流数据的情况下出现错误,所以尝试使用它来监视流似乎不是一个好主意,但也许我错了.

如果我手动逐个进行此操作会很容易,但我正在尝试自动记录流的任务,如果它们可用的话.

有没有人遇到过这样做的方法?也许我可以在命令行(linux)中使用其他一些工具?如果它有帮助,我正在使用Ruby/Rails编写代码

ruby ruby-on-rails rtmp video-streaming

8
推荐指数
1
解决办法
1455
查看次数

适用于Windows Phone的RTMP库

我正在构建一个WP7应用程序来拍照并使用RTMP将图像上传到第三方服务器.不幸的是,我找不到任何合理的Windows Phone 7 RTMP客户端实现.

我已经下载了WebOrb,但似乎WPO库的WebOrb不支持RTMP.此外,我无法将Silverlight DLL集成到我的WP7应用程序中.

我也查看了FluorineFX,但它也没有WP7的版本.

您能否建议另一个在WP7上提供RTMP的库,或者让上述库与WP7一起工作的方法?

rtmp weborb fluorinefx windows-phone-7

8
推荐指数
1
解决办法
1020
查看次数

RTSP/RTMP视频流客户端iOS

我需要一个开源解决方案/库来将RTSP/RTMP流式传输到iOS应用程序.我需要构建一个连接到媒体服务器的应用程序,并打开提供的视频流.我相信必须有库,但我还没有找到一个开源,编译,实际工作,并在iOS 5 +,iPhone 4+上运行.我没有偏好,RTMPRTSP不会满足.优选地,具有最少工作量的那个.我在Android方面有RTSP工作,但iOS尚无用.

这就是我今天从研究中已经知道的 -

RTSP

  • 似乎可以使用Live555/FFMPEG
  • MooncatVenture Group - 旧版FFMPEG,与ARMv7s不兼容(一年内无更新/博客/提交)
  • DFURTSPPlayer - 这是一个工作示例.

RTMP

  • 似乎可以使用Live555/FFMPEG
  • 有一些库用于数据消息传递,但仅此而已
  • MidnightCoders项目 - 似乎还没有构建视频支持,因为Audio不支持.

我以前从未搞过与之相关的任何视频,所以编码,帧速率,关键帧,块等等对我来说都很陌生.现在,似乎从Live555/FFMPEG构建静态二进制文件是解决我问题的唯一方法.如果是这样,有人可以给我一个简单的快速入门指南或链接到博客/示例有人在那里吗?我不是在寻找任何疯狂的东西,只是一个简单的东西

  1. 下载此 - 链接
  2. 像这样编译它 - LINK
  3. 将它放入Xcode的X文件夹中
  4. 创建X对象
  5. 在此处阅读Stream API - LINK

如果没有,有人想指出我的工作开源库吗?

哦,是的,这恰好是我的第一个iPhone应用程序,第一次在Objective-C.令人敬畏的第一个项目,是吗?

ffmpeg rtmp rtsp ios live555

8
推荐指数
1
解决办法
2万
查看次数

Charles 可以配置为监控 RTMP 流量吗

我们的 Flex/LCDS 应用程序当前使用 RTMP 进行消息传递/远程处理。

是否可以配置 Charles 来监控 RTMP 上的流量?如果是这样,如何实现?

我们将开发版本配置为使用 NIO-AMF(显然工作正常)。

apache-flex rtmp lcds charles-proxy

8
推荐指数
0
解决办法
828
查看次数

Android - 将流相机作为RTMP流

我想从Android设备捕获相机流并将其流式传输到具有RTMP的服务器(服务器不受我的控制).我还没有想出如何从相机本身创建数据流,但这是为了以后的关注.

目前存在两个问题:我希望支持API 9+,并且Android不支持RTMP.

我已经浏览了一下,发现这个SO 转换视频输入流到RTMPhttps://github.com/yixia/VitamioBundle.前者提出了一个几乎没有文档的库.后者可能支持它(?),但它需要API 14+.

是否有适当的示例或库,支持来自Android设备的RTMP流?我还读过有关转换RTSP或FFMPEG的内容,如果这是一种可行的方式,那么我想它也足够了.

编辑1:

我找到了这个库(它与上面提到的有很多相似之处),并尝试使用它.我在Android Studio中导入它并编写了一些代码,但它似乎在内部崩溃并出现java.lang.NoClassDefFoundError RTSP Codec Factory错误.显然,这在Android上运行得不是很好.

另外,我曾多次遇到过Adobe air.我不想在Action Script 3(AS3)中编写代码,因为这个库只是本机应用程序的一个(小)部分.如果Adobe Air有一个我不知道的库,那么如果可能,我很乐意将它集成.

android rtmp video-streaming

8
推荐指数
1
解决办法
3万
查看次数

Nginx RTMP 模块接收 x.264,输出 HLS 直播流

目标:使用OBS从 PC流式传输,使用 Nginx RTMP 模块接收流并输出给观众,以便他们可以在 PC 和移动设备上查看实时流。为此,Nginx 必须使用 HLS 输出实时流。

我的合作伙伴设置了以下 Nginx 文件,但没有任何反应(这是按照 stackoverflow --> answer 的这个答案完成的)

#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;


    sendfile        on;
    keepalive_timeout  65;

    server {
        listen       8080;
        server_name  localhost;

        location / {
            root   html;
            index  index.html index.htm;
        }

    location /stat {
            rtmp_stat all;
            rtmp_stat_stylesheet stat.xsl;
        }

    location /stat.xsl {
            # you …
Run Code Online (Sandbox Code Playgroud)

nginx stream rtmp live-streaming http-live-streaming

8
推荐指数
2
解决办法
2万
查看次数

如何使用nginx rtmp模块在直播流上创建简单的动态叠加?

我喜欢nginx-rtmp-module的简单性,但我不清楚如何在Wowza中做一些非常简单的事情(尽管不喜欢Java).在Wowza中,我可以在onTextData事件中接收rtmp AMF元数据数据并配置动态叠加.这并不复杂,只是一些动态文本可能会变化很小.

我真的不知道如何在nginx-rtmp-module中为实时流做这个.我知道如何使用ffmpeg进行后期处理,但直播我不知道.这个模块看起来很简单,可以构建配置文件,并且web挂钩用于启动/停止/等.非常简单,但如何使用此模块动态叠加框架顶部的文本?

谢谢

nginx rtmp live-streaming

8
推荐指数
1
解决办法
1408
查看次数

RTMP摄取块流的问题

我正在尝试为我正在处理的应用程序构建自己的客户端RTMP库.到目前为止,一切都已成功,因为我能够连接到RTMP服务器协商握手,然后发送所有必要的数据包(FCPublish Publish ETC)然后从服务器获取NetStream.Publish.Start的onStatus消息,这意味着我成功地让服务器允许我开始发布我的实时视频广播.Wireshark还确认信息(/数据打包)是正确的,因为它也正确显示.

现在我遇到麻烦的地方是RTMP Chunking,第17页和第18页的Adobe RTMP规范显示了一个消息如何分块的示例.从这个例子中我可以看出它是根据块大小(128字节)分解的.对我来说,块大小在初始连接和交换中协商,总是4096字节.因此,当我交换大于4096字节的视频数据时,我需要将消息分块,然后发送RTMP packetHeader并结合前4096字节的数据,然后发送一个小的RTMP头,即0xc4(0xc0 | packetHeaderType(0x04))结合4096字节的视频数据,直到发送了标头指定的完整数据包.然后进入一个新框架并重复相同的过程.

通过检查用不同语言编写的其他RTMP客户端示例,这似乎就是他们正在做的事情.不幸的是,我尝试传输的摄取服务器没有接收广播视频数据,他们不关闭我的连接,他们只是从不显示视频或视频是正确的任何迹象.Wireshark显示,在发送视频原子数据包之后,发送的大多数数据包都是未知(0x0)一点点,然后它们将切换到视频数据,并在显示未知(0x0)和视频数据之间进行触发.但是,如果我将有效负载最大大小限制为20000字节,Wireshark会将所有内容显示为视频数据.显然,摄取服务器不会在这种情况下显示视频,因为我正在删除大块的数据,因为它只有20k字节.

试图弄清楚出了什么问题我开始了另一个xcode项目,它允许我在我的Lan上欺骗RTMP服务器,以便我可以看到libRTMP IOS进入服务器时的数据.同样使用libRTMP,我可以记录它发送的数据包,它们似乎注入字节0xc4甚至128字节,即使我已经发送Change Chunk size消息作为服务器.当我尝试在我的RTMP客户端库中通过使用128块大小来复制它时,即使它被设置为4096字节,服务器也将关闭我的连接.但是,如果更改libRTMP以尝试转到实时RTMP服务器,它仍会在LibRTMP中打印出它正在以128的块大小发送数据包.并且服务器似乎在视频显示时接受它.当我查看RTMP服务器上的数据时,我发现它就是他们的全部.

任何人都知道会发生什么事吗?

objective-c rtmp chunking wowza twitch

8
推荐指数
1
解决办法
756
查看次数

获取 Instagram 直播 RTMP URL 和密钥

有一些应用程序(例如Yellow duck)可以为您获取 RTMP URL 和密钥。然后可以将它们与 OBS 或任何其他流媒体软件一起使用。我正在构建的功能需要复制 Instagram 的功能,并为用户从 Instagram 中提取 RTMP 详细信息。

我曾尝试使用 Charles 代理来确定 Yellow duck 的工作原理,但我的技术有限,并且没有产生任何结果。

我知道没有可用的公共 API,这可能违反了他们的 ToS。

rtmp live-streaming instagram instagram-api instagram-graph-api

8
推荐指数
1
解决办法
9906
查看次数