GNOME Bugzilla – Bug 740118
h264parse: not correctly parsing or passing through avc
Last modified: 2018-11-03 13:28:36 UTC
I have ip camera that sends the h264 stream over rtsp. When I try to display this stream using GStreamer 1.4.4, i get a broken picture. Problem appears when using the following simple pipeline: rtspsrc location=rtsp://10.0.6.189/mpeg4 protocols=tcp ! rtph264depay ! h264parse ! avdec_h264 ! videoconvert ! autovideosink I can temporary get a correct picture, if I remove h264parse from the pipeline. Also, I can temporary get a correct picture if I use a GStreamer SDK 0.10. But in both cases, the picture may break later. I found that the difference in behavior occurred after applying the following commit: Revision: a41e8698b1ae62b18fd2449dfcb7c1b9d39d02b9 Author: Matej Knopp <matej.knopp@gmail.com> Date: 08.09.2013 1:09:31 Message: h264parse: don't update src caps if only codec_data differs https://bugzilla.gnome.org/show_bug.cgi?id=705333 ---- Modified: gst/videoparsers/gsth264parse.c When I build the videoparsers in the state before applying this commit, I get the same behavior as in the case with a GStreamer SDK 0.10. But after some time the picture is still broke. I recorded a part of the stream on which the picture is often broken. Sorry, it took so long. I've put it there: https://drive.google.com/file/d/0Bw5nWXOdi4FybXpPMmVlQWsyVWs/view?usp=sharing To reproduce the problem can be used the following pipeline: gst-launch-1.0 filesrc location="CH9Hstream00002.gdp" ! gdpdepay ! rtph264depay ! avdec_h264 ! videoconvert ! autovideosink
I'm sorry, maybe needed first sequence file. I put it here: https://drive.google.com/file/d/0Bw5nWXOdi4Fya3BDWVJKZmozWlU/view?usp=sharing To reproduce the problem can be used the following pipeline: gst-launch-1.0 multifilesrc location="CH9Hstream%05d.gdp" start-index=1 ! gdpdepay ! rtph264depay ! avdec_h264 ! videoconvert ! autovideosink Otherwise, You need to apply to autovideosink property "sync=false" in old pipeline.
Appears to be an issue with h264parse at first glance. Works: gst-launch-1.0 filesrc location= /home/tpm/samples/misc/740118-CH9Hstream00001-rtph264depay.gdp ! gdpdepay ! rtph264depay ! video/x-h264,stream-format=avc ! avdec_h264 ! xvimagesink Works: gst-launch-1.0 filesrc location= /home/tpm/samples/misc/740118-CH9Hstream00001-rtph264depay.gdp ! gdpdepay ! rtph264depay ! video/x-h264,stream-format=byte-stream ! avdec_h264 ! xvimagesink Works: gst-launch-1.0 filesrc location= /home/tpm/samples/misc/740118-CH9Hstream00001-rtph264depay.gdp ! gdpdepay ! rtph264depay ! video/x-h264,stream-format=byte-stream ! h264parse ! avdec_h264 ! xvimagesink Fails: gst-launch-1.0 filesrc location= /home/tpm/samples/misc/740118-CH9Hstream00001-rtph264depay.gdp ! gdpdepay ! rtph264depay ! video/x-h264,stream-format=avc ! h264parse ! avdec_h264 ! xvimagesink
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/190.