标签: rtmp

适用于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
查看次数

flash/flex:渐进式下载与rtmp

我试图理解并确切地指出何时在flex/flash中使用渐进式下载与rtmp.似乎主要的一点是,rtmp不提供http,而渐进式下载是.由于它不是rtmp,因此资源受到保护,因为无法从swf外部连接到rtmp服务器.

即使用户可以看到该目标代码并且可以找出位置

<object data="http://media.example.com/jw-player/player.swf" >
    <param value="streamer=rtmp://sub.example.com/video
           &amp;file=1330/title/folder2/theflvresource.flv
           &amp;id=FlvPlayer" name="flashvars">
</object>
Run Code Online (Sandbox Code Playgroud)

他们无法连接到rtmp.所以当你想要保护资源时,rtmp似乎更有用吗?这就是它的全部吗?

apache-flex flash video rtmp progressive-download

7
推荐指数
1
解决办法
4992
查看次数

使用C/C++中的librtmp发布流

如何使用librtmp库发布流?我阅读了librtmp手册页,并且为了发布,使用了RTMP_Write().

我这样做.

//Code
//Init RTMP code
RTMP *r;
char uri[]="rtmp://localhost:1935/live/desktop";
r= RTMP_Alloc();
RTMP_Init(r);
RTMP_SetupURL(r, (char*)uri);
RTMP_EnableWrite(r);
RTMP_Connect(r, NULL);
RTMP_ConnectStream(r,0);
Run Code Online (Sandbox Code Playgroud)

然后响应来自服务器的ping /其他消息,我使用一个线程响应如下:

//Thread
While (ThreadIsRunning && RTMP_IsConnected(r) && RTMP_ReadPacket(r, &packet))
{
   if (RTMPPacket_IsReady(&packet))
   {
 if (!packet.m_nBodySize)
         continue;
    RTMP_ClientPacket(r, &packet); //This takes care of handling ping/other messages
    RTMPPacket_Free(&packet);
   }
}
Run Code Online (Sandbox Code Playgroud)

在此之后,我被困在如何使用RTMP_Write()将文件发布到Wowza媒体服务器?

rtmp

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

如何实现Web应用程序的屏幕共享?

序幕.我想问一下,如何在网络上创建桌面屏幕共享解决方案,但后来发现有很多这样的问题.用几个字符串来回答这个任务非常复杂.所以我花了一些时间试图找到合适的解决方案.似乎我找到了一个 - 只是想分享它.

初始任务:我们有一个Web应用程序.我们需要找到一种方式让用户与任何其他用户共享他的屏幕.实现于:Win 7 x64,Java,Wowza-3.5.0.

我们怎样才能做到这一点?

java swing rtmp screensharing wowza

7
推荐指数
1
解决办法
9387
查看次数

Heroku上的RTMP服务器有哪些可用选项?

我正在尝试使用开源技术在heroku上设置音频聊天应用程序.我准备使用PHP,Node.js,Python或Ruby.我怎样才能在Heroku平台上运行RTMP服务器.我在网上找不到任何相关文件.

在heroku上设置音频聊天还有其他选择吗?

heroku rtmp

7
推荐指数
0
解决办法
778
查看次数

gstreamer流式传输到nginx rtmp服务器

PS:第一次gstreamer用户在这里.:)

我试图从使用gstreamer连接到beaglebone的logitech c920网络摄像头流式传输视频到nginx服务器.但不知何故,rtmpsink对我失败了.但是,随着filesink能够将视频保存在beaglebone上.虽然我仍然有一些帧丢失问题而没有音频,但我希望流媒体部分能够先工作.Im使用的命令是

GST_DEBUG=4 GST_DEBUG_FILE=gst2.log gst-launch-1.0 -v -e uvch264src device=/dev/video0 name=src auto-start=true average-bitrate=5000000 iframe-period=33  src.vidsrc  ! queue ! video/x-h264,width=1920,height=1080,framerate=30/1 ! h264parse ! flvmux ! rtmpsink location="rtmp://192.168.1.104:1935/hls/movie"
Run Code Online (Sandbox Code Playgroud)

我的调试输出在这里. 要旨

gstreamer在5秒内退出.

我验证了流媒体服务器的工作原理.但是从客户端来看,gstreamer并没有给我任何错误信息.或者我不知道如何正确调试它.

我坚持这个问题持续了这么多天.任何帮助,将不胜感激.

谢谢.

更新1

:我能够使用ffmpeg将本地文件发送到我的rtmp服务器,并且服务器正在按预期处理它.

ffmpeg -re -i /Users/r3dsm0k3/10.mp4 -vprofile baseline -ar 44100 -ac 1 -c copy -f flv rtmp://192.168.1.4:1935/hls/example
Run Code Online (Sandbox Code Playgroud)

用fakesink试过gstreamer并没有任何错误.

更新2

也试过v4l2src,没有运气.

nginx rtmp gstreamer beagleboneblack

7
推荐指数
1
解决办法
6323
查看次数

Nginx RTMP 不录音

我已经在 DigitalOcean 托管的 ubuntu linux 中设置了 Nginx RTMP。目前在我的桌面上以 localhost 模式运行我的 laravel Web 应用程序。直播似乎一切正常。我正在使用本地主机 JWPlayer 和开放广播软件(OBS)进行实时流媒体测试。有用。但是每当我需要将流媒体视频录制到linux目录(/var/www)时,在我点击OBS中的停止流媒体按钮后,似乎什么也没有发生,也没有任何错误。

我不知道录音是如何进行的,我尝试录制手册,上面有链接。我点击开始录制,它出现 /var/rec/{mystream}.flv

此手动版本的录制链接嵌入在 Laravel 网站中:

rtmp {
    server {
            listen 1935;
            chunk_size 4096;

            application live {

                    live on;

                    recorder rec1 {
                        record all manual;
                        record_suffix all.flv;
                        record_path /var/rec;
                        record_unique on;
                    }
            }
    }
}
Run Code Online (Sandbox Code Playgroud)

开始录音:

<a href="http://server.com/control/record/start?app=live&name=key&rec=rec1" target="_blank">Start rec1</a>
Run Code Online (Sandbox Code Playgroud)

http 的 nginx 配置:

access_log logs/rtmp_access.log;
include       mime.types;
default_type  application/octet-stream;

#log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
#                  '$status $body_bytes_sent "$http_referer" '
#                  '"$http_user_agent" "$http_x_forwarded_for"'; …
Run Code Online (Sandbox Code Playgroud)

php linux record nginx rtmp

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

Nginx-rtmp模块和mpeg-dash(Dash行业dash.js)

Mpeg Dash-Streaming

我正在撰写关于直播的论文.我用的ffmpeg,与RTMP模块和dash.js从ngix服务器短跑行业.我通过ffmpeg开始流向服务器,并且通过破折号播放,播放器运行良好,但是存在一些问题.

如果mpd-dash播放列表仍然具有块t = 0,则播放器仅播放,因此每当用户请求播放器和*.mpd更新时,块t = 0播放器都不会运行.

我将*.mpd文件上传到Dash Validator并收到错误:"Schematron验证未成功 - DASH无效!".但是玩家是由nginx生成的 - rtmp模块而不是我.

在搜索了一些论坛后,我得到了一些信息,nginx-rtmp模块生成错误的短划线播放列表*.mpd Nginx rtmp模块-bug,可能是该bug被修复并合并到github中的master(我认为是Mered - 报告).但我尝试下载最新的nginx和rtmp模块,播放器也播放不正确.

如果我玩2年前的dash.all.js版本:视频只播放好(播放结束)如果播放列表*.mpd中存在chunk t = 0,或播放器不播放(播放中间播放)如果我玩dash.all.js持续版本:视频播放并很快停止播放或循环播放.

我真的需要一些帮助,我的截止日期即将到来.

这是我的nginx配置(主配置):

    rtmp {

    server {
        listen 1935;
        ping 30s;
        notify_method get;
        chunk_size 4000;
        allow play all;

        application myapp {
            live on;
            dash on;
            dash_path /tmp/dash;

            hls on;
            hls_cleanup on;
            hls_sync 100ms;
            hls_fragment 2s;
            hls_path /tmp/hls;

            allow play all;


        }
    }
}
Run Code Online (Sandbox Code Playgroud)

和其他一些配置:

location /hls {
        # Serve HLS fragments …
Run Code Online (Sandbox Code Playgroud)

nginx rtmp video-streaming mpeg-dash dash.js

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

RTMP通过http流式传输

我正在尝试使用Nginx-rtmp建立流媒体服务.配置文件是

    rtmp {
    server {
        listen 1935;

        chunk_size 4000;

        # video on demand for flv files
        application vod {
            play /var/flvs;
        }

        # video on demand for mp4 files
        application vod2 {
            play /var/mp4s;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我希望流媒体服务通过http而不是rtmp.最终我们希望客户端使用https连接到代理服务器,然后代理服务器使用rtmp与流服务器通信.我正在使用HTTP进行测试.所以我使用以下配置设置了HAProxy:

global
    log /dev/log    local0
    log /dev/log    local1 notice
    chroot /var/lib/haproxy
    stats socket /run/haproxy/admin.sock mode 660 level admin
    stats timeout 30s
    user haproxy
    group haproxy
    daemon

    #tune.ssl.default-dh-param 2048 

    # Default SSL material locations
    ca-base /etc/ssl/certs
    crt-base /etc/ssl/private

    # Default ciphers to use on …
Run Code Online (Sandbox Code Playgroud)

nginx rtmp

7
推荐指数
2
解决办法
4092
查看次数

如何让ffmpeg在rtmp输入流结束时退出?

我正在使用 ffmpeg 对来自本地 nginx rtmp 服务器的流进行转码,并将转码后的媒体发送回同一本地 rtmp 服务器。当流离线时,ffmpeg 保持活动状态。当流再次开始时,ffmpeg 会接手转码工作。

我希望 ffmpeg 在输入 rtmp 流停止时退出,但我找不到配置它来执行此操作。我浏览了手册页和在线文档。

为了完整起见,这些是我当前向 ffmpeg 提供的参数:

ffmpeg -i 'rtmp://localhost/live/ijsbeer' -s '1280x720' -vcodec 'libx264' -preset 'veryfast' -crf '25' -maxrate '2000k' -bufsize '1000.0k' -force_key_frames '0: 00:02' -max_mushing_queue_size '4096' -acodec '复制' -copyts -copytb '0' -f 'flv' 'rtmp://localhost/live/ijsbeer_720p'

让 ffmpeg 退出本身解决了我的两个问题。首先,当流式传输到 rtmp 服务器的编码器(OBS)重新启动时,ffmpeg 有时会遇到非单调的 DTS 问题。其次,我想实现一个基本的监控系统来通知我转码器中的问题。当输入流停止时使 ffmpeg 退出似乎是确定 ffmpeg 是否正在工作的最可靠方法。解析 stderr/stdout 并不可靠,因为没有明确的输出格式。

转码时我收到这些常规 stderr 行:

帧= 241 fps= 30 q=30.0 大小= 38kB 时间=00:00:09.74 比特率= 32.0kbits/s 速度= 1.2x

当我停止源流时会暂停。没有日志输出表明源流已退出。

ffmpeg rtmp

7
推荐指数
0
解决办法
502
查看次数