希望了解RTSP和H.264封装

时间:2013-06-14 20:51:47

标签: h.264 rtsp rtp

我正在努力学习H.264,RTP,RTSP和封装文件格式,以开发视频录制应用程序。

具体来说,我应该阅读什么来理解这个问题?

我希望能够回答以下问题:

  • 我可以将H.264数据包或NAL(根据RFC 6184)保存到文件中吗?
  • 我可以将各个有效负载保存为文件吗?
  • 我可以通过连接来加入RTP有效负载吗?
  • 需要进行哪些转型才能保存 MP4容器中几秒钟的H.264视频。
  • 必须做什么 以后加入这些MP4文件,或任意拆分或服务 它们作为新的RTSP演示文稿?

我希望能够在相当低的水平上回答这些问题,以便我可以实现执行某些过程的软件(捕获RTP流,重新广播加入MP4)。

背景

目标是将视频从网络摄像机录制到磁盘上。摄像机有一个RTSP服务器,提供H.264编码流,它通过RTP发送给播放器。我已经使用VLC成功播放了流,但是想要自定义该过程。

2 个答案:

答案 0 :(得分:4)

根据H.264规范,“原始”视频流是NAL单元序列。无论是在RTSP上还是在MP4文件上,您都没有“按原样”使用此流。

在RTSP连接上,您通常会收到碎片化的NAL单元,并且需要对它们进行解包(不能简单地连接):

MP4文件是一个容器格式的文件,并且有自己的结构(框)。因此,您不能简单地将NAL流式传输到此类文件中,您必须执行所谓的多路复用。

答案 1 :(得分:0)

只需安装rtmpdump以及rtmpsrv和rtmpsuck ......

这将完成所有工作

在一个终端打开rtmpsrv和其他打开的rtmpdump -r“RTMP URL”

这将在mystream.flv中保存流