Gstreamer-rtph264pay命令

问题描述 投票:0回答:1

我需要找出rtph264pay命令背后的机制。我已经检索了它的输出,但是我不明白如何读取它。帧的起点在哪里?如果我用udpsink替换filesink,则通过网络发送帧。 udpsink如何确定帧的开始和结束位置。

c:\gstreamer\1.0\x86_64\bin\gst-launch-1.0.exe filesrc location=%string:\=/% ^
    ! decodebin ! x264enc ^
    ! "video/x-h264, stream-format=(string)avc, alignment=(string)au, profile=(string)baseline" ^
    ! h264parse ^
    ! rtph264pay ^
    ! filesink ^
    location=video.txt
udp video-streaming gstreamer h.264 rtp
1个回答
0
投票

rtph264pay元素接收H264数据作为输入,并将其转换为RTP数据包。 RTP是一种标准格式,用于通过网络发送多种类型的数据,包括视频。 RTP在RFC 3550中已正式概述,有关如何将其与H264一起使用的特定信息,请参见RFC 6184

udpsink如何确定帧的开始和结束位置。

udpsink不需要知道帧在哪里开始和结束,它只是通过UDP发送由rtph264depay创建的RTP数据包。它对RTP格式没有任何特殊的了解。需要了解RTP以便将其卸载并解码的是数据的接收者。

由于RTP是一种旨在通过网络发送的格式,因此使用filesink将它们保存到文件中有点不寻常。

© www.soinside.com 2019 - 2024. All rights reserved.