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 652130 - flvdemux video/x-h264 pad won't link to mpegtsmux
flvdemux video/x-h264 pad won't link to mpegtsmux
Status: RESOLVED NOTABUG
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
0.10.34
Other All
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2011-06-08 17:51 UTC by Sameer Naik
Modified: 2011-06-10 19:05 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Sameer Naik 2011-06-08 17:51:11 UTC
I have noticed that the video/x-h264 pad will not link to the mpegtsmux plugin. On investigation i found that flvdemux generates the pad with the caps video/x-h264, stream-format=avc while mpegtsmux expects video/x-h264, stream-format=bytestream. This should probably updated in mpegtsmux.
Comment 1 Tim-Philipp Müller 2011-06-08 17:56:09 UTC
> This should probably updated in mpegtsmux.

What should be updated exactly?

Have you tried adding an h264parse element in between?
Comment 2 Sameer Naik 2011-06-08 18:18:09 UTC
I have not tried h264parse element. I was thinking adding "video/x-h264,
stream-format=avc" to the mpegtsmux pad caps might be ok. maybe i am wrong.
Comment 3 Sameer Naik 2011-06-10 04:30:55 UTC
Ok tried it, here's what happens

The following pipeline links:
gst-launch filesrc location=infile.flv ! flvdemux ! video/x-h264 ! h264parse ! fakesink 

If mpegtsmux is introduced after the h264parse plugin, then again h264parse and mpegtsmux won't link because of the "stream-format=(string)avc" caps property.

gst-launch rtmpsrc location=rtmp://wms5.blinkotv.com:1935/roku/_definst_/stream1 ! flvdemux ! video/x-h264 ! h264parse ! mpegtsmux ! fakesink
Comment 4 Sameer Naik 2011-06-10 04:33:43 UTC
sorry the second pipeline is:

gst-launch filesrc location=infile.flv ! flvdemux ! video/x-h264 ! h264parse ! mpegtsmux ! fakesink
Comment 5 René Stadler 2011-06-10 13:25:44 UTC
But that is not a bug still, is it? The stream formats are not compatible; the containers require different ones so this can't work. The situation is similar for e.g. AAC audio streams (ADTS vs. MP4 raw). Someone needs to write "format" elements (or add this functionality to the parsers) to get this to work.

I guess you can turn this bug into a feature request/enhancement.
Comment 6 David Schleef 2011-06-10 19:05:27 UTC
(In reply to comment #4)
> gst-launch filesrc location=infile.flv ! flvdemux ! video/x-h264 ! h264parse !
> mpegtsmux ! fakesink

This is the correct way to do it, and yes, it does work.  Perhaps you have don't have up-to-date plugins?