<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Hi everyone,<br>
<br>
I have a short experience with gstreamer and might be missing
something very basic... so please bear with me.<br>
<br>
I have setup a test with gstreamer where I use vaapiencode_h264 to
encode and output streams. Underlying hardware accel is Intel Quick
Sync with updated drivers. Input is rtp transport stream which is
quite good quality and stable. Ouput is also transport stream.<br>
<br>
My test command works but only sometimes!<br>
Quite often, on average 1 in 3, it fails to negotitate the pipeline
with following error message:<br>
ERROR: from element /GstPipeline:pipeline0/GstVaapiEncodeH264:v1enc:
GStreamer error: negotiation problem<br>
I included debug log with more details below...<br>
<br>
<br>
My command is:<br>
gst-launch-1.0 \<br>
udpsrc uri=<a class="moz-txt-link-freetext" href="udp://239.5.2.1:6670">udp://239.5.2.1:6670</a> auto-multicast=true ! \<br>
decodebin name=rawinput \<br>
rawinput. ! queue ! videoconvert ! deinterlace ! tee name=v \<br>
\<br>
\<br>
v. ! queue ! vaapiencode_h264 name=v1enc rate-control=cbr
bitrate=300 keyframe-period=90 tune=none ! mux. \<br>
v. ! queue ! vaapiencode_h264 name=v2enc rate-control=cbr
bitrate=700 keyframe-period=90 tune=none ! mux. \<br>
v. ! queue ! vaapiencode_h264 name=v4enc rate-control=cbr
bitrate=1500 keyframe-period=90 tune=none ! mux. \<br>
\<br>
\<br>
rawinput. ! queue ! \<br>
audioconvert ! faac ! mux. \<br>
\<br>
mpegtsmux name=mux ! \<br>
udpsink host=224.1.1.1 auto-multicast=true port=1234<br>
<br>
<br>
<br>
This is the extraction of errors and warnings from the log:<br>
0:00:00.157710724 18037 0x7f6ca0 WARN default
descriptions.c:612:format_info_get_desc: Unexpected MPEG-1 layer in
audio/mpeg, mpegversion=(int)1<br>
0:00:00.157762414 18037 0x7f6ca0 WARN tsdemux
tsdemux.c:993:create_pad_for_stream: Non-media stream
(stream_type:0x86). Not creating pad<br>
0:00:00.507589178 18037 0x7f6a30 ERROR vaapi
gstvaapiencoder.c:841:gst_vaapi_encoder_set_rate_control:
unsupported rate control mode (1)<br>
0:00:00.507654893 18037 0x7f6a30 WARN videoencoder
gstvideoencoder.c:608:gst_video_encoder_setcaps:<v1enc>
rejected caps video/x-raw, format=(string)I420, width=(int)544,
height=(int)576, pixel-aspect-ratio=(fraction)24/17,
interlace-mode=(string)progressive, chroma-site=(string)mpeg2,
colorimetry=(string)bt601, framerate=(fraction)50/1<br>
0:00:00.507702294 18037 0x7f6a30 WARN videoencoder
gstvideoencoder.c:1368:gst_video_encoder_chain:<v1enc> error:
encoder not initialized<br>
0:00:00.507749254 18037 0x7f6a30 INFO GST_ERROR_SYSTEM
gstelement.c:1835:gst_element_message_full:<v1enc> posting
message: GStreamer error: negotiation problem.<br>
0:00:00.507809417 18037 0x7f6a30 INFO GST_ERROR_SYSTEM
gstelement.c:1858:gst_element_message_full:<v1enc> posted
error message: GStreamer error: negotiation problem.<br>
ERROR: from element /GstPipeline:pipeline0/GstVaapiEncodeH264:v1enc:
GStreamer error: negotiation problem.<br>
0:00:00.518770151 18037 0x7f12d8003190 WARN GST_PADS
gstpad.c:3669:gst_pad_peer_query:<v4enc:src> could not send
sticky events<br>
0:00:00.519029265 18037 0x7f12e00022d0 WARN GST_PADS
gstpad.c:3669:gst_pad_peer_query:<v2enc:src> could not send
sticky events<br>
<br>
<br>
<br>
The "rejected caps" warning appears sometimes on other encoder
elements (v2enc and v4enc) and occasionally on even multiple encoder
elements.<br>
Would anyone please point me to where to search for the solution to
this?<br>
<br>
<br>
<br>
<div class="moz-signature"><br>
-- <br>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<font color="#122F56" face="Arial, Helvetica, Geneva, Sans-Serif"
size="2">
<br>
<b>Haris Zukanovic</b><br>
</font> <font style="font-style: italic; font-weight: bold;"
color="grey" size="2"><strong></strong></font>
</div>
</body>
</html>