sprop-param-set
Tim Müller
tim at centricular.com
Fri Apr 4 14:58:00 PDT 2014
On Fri, 2014-04-04 at 16:24 -0400, Chuck Crisler wrote:
Hi Chuck,
> OK, I am beginning to understand. Here is a part of the log.
>
> Apr 4 16:08:05 rtspdaemon[731]: 0:00:00.015266513 753 0x808d008
> DEBUG RTSPSocket RTSPSocket.cpp:380:StartPipeline: RTSP
> Pipeline: ( udpsrc port=6215 name=UDPSrc !
> application/x-rtp,media=video,payload=96,clock-rate=90000,encoding-name=H264,sprop-parameter-sets=Njc0ZDAwMTZkYTAyODBmNmMwNTUyMDAwMDAwMzAwNDAwMDAwMDc4YzA4MDAzZTgwMDAwYThjMzdiZGYwYmMyMjExYTg=,NjhlZTNjODA= ! valve name=pay0 drop=false )
> Apr 4 16:08:06 rtspdaemon[731]: 0:00:00.423412736 753 0x808d008
> WARN default
> gststructure.c:2112:gst_structure_from_string: Failed to find
> delimiter, r==,NjhlZTNjODA=
> Apr 4 16:08:06 rtspdaemon[731]: 0:00:00.423444876 753 0x808d008
> ERROR GST_PIPELINE ./grammar.y:713:_gst_parse_yyparse: could
> not parse caps
> "application/x-rtp,media=video,payload=96,clock-rate=90000,encoding-name=H264,sprop-parameter-sets=Njc0ZDAwMTZkYTAyODBmNmMwNTUyMDAwMDAwMzAwNDAwMDAwMDc4YzA4MDAzZTgwMDAwYThjMzdiZGYwYmMyMjExYTg=,NjhlZTNjODA="
>
>
> gststructure works with ASCII but the sprops-parameter-set is BASE64
> encoded.
BASE64 is a subset of ASCII.
> So first, it can't handle the PPS added after the ',' (which is
> legal). Second, it can't handle '=' in the field (which is legal).
> Third, for some reason gststructure.c fails when I add the NAL type at
> the beginning. The problem is that the Android app parses the SPS and
> will fail if it isn't valid, even though the SPS and PPS are signaled
> inband.
This seems to work for me:
gst-launch-0.10 fakesrc ! 'application/x-rtp, media=(string)video,
clock-rate=(int)90000, encoding-name=(string)H264,
sprop-parameter-sets=(string)"Z01AFeygoP2AiAAAAwALuaygAHixbLA\=\,aOvssg
\=\=", payload=(int)96, ssrc=(uint)1968523427,
clock-base=(uint)2269461842, seqnum-base=(uint)26782' ! fakesink
Generated with:
gst-launch-0.10 -v videotestsrc ! x264enc ! rtph264pay ! fakesink
(well, almost, I looked at the debug log, because the -v output is
doubly-escaped I think; h)
Cheers
-Tim
--
Tim Müller, Centricular Ltd - http://www.centricular.com
More information about the gstreamer-devel
mailing list