FFMPEG库可以使用RTSP将实时H264 iOS Camera流发送到Wowza

时间:2013-07-27 08:49:14

标签: ffmpeg h.264 rtsp wowza live555

我的要求是获取iphone相机,将其编码为H264格式并将其发送到服务器。 在搜索中,我发现编码部分可以使用ffmpeg lib和x264(libx264)。但现在接下来的任务是使用rtsp将编码数据发送到Wowza服务器。

如果有人意识到这一点,请分享一些代码或有用的文档。

还有另一个用于编码目的的live555库。但我不确定它是否可以使用rtsp将数据发送到服务器。

4 个答案:

答案 0 :(得分:4)

Actualy我制作了一个iOS流媒体应用程序(wowza作为流媒体服务器)

我相信你只能使用带有rtsp协议的FFmpeg来传输视频,尽管FFmpeg并不完全支持它

然而,使用ffmpeg,您可以获得有效的SDP并使用RTCP协议将其传递给wowza - ANNOUNCE OPTION SETUP RECORD -

我没有使用FFmpeg进行编码,但如果您可以获取原始H264数据,则可以使用rfc6184将其打包以生成有效的RTP数据包

编辑: 这是连接wowza的示例:

    NSString* response = [NSString stringWithFormat:@"ANNOUNCE %@ RTSP/1.0\r\n",self->addr];
    response = [response stringByAppendingFormat:@"CSeq: %d\r\n",self->cseq];
    response = [response stringByAppendingFormat:@"Content-Type: application/sdp\r\nContent-Length: %d\r\n\r\n", [self->sdp length] ];
    response = [response stringByAppendingString:self->sdp];
    NSString* result = [self sendAndRecvData:response];

其中sendAndRecvData是绑定到wowza_ip的tcp套接字:1935

您可以使用相同类型的代码进行SETUP,这将发送回您应发送数据的RTP(+ RTCP)端口

答案 1 :(得分:1)

您使用live555,您可以使用设备上的实时555服务器发送音频和视频,这将为您提供rtsp + rtcp流到wowza,用于宣布和录制直播555具有不受支持的dss模块。

答案 2 :(得分:0)

Wowza有一个名为GoCoder的iPhone应用程序,它会将一个实时编码流发送到Wowza服务器。

答案 3 :(得分:0)

您可以使用RTMP而不是RTSP直接流式传输到Wowza服务器。 ffmpeg命令类似于:

ffmpeg -re -i localFile.mp4 -c copy -f flv rtmp://server/live/streamName

只要您将输出格式指定为flv并将输出目标指定为rtmp:// xxx,那么您应该没问题。

来源: ffmpeg streaming