并非所有元素都可以创建(x264enc或TIVidEnc1?)

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

我正在尝试创建x264enc

int main (int argc, char *argv[]) {
GstElement *pipeline, *src, *enc, *rtp, *sink;
...
...

src = gst_element_factory_make ("videotestsrc", "src");
enc = gst_element_factory_make ("x264enc", "enc");
rtp = gst_element_factory_make ("rtph264pay", "rtp");
sink = gst_element_factory_make ("udpsink", "sink");

pipeline = gst_pipeline_new ("test-pipeline");

if (!pipeline || !src || !enc || !rtp || !sink  ) {
    g_printerr ("Not all elements could be created.\n");
    return -1;
  }
} 

如果我删除该行:

enc = gst_element_factory_make ("x264enc", "enc");

程序将运行,如果我运行命令:

gst-inspect x264enc

我得到有关编码器的信息,所以它存在......

我也试图从x264enc改为TIVidEnc1但没有成功。

有任何想法吗..?

谢谢!

video-streaming gstreamer rtp
1个回答
2
投票

您很可能没有在系统上安装x264enc编码器。此编码器不包含在gstreamer的基本软件包中,您需要手动下载并将其构建到您的系统上。下载后将其构建到gstreamer的丑陋lib上。我不确定,但在Gstreamer更新的丑陋库中,它可能也包含在内。所以更新你的gstreamer也可以。

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