Discussion:
G.726 streaming using MPEG-TS Muxer
Ramgopal Kota
2013-01-29 13:54:11 UTC
Permalink
Hi,

I have a requirement to stream audio,video,voice data on an MPEG-TS stream.
Currently I could successfully do the audio,video part.
For voice part I am using G.726 codec. With ffenc_g726 + rtpg726pay &
rtpg726depay + ffdec_g726, I could stream from once board to another and
encode/decode voice.
The problem is I am not able to link ffenc_g726 with mpegtsmux ..
I looked into the SINK & SRC Caps for g726 encoder and mpegtsmux, I did not
find audio/x-adpcm caps in the mpegtsmuxer but there is audio/x-lpcm. So I
changed audio/x-lpcm to audio/x-adpcm and added required rate/bitrate
parameters to mpegtsmux. Still I am getting pipeline linking errors.

Can anyone suggest how to stream G.726 Voice data using MPEG-TS muxer ?
Its Ok, if I need to convert to another format like ASF (while googling I
found that ASF supports G.726) ..

Please suggest some pointers how to proceed ?

Thanks in advance,
Ramgopal Kota
Chuck Crisler
2013-01-29 15:00:10 UTC
Permalink
You don't need the RTP with the MP2T, they are redundant. Just route the
encoder output to the MPEGTSMUX and then UDPSINK. You may need a queue or
ffmpegcolorspace, but other than that it is simple. MP2T can multiplex
several stream types into one logical stream, so you should be able to
multiplex all three. However, from my experience, RTP is much more
efficient in terms of CPU usage and network bandwidht usage. You might want
to question the requirement to use MP2T.
Post by Ramgopal Kota
Hi,
I have a requirement to stream audio,video,voice data on an MPEG-TS stream.
Currently I could successfully do the audio,video part.
For voice part I am using G.726 codec. With ffenc_g726 + rtpg726pay &
rtpg726depay + ffdec_g726, I could stream from once board to another and
encode/decode voice.
The problem is I am not able to link ffenc_g726 with mpegtsmux ..
I looked into the SINK & SRC Caps for g726 encoder and mpegtsmux, I did
not find audio/x-adpcm caps in the mpegtsmuxer but there is audio/x-lpcm.
So I changed audio/x-lpcm to audio/x-adpcm and added required rate/bitrate
parameters to mpegtsmux. Still I am getting pipeline linking errors.
Can anyone suggest how to stream G.726 Voice data using MPEG-TS muxer ?
Its Ok, if I need to convert to another format like ASF (while googling I
found that ASF supports G.726) ..
Please suggest some pointers how to proceed ?
Thanks in advance,
Ramgopal Kota
_______________________________________________
gstreamer-devel mailing list
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
eswar
2013-01-30 08:00:39 UTC
Permalink
Hi Crisler,

The Below pipeline works fine.

gst-launch -v alsasrc !
audio/x-raw-int,rate=8000,channels=1,depth=16,width=16,
endianness=1234,signed=true ! ffenc_g726 bitrate=32000 ! rtpg726pay !
udpsink host=192.168.10.20 port=5544

We tried the following pipeline for mpegts


gst-launch --gst-debug=2 -v alsasrc !
audio/x-raw-int,rate=8000,channels=1,depth=16,width=16,endianness=1234,signed=true
! ffenc_g726 bitrate=32000 ! mpegtsmux ! udpsink host=192.168.20.10
port=5544

We are getting following error.

(gst-launch-0.10:1013): GStreamer-CRITICAL **: gst_pad_set_caps: assertion
`caps == NULL || gst_caps_is_fixed (caps)' failed

The attached files contains gst-inspect for rtpg726pay,mpegtsmux,ffenc_g726
and debug output for above command.

log.txt --> gst-inspect for rtpg726pay,mpegtsmux,ffenc_g726
debug.txt--> debug info for the above command.

log.txt <http://gstreamer-devel.966125.n4.nabble.com/file/n4658228/log.txt>
debug.txt
<http://gstreamer-devel.966125.n4.nabble.com/file/n4658228/debug.txt>

Thank You
Eswar






--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/G-726-streaming-using-MPEG-TS-Muxer-tp4658210p4658228.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.
Chuck Crisler
2013-02-04 17:01:57 UTC
Permalink
Sorry for the delayed response. gst-inspect ffenc_g726 shows that the input
wants a rate of 4000 or 96000. It looks to me like you have set 8000 in
your caps.
Post by eswar
Hi Crisler,
The Below pipeline works fine.
gst-launch -v alsasrc !
audio/x-raw-int,rate=8000,channels=1,depth=16,width=16,
endianness=1234,signed=true ! ffenc_g726 bitrate=32000 ! rtpg726pay !
udpsink host=192.168.10.20 port=5544
We tried the following pipeline for mpegts
gst-launch --gst-debug=2 -v alsasrc !
audio/x-raw-int,rate=8000,channels=1,depth=16,width=16,endianness=1234,signed=true
! ffenc_g726 bitrate=32000 ! mpegtsmux ! udpsink host=192.168.20.10
port=5544
We are getting following error.
(gst-launch-0.10:1013): GStreamer-CRITICAL **: gst_pad_set_caps: assertion
`caps == NULL || gst_caps_is_fixed (caps)' failed
The attached files contains gst-inspect for rtpg726pay,mpegtsmux,ffenc_g726
and debug output for above command.
log.txt --> gst-inspect for rtpg726pay,mpegtsmux,ffenc_g726
debug.txt--> debug info for the above command.
log.txt <http://gstreamer-devel.966125.n4.nabble.com/file/n4658228/log.txt
debug.txt
<http://gstreamer-devel.966125.n4.nabble.com/file/n4658228/debug.txt>
Thank You
Eswar
--
http://gstreamer-devel.966125.n4.nabble.com/G-726-streaming-using-MPEG-TS-Muxer-tp4658210p4658228.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.
_______________________________________________
gstreamer-devel mailing list
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Loading...