首页 文章

媒体流基础知识 - HTTP与RTMP

提问于
浏览
13

我对媒体流非常陌生,我有一些基本的疑虑要明确:

  • 据我所知,HTTP流(通过Apache)和RTMP流(通过Red5)之间的区别在于流媒体服务器提供缓冲和提前控制,如搜索等 . 我是对的吗?

  • 我可以只传输来自RT5服务器(如Red5)的Flash视频吗?如果我必须传输不同格式的文件,我是否必须使用HTTP流?我可以使用像xuggler这样的工具来动态转码文件并根据Red5服务器的请求发送吗?

我提出了所有这些疑虑,因为我必须为所有移动客户端提供流媒体 - iPhone,黑莓,Android - iPhone不支持闪存,所以去Red5是个好主意吗?

1 回答

  • 22

    让我有点冗长清楚细节 .

    1)什么是“流媒体” . 通常在视频流的世界中是根据实时传送帧 . 如果您有30分钟的视频,它将在30分钟内发送给用户 .

    有专门用于流媒体的特殊协议:RTSP(可能是今天的古代),RTMP,MJPEG,基于http的协议系列(apple,abobe,microsoft)和一些其他封闭的供应商协议 .

    2)什么是“http-streaming”或“伪流” . 如果您只是将文件放在HTTP服务器上,用户可以下载并观看 . 如果他下载完整的视频,他甚至可以在其中搜索 . 但是,如果用户想要在不下载第一部分的情况下寻求电影的中间,会发生什么?它应该以某种方式告诉服务器:打开文件容器,寻找这一刻并打包文件 . 因此,HTTP服务器必须知道文件容器的结构,以便向客户端提供搜索功能 .

    nginx和apache可以用于flv和mp4容器,这对于100%的视频是可以的,可以通过Flash Player播放 .

    3)什么是http流媒体与时下搞砸了 . Apple,Adobe和Microsoft已经在HTTP上设计和实现了流媒体 . 这意味着客户端下载10秒段,仍然保持适当的帧速率 . 30分钟仍然可以下载30分钟的电影,但片段下载之间存在很大的延迟 . 可以以这种“格式”寻找,切换比特率等 .

    4)RTMP流媒体服务器如Red5或erlyvideo可以传输H.264,H.263,VP6和屏幕视频 . 不支持MPEG-4(Xvid / DivX)或MPEG-2 .

相关问题