我正在使用 gstreamer 发送编码的 H264 流并在英特尔硬件上对其进行解码。我的发件人实际上是一个应用程序,它的管道元素看起来像这样:
caps2 = gst_caps_new_simple("video/x-raw",
"format", G_TYPE_STRING, "I420",
"width", G_TYPE_INT, 640,
"height", G_TYPE_INT, 480,
"framerate",GST_TYPE_FRACTION, 15 ,1,
"pixxel-aspect-ratio",GST_TYPE_FRACTION,1,1, NULL);
gst_app_src_set_caps(GST_APP_SRC(app->videosrc),caps2);
gst_bin_add_many(GST_BIN(app->pipeline), app->videosrc, app->x264enc, app->rtppay, app->udpsink, NULL );
所以基本上是一个 apprc 元素从实时摄像头获取数据,使用 h264 编码器编码并通过 udp sink 发送。
接收器管道如下所示:
gst-launch-1.0 -v udpsrc port=5002 ! application/x-rtp, media=video, clock-rate=90000, encoding-name=H264, payload=96 ! rtph264pdepay ! vaapih264dec ! videoconvert ! vaapisink sync=FALSE
输出如图所示:输出接收器管道在我的硬件上
我想知道我哪里出错了?是延迟还是颜色格式?