Video 基于RTP的MP4视频分割

Video 基于RTP的MP4视频分割,video,video-streaming,mp4,h.264,Video,Video Streaming,Mp4,H.264,我试图了解MP4视频在在线流媒体中如何通过RTP进行分割(它是用H.264编解码器编码的)。有一些工具,如FFMPEG或MP4box,或者我们可以使用ISO格式本身[moov,moof和mdat对]进行流式传输。我想知道的是,这些工具将如何分割视频中的mdat部分?他们会将MP4视频的所有单元(一组视频和音频帧)分离,并将它们与相关moov部分合并成一个片段,还是以其他方式进行 或者他们是否使用H264流式处理和NAL单元进行流式处理 我想知道它是如何工作的。通常,视频流是这样的: Captur

我试图了解MP4视频在在线流媒体中如何通过RTP进行分割(它是用H.264编解码器编码的)。有一些工具,如FFMPEG或MP4box,或者我们可以使用ISO格式本身[moov,moof和mdat对]进行流式传输。我想知道的是,这些工具将如何分割视频中的mdat部分?他们会将MP4视频的所有单元(一组视频和音频帧)分离,并将它们与相关moov部分合并成一个片段,还是以其他方式进行

或者他们是否使用H264流式处理和NAL单元进行流式处理


我想知道它是如何工作的。

通常,视频流是这样的:

Capture Video--> Encode-->                                     -->Decode-->Display
                            Mux--> Transmit--> Receive-->De-Mux  
Capture Audio--> Encode-->                                     -->Decode-->Display

因此,基本上在您的例子中,ffmpeg从H.264中获取NAL单元,并将其与编码的音频比特流进行多路复用,然后一起传输。

那么,如果我收到一个数据包,它包含什么?我可以说我有moov头和mdat单元吗?如果是,前四个字节将是单位大小(删除标头后)?如果我有一个MP4视频和H.264编解码器,我想流,它会检测到H.264编解码器和打包流?格式会发生什么变化?您可以看到这个链接:我可以访问任何MP4视频文件中的NAL单元吗?例如,在下载的MP4视频中?是的,您可以。您可以使用ffmpeg API来实现这一点。您需要做的只是:首先对MP4视频文件进行解复用以获得视频流。从中,您可以提取不同类型的NAL单元,例如SP、PPS和SEI以及视频比特流。检查中的Ffmpeg文档,我假设我没有页眉或页脚。我可以自己获取视频比特流而不使用Ffmpeg之类的工具吗?MP4不是通过RTP发送的。Its从MP4重新打包到RTP,并(可能)在另一侧重新打包。所以它将用于DASH或HLS流媒体?对于RTP,我不能使用ffmpeg?什么?Dash、HLS和RTP是相互竞争的技术。你可以在它们之间转换,但你不能把一个放在另一个上面。RTP不使用段。段仅在HTTP协议(HLS和DASH)中使用,因此RTP将在添加标头后发送整个文件?不,一旦转换为RTP,就没有“文件”,它只是一系列帧。RTP不是FTP。