After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 740118 - h264parse: not correctly parsing or passing through avc
h264parse: not correctly parsing or passing through avc
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other All
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2014-11-14 14:45 UTC by Semen Belozorov
Modified: 2018-11-03 13:28 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Semen Belozorov 2014-11-14 14:45:10 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
Comment 1 Semen Belozorov 2014-11-17 15:27:24 UTC
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.
Comment 2 Tim-Philipp Müller 2015-01-07 19:42:14 UTC
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
Comment 3 GStreamer system administrator 2018-11-03 13:28:36 UTC
-- 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.