GNOME Bugzilla – Bug 653290
[h264parse] referred SPS invalid
Last modified: 2012-06-07 14:28:12 UTC
Hey, I'm trying to run: gst-launch filesrc location=test.264 ! h264parse ! mp4mux ! filesink location=test.mp4 I'm getting: 0:00:00.026598311 8949 0x1f7d0f0 DEBUG h264parse h264parse.c:914:gst_h264_params_get_timestamp:<h264parse0> referred SPS invalid ERROR: from element /GstPipeline:pipeline0/GstH264Parse:h264parse0: GStreamer encountered a general stream error. Please see attached for full output. The h264 file is taken from a Bluecherry Hardware H264 card with cat /dev/video1 > test.264. It is a valid raw h264: root@demo1:~# gst-typefind-0.10 test.264 test.264 - video/x-h264, stream-format=(string)byte-stream Also, mediainfo shows: root@demo1:~# mediainfo test.264 General Complete name : test.264 Format : AVC Format/Info : Advanced Video Codec File size : 5.53 MiB Video Format : AVC Format/Info : Advanced Video Codec Format profile : Baseline@L3.0 Format settings, CABAC : No Format settings, ReFrames : 1 frame Width : 704 pixels Height : 576 pixels Display aspect ratio : 1.222 Standard : PAL Color space : YUV Chroma subsampling : 4:2:0 Bit depth : 8 bits Scan type : Progressive
Created attachment 190545 [details] Debug Gstreamer Output
The file in question can be downloaded here: http://itstar.co.uk/bluecherry_test.raw
Reproduced.
Can't seem to get this with either h264parse or legacyh264parse, though there was a crash with h264parse on that file, which seems a different issue (https://bugzilla.gnome.org/show_bug.cgi?id=658800).
Does not seem to happen (anymore) with current git. Could have been in (new) h264parse at one point, but there has been quite some tweaking there recently and latest version only has some debug logging if no sps available when trying to determine timestamp.
It seems legacyh264parse no longer fails, but I'm still not able to mux the output with any muxer: # GST_DEBUG=*:2 gst-launch filesrc location=bluecherry_test.raw ! legacyh264parse ! mp4mux ! filesink location=test.avi Setting pipeline to PAUSED ... Pipeline is PREROLLING ... 0:00:00.019894067 15660 0x10fe8d0 WARN basesrc gstbasesrc.c:2618:gst_base_src_loop:<filesrc0> error: Internal data flow error. 0:00:00.019928101 15660 0x10fe8d0 WARN basesrc gstbasesrc.c:2618:gst_base_src_loop:<filesrc0> error: streaming task paused, reason not-negotiated (-4) ERROR: from element /GstPipeline:pipeline0/GstFileSrc:filesrc0: Internal data flow error. Additional debug info: gstbasesrc.c(2618): gst_base_src_loop (): /GstPipeline:pipeline0/GstFileSrc:filesrc0: streaming task paused, reason not-negotiated (-4) ERROR: pipeline doesn't want to preroll. Setting pipeline to NULL ... Freeing pipeline ... Any ideas?
Key line from debug is probably: gst_pad_configure_sink:<mp4mux0:video_00> caps video/x-h264, width=(int)704, height=(int)576, stream-format=(string)byte-stream, alignment=(string)nal not accepted Full debug here: http://itstar.co.uk/gst-h264parse-mp4mux-debug.log
As it seems to be an unrelated issue, opened a new bug for the above here: https://bugzilla.gnome.org/show_bug.cgi?id=659489
Created attachment 215853 [details] H.264 Stream Captured from Logitech C920 Webcam This H.264 stream cannot be parsed successfully for width, height and framerate.