Can anybody to help me with understand how I can to work with vorbis in Gstreamer via parsebin element ? In examples below I use matroska file with one video (h264) and one audio (vorbis) streams.
For example next case is worked (used auto****sink w/o vorbisparse):
gst-launch-1.0 filesrc location="h264.Vorbis.10sec.mkv" ! parsebin name=pb pb. ! queue ! avdec_h264 ! videoconvert ! autovideosink pb. ! queue ! vorbisdec ! audioconvert ! autoaudiosink
but in this case all hangs (used auto****sink with vorbisparse)
gst-launch-1.0 filesrc location="h264.Vorbis.10sec.mkv" ! parsebin name=pb pb. ! queue ! avdec_h264 ! videoconvert ! autovideosink pb. ! queue ! vorbisparse ! vorbisdec ! audioconvert ! autoaudiosink
worked (used separate filesinks with vorbisparse):
gst-launch-1.0 filesrc location="h264.Vorbis.10sec.mkv" ! parsebin name=pb pb. ! queue ! matroskamux ! filesink location=d:/v.mkv pb. ! queue ! vorbisparse ! matroskamux ! filesink location=d:/a.mkv
hangs (used separate filesinks w/o vorbisparse):
gst-launch-1.0 filesrc location="h264.Vorbis.10sec.mkv" ! parsebin name=pb pb. ! queue ! matroskamux ! filesink location=d:/v.mkv pb. ! queue ! matroskamux ! filesink location=d:/a.mkv
worked (used multiqueue, separate filesinks and vorbisparse):
gst-launch-1.0 filesrc location="h264.Vorbis.10sec.mkv" ! parsebin name=pb ! multiqueue name=mq pb. ! mq. mq.src_0 ! matroskamux name=mux ! filesink location="d:/v.mkv" mq.src_1 ! vorbisparse ! matroskamux ! filesink location="d:/a.mkv"
hangs (used multiqueue, single filesink and vorbisparse):
gst-launch-1.0 filesrc location="h264.Vorbis.10sec.mkv" ! parsebin name=pb ! multiqueue name=mq pb. ! mq. mq.src_0 ! matroskamux name=mux ! filesink location="d:/va.mkv" mq.src_1 ! vorbisparse ! mux.
P.S. My main goal is to use this parsebin element and get the ability to transcode or transmux streams as needed. For example:
- video => transmux, audio => transmux
- video => transmux, audio => transcode
- video => transcode, audio => transmux
- video => transcode, audio => transcode
I will be grateful for your clarifications and help