"<pay0> avcC too small" error for incoming H264 stream over RTP
Baris Demiray
barisdemiray at gmail.com
Wed Oct 7 08:22:54 PDT 2015
Hi all,
I'm having a problem on Windows with Python bindings and I'd be happy if
someone could spare some time helping me on this (please see more logs at
the very end) cryptic error message,
<pay0> avcC too small
After I get this Python interpreter crashes. I tried to trace it in the
source and had a look at this gstrtph264pay.c file but all I got was that
rtph264pay is unhappy with the definition of incoming RTP stream but I
can't see what is wrong.
My stream definition is,
rtpbin name=rtpbin udpsrc port=5556 !
application/x-rtp,media=video,clock-rate=90000,encoding-name=H264,payload=96
! rtph264depay ! rtph264pay name=pay0 pt=96
I'm feeding this with an RTP stream generated using FFmpeg. I'm on Windows
7 with Python 2.7.10, GStreamer 1.5.90, and PyGI 3.14.0 AIO (which says
"gstreamer 1.4.5 + 220 plugins", any chances of a mismatch with my
GStreamer installation?). And here is a minimal code to reproduce the issue,
############################# <rtsp.py> ###############################
import gi, sys, os
from gi.repository import Gst, GLib, GstRtspServer, GObject
os.environ["GST_DEBUG"] = "4"
gi.require_version('Gst', '1.0')
Gst.init(None)
server = GstRtspServer.RTSPServer()
server.set_service("8085")
factory = GstRtspServer.RTSPMediaFactory()
factory.set_launch("rtpbin name=rtpbin udpsrc port=5556 !
application/x-rtp,media=video,clock-rate=90000,encoding-name=H264,payload=96
! rtph264depay ! rtph264pay name=pay0 pt=96")
server.get_mount_points().add_factory('/test', factory)
server.attach()
GLib.MainLoop().run()
############################# </rtsp.py> ###############################
And some more logs,
0:00:23.641381601 6588 02A56C40 INFO GST_EVENT
gstevent.c:678:gst_event_new_caps: creating caps event video/x-h264,
stream-format=(string)avc, alignment=(string)au,
codec_data=(buffer)0164001fffe200176764001facb2018026d0800000030080000019478c192400176764001facb201
0:00:23.642396085 6588 02A56C40 ERROR rtph264pay
gstrtph264pay.c:565:gst_rtp_h264_pay_setcaps:<pay0> avcC too small
0:00:23.820272505 6588 02A56C40 INFO GST_EVENT
gstevent.c:759:gst_event_new_segment: creating segment event time segment
start=0:00:00.000000000, offset=0:00:00.000000000, stop=99:99:99.999999999,
rate=1.000000, applied_rate=1.000000, flags=0x00, time=0:00:00.000000000,
base=0:00:00.000000000, position 0:00:00.000000000, duration
99:99:99.999999999
0:00:23.822253578 6588 02A56C40 ERROR rtph264pay
gstrtph264pay.c:565:gst_rtp_h264_pay_setcaps:<pay0> avcC too small
0:00:23.823243804 6588 02A56C40 ERROR rtph264pay
gstrtph264pay.c:565:gst_rtp_h264_pay_setcaps:<pay0> avcC too small
0:00:23.823996425 6588 02A56C40 WARN basesrc
gstbasesrc.c:2933:gst_base_src_loop:<udpsrc0> error: Internal data flow
error.
0:00:23.824729453 6588 02A56C40 WARN basesrc
gstbasesrc.c:2933:gst_base_src_loop:<udpsrc0> error: streaming task paused,
reason not-negotiated (-4)
As a side note, this works just fine on my Linux box. Versions of
rtph264pay by gst-inspect-1.0,
Linux:
Plugin Details:
Version 1.4.5
Windows:
Plugin Details:
Version 1.5.90
Any ideas how to proceed or debug? Please feel free to ask further
information.
Cheers,
-- Baris
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20151007/7bb721ad/attachment.html>
More information about the gstreamer-devel
mailing list