Hi,

On Mon, Sep 6, 2010 at 9:19 PM, Oskar Welzl <li...@welzl.info> wrote:

> Hi Marco,
>
> I didn't see the mailing list in the headers of your mail, so I keep the
> private as long as you do. If this wasn't your intention, feel free to
> cc the list again. ;)
>

sure it was an error. The fine "Reply" button in google mail ;). Added back
the ML to the loop with my apologies.


>
>
> Am Montag, den 06.09.2010, 11:30 +0300 schrieb Marco Ballesio:
> > transcoding with GStreamer is a tricky art, that's why we have gnonlin
> > - but not in Fremantle ;) -. I suggest you to check, first of all, on
> > this guide:
> >
> > http://gentrans.sourceforge.net/docs/head/manual/html/index.html
> >
>
> Thanks; great material!
> (Gnonlin, btw, is available for Fremantle in extras-testing.)
>
> > are you able to transcode using a similar pipeline on a pc (and
> > qtmux)?
>
> I found a way to get things working meanwhile on the N900 (at the
> bottom of this mail), using two components from gstreamer0.10-ffmpeg. -
> I'm *not* happy though, as I don't like to create dependencies; also, I
> assume that the muxers/encoders that come with Fremantle make better use
> of the hardware and are faster. (Dont know...)
>
> What I don't understand is that only a combination of three things
> (filesrc+nokiaamrnbenc+hantromp4mux) doesn't work. Replacing the real
> files with some kind of test input/output produces good results. Like:
>
> audiotestsrc ! nokiaamrnbenc ! hantromp4mux >> works
> filesrc ! nokiaamrnbenc ! nokiaamrnbdec ! pulsesink >> works
> filesrc ! nokiaamrnbenc ! hantromp4mux >> doesn't work
>
> In order to avoid combining these three into one pipe, I split the work
> into two gst-launch lines. One processes the audio and stores it to the
> file system. This needs to be done using ffmux_amr, thus introducing the
> dependency on gstreamer0.10-ffmpeg:
>
> $ gst-launch-0.10 \
> filesrc location="infile.mp4" ! decodebin ! \
> audioconvert ! audioresample ! \
> nokiaamrnbenc band-mode=7 ! \
> ffmux_amr ! filesink location=sound.amr
>
> In a second step, I read the video stream from the original file and mux
> it with the previously stored audio. With hantromp4mux, this produced a
> file that did not work on S60 phones, so I replaced hantromp4mux with
> ffmux_3gp. The dependency was already there, anyway:
>
> $ gst-launch-0.10 ffmux_3gp name=muxer ! \
> filesink location="outfile.3gp" \
> filesrc location="sound.amr" ! amrparse ! \
> queue ! muxer.audio_00 \
> filesrc location="infile.mp4" ! decodebin ! \
> videoscale ! \
> "video/x-raw-yuv, width=176,height=144" ! \
> videorate ! \
> "video/x-raw-yuv, framerate=15/1" ! \
> ffmpegcolorspace ! \
> dsph263enc bitrate=50000 ! \
> queue ! muxer.video_00
>
> Bingo! Beautiful 3GP container with AMR-NB audio and H.263 video. Sent
> as MMS, works.
>
> I tried later to use ffmux_3gp with my original one-liner, but no luck.
>
>
In my experience you may have issues with the caps/capsfilter used in the
pipeline and because of where you've put the "queue" elements. This is why I
redirected you to that manual, written by an expert on the subject, and to
the GStreamer developers' ML. Maybe later today I'll have some time to give
your pipeline a try on the N900 and get a precise image of what needs to be
done.

Regards,
Marco


>
> The site you pointed me to made me recall how MP4-muxers in general
> don't cope well with missing EOS-signals from the source. Maybe this is
> one of the problems here... Wouldn't know how to check right now, but I
> think it might be worth investigating.
>
> > Regards,
>
> Oskar
>
>
>
>
_______________________________________________
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers

Reply via email to