我正在使用gstreamer发送编码的H264流,并在Intel硬件上对其进行解码。 我的发送者实际上是一个应用程序,其管道元素如下所示:
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 );
因此,基本上,appsrc元素从实时摄像机获取数据,使用h264编码器进行编码,然后通过udp接收器发送。
接收器管道如下所示:
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
输出看起来如图所示:output of the receiver pipeline on my hardware
我想知道哪里出问题了吗?是延迟还是彩色格式?