can gst-dsp work as transcoder?

90 views
Skip to first unread message

in...@unixmedia.it

unread,
Feb 24, 2012, 10:35:06 AM2/24/12
to gst-dsp
Hello all.
I'm trying to setting up a live transcoder that get a video from an
ipcam ( rtsp mpeg4-es streaming, i need to convert it to h264 ) using
a bealgleboard runnig debian.

gst and gst-dsp are installer and working:


QUfficio:~> dsp-test
copied 1000 times successfully
QUfficio:~>

Both encoding and decoding are working great:

gst-launch videotestsrc ! dsph264enc mode=1 ! fakesink -v
and
gst-launch videotestsrc ! dsph264enc mode=1 ! dspvdec ! fakesink -v
are ok.

Also this pipe is working great:
gst-launch rtspsrc location=rtsp://192.168.3.106/img/media.sav !
rtpmp4vdepay ! dspvdec ! queue ! ffmpegcolorspace ! fakesink -v


But when i try to add dsph264enc after dspvdec like:
gst-launch rtspsrc location=rtsp://192.168.3.106/img/media.sav !
rtpmp4vdepay ! dspvdec ! queue ! ffmpegcolorspace ! dspvdec !
fakesink -v

i get an error:
create_node: dsp node create failed
sink_setcaps: dsp node creation failed
ERROR: from element /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/
GstUDPSrc:udpsrc0: Internal data flow error.
Additional debug info:
gstbasesrc.c(2625): gst_base_src_loop (): /GstPipeline:pipeline0/
GstRTSPSrc:rtspsrc0/GstUDPSrc:udpsrc0:


i'm not a gstreamer guru, effectively i usually use ffmpeg for
transcoding, and i'm trying gst only cause of gst-dsp support that is
needed on beagleboard for my goal.

Any hint?


Víctor M. Jáquez L.

unread,
Feb 24, 2012, 11:09:13 AM2/24/12
to in...@unixmedia.it, gst-dsp
> But when i try to add dsph264enc after dspvdec like:
> gst-launch rtspsrc location=rtsp://192.168.3.106/img/media.sav !
> rtpmp4vdepay ! dspvdec ! queue ! ffmpegcolorspace ! dspvdec !
> fakesink -v

This pipeline is wrong: you're trying to decode the stream twice!

vmjl

in...@unixmedia.it

unread,
Feb 24, 2012, 11:23:18 AM2/24/12
to gst-dsp
You right, sorry it was a paste error, the pipe that doesn't work is:
gst-launch rtspsrc location=rtsp://192.168.3.106/img/media.sav !
rtpmp4vdepay ! dspvdec ! queue ! ffmpegcolorspace ! dsph264enc !
fakesink

Adam Pledger

unread,
Feb 24, 2012, 11:28:39 AM2/24/12
to Víctor M. Jáquez L., in...@unixmedia.it, gst-dsp

I'm also interested, because you say that you have working h264
encode, using the dsph264enc element.
Where did you get the binaries from, because the h264 encoder isn't
available in the TI binaries?


Best

Adam

Felipe Contreras

unread,
Feb 24, 2012, 12:14:39 PM2/24/12
to in...@unixmedia.it, gst-dsp
On Fri, Feb 24, 2012 at 5:35 PM, in...@unixmedia.it <in...@unixmedia.it> wrote:
> But when i try to add dsph264enc after dspvdec like:
> gst-launch rtspsrc location=rtsp://192.168.3.106/img/media.sav  !
> rtpmp4vdepay ! dspvdec  ! queue ! ffmpegcolorspace !  dspvdec !
> fakesink -v
>
> i get an error:

I'm not sure, but I vaguely remember that some combination of codecs
running at the same time plainly just fail. Probably a bug in the
codecs.

Anyway, I don't think you need the queue, or the colorspace converter.
Also, you might want to start with something simpler:

% gst-launch -v filesrc location=test.avi ! dspvdec ! dsph264enc ! fakesink

If that doesn't work, I would try different formats: MPEG-4 - > H.264,
MPEG-4 -> MPEG-4, and so on. Also, you can try to split the pipeline
by saving the output to a file, maybe with multipartmux/demux,
martoskamux/demux.

Cheers.

--
Felipe Contreras

in...@unixmedia.it

unread,
Feb 24, 2012, 12:17:11 PM2/24/12
to gst-dsp
Ok, i will try this

On Feb 24, 6:14 pm, Felipe Contreras <felipe.contre...@gmail.com>
wrote:

in...@unixmedia.it

unread,
Feb 24, 2012, 12:16:59 PM2/24/12
to gst-dsp
I've simply searched on google for "h264venc_sn.dll64P" and found
someone that posted online the firmware
of an android softphone where this file is used, downloaded from it,
and it work :)

On Feb 24, 5:28 pm, Adam Pledger <adampled...@gmail.com> wrote:

Víctor M. Jáquez L.

unread,
Feb 24, 2012, 2:46:28 PM2/24/12
to in...@unixmedia.it, gst-dsp
On Fri, Feb 24, 2012 at 09:16:59AM -0800, in...@unixmedia.it wrote:
> I've simply searched on google for "h264venc_sn.dll64P" and found
> someone that posted online the firmware
> of an android softphone where this file is used, downloaded from it,
> and it work :)

Ooops! This is a call for disaster.

There are different versions of the codecs and, AFAIK, all of them are
dependent of the base_image

vmjl

>
> On Feb 24, 5:28�pm, Adam Pledger <adampled...@gmail.com> wrote:

in...@unixmedia.it

unread,
Feb 24, 2012, 2:58:43 PM2/24/12
to gst-dsp
On Feb 24, 8:46 pm, Víctor M. Jáquez L. <vjaq...@igalia.com> wrote:
> On Fri, Feb 24, 2012 at 09:16:59AM -0800, i...@unixmedia.it wrote:
> > I've simply searched on google for "h264venc_sn.dll64P" and found
> > someone that posted online the firmware
> > of an android softphone where this file is used, downloaded from it,
> > and it work :)
>
> Ooops! This is a call for disaster.

(and anyway, i was having the very same issue even before to change
binaries using of course another encoder ( mp4 -> mp4 ))

in...@unixmedia.it

unread,
Feb 24, 2012, 3:21:36 PM2/24/12
to gst-dsp
On Feb 24, 6:14 pm, Felipe Contreras <felipe.contre...@gmail.com>
wrote:
> On Fri, Feb 24, 2012 at 5:35 PM, i...@unixmedia.it <i...@unixmedia.it> wrote:
> > But when i try to add dsph264enc after dspvdec like:
> > gst-launch rtspsrc location=rtsp://192.168.3.106/img/media.sav  !
> > rtpmp4vdepay ! dspvdec  ! queue ! ffmpegcolorspace !  dspvdec !
> > fakesink -v
>
> > i get an error:
>
> I'm not sure, but I vaguely remember that some combination of codecs
> running at the same time plainly just fail. Probably a bug in the
> codecs.
>
> Anyway, I don't think you need the queue, or the colorspace converter.
> Also, you might want to start with something simpler:
>
> % gst-launch -v filesrc location=test.avi ! dspvdec ! dsph264enc ! fakesink
>

after some tests, it seem that there is the same issue every time i
try to do
decoding and encoding on the same papeline, in this order.

If i do only decoding, only encoding or encoding first and decoding,
all it seems to work...


in...@unixmedia.it

unread,
Feb 24, 2012, 2:53:21 PM2/24/12
to gst-dsp
On Feb 24, 8:46 pm, Víctor M. Jáquez L. <vjaq...@igalia.com> wrote:
> On Fri, Feb 24, 2012 at 09:16:59AM -0800, i...@unixmedia.it wrote:
> > I've simply searched on google for "h264venc_sn.dll64P" and found
> > someone that posted online the firmware
> > of an android softphone where this file is used, downloaded from it,
> > and it work :)
>
> Ooops! This is a call for disaster.
>
> There are different versions of the codecs and, AFAIK, all of them are
> dependent of the base_image
>
> vmjl

I was suspecting that and i'm using ALL binaries from android firmware
where i found the h264 encoder,
so, i have NO mixed two different versions...

Felipe Contreras

unread,
Sep 12, 2012, 11:40:52 AM9/12/12
to in...@unixmedia.it, gst-dsp
That's too bad. Maybe trying older versions of the codecs, or perhaps
MPEG-4 instead of H.264. That's the problem with closed binaries; you
can't fix them =/

Cheers.

--
Felipe Contreras
Reply all
Reply to author
Forward
0 new messages