我如何从 gstreamer 的 x264enc 插件中获取 codec_data?

How do I get codec_data from gstreamer's x264enc plugin?

我有一个 RTMP 服务器的自定义代码,并尝试添加一个 gstreamer 管道来转码传入的视频并将其提供给 RTMP 播放客户端。到目前为止,我有以下管道:

appsrc name=input ! 
    decodebin ! 
    videoscale ! video/x-raw,width=800,height=600 ! 
    x264enc speed-preset=veryfast name=encoder ! 
    appsink name=output

为了使用我的 appsink 的 h264 样本,我需要生成一个带有编解码器数据的序列头数据包。但是,我找不到编解码器数据。

x264enc 步骤的上限是:

"video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, level=(string)3.2, profile=(string)high, width=(int)800, height=(int)600, pixel-aspect-ratio=(fraction)4/3, framerate=(fraction)60/1, interlace-mode=(string)progressive, colorimetry=(string)bt709, chroma-site=(string)mpeg2"

那里没有 codec_data 大写字母,这就是我将它传递给 appsrc 的方式,这样我的 h264 数据包就可以被读取了。我还能如何从 gstream 获取编解码器数据?

我能够通过将 x264enc 输出传递到 h264parse 来提取 codec_data