Hi,<br><br><br><div class="gmail_quote">On Mon, Sep 6, 2010 at 9:19 PM, Oskar Welzl <span dir="ltr"><<a href="mailto:lists@welzl.info">lists@welzl.info</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Hi Marco,<br>
<br>
I didn't see the mailing list in the headers of your mail, so I keep the<br>
private as long as you do. If this wasn't your intention, feel free to<br>
cc the list again. ;)<br></blockquote><div><br>sure it was an error. The fine "Reply" button in google mail ;). Added back the ML to the loop with my apologies.<br> </div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<br>
<br>
Am Montag, den 06.09.2010, 11:30 +0300 schrieb Marco Ballesio:<br>
<div class="im">> transcoding with GStreamer is a tricky art, that's why we have gnonlin<br>
> - but not in Fremantle ;) -. I suggest you to check, first of all, on<br>
> this guide:<br>
><br>
> <a href="http://gentrans.sourceforge.net/docs/head/manual/html/index.html" target="_blank">http://gentrans.sourceforge.net/docs/head/manual/html/index.html</a><br>
><br>
<br>
</div>Thanks; great material!<br>
(Gnonlin, btw, is available for Fremantle in extras-testing.)<br>
<div class="im"><br>
> are you able to transcode using a similar pipeline on a pc (and<br>
> qtmux)?<br>
<br>
</div>I found a way to get things working meanwhile on the N900 (at the<br>
bottom of this mail), using two components from gstreamer0.10-ffmpeg. -<br>
I'm *not* happy though, as I don't like to create dependencies; also, I<br>
assume that the muxers/encoders that come with Fremantle make better use<br>
of the hardware and are faster. (Dont know...)<br>
<br>
What I don't understand is that only a combination of three things<br>
(filesrc+nokiaamrnbenc+hantromp4mux) doesn't work. Replacing the real<br>
files with some kind of test input/output produces good results. Like:<br>
<br>
audiotestsrc ! nokiaamrnbenc ! hantromp4mux >> works<br>
filesrc ! nokiaamrnbenc ! nokiaamrnbdec ! pulsesink >> works<br>
filesrc ! nokiaamrnbenc ! hantromp4mux >> doesn't work<br>
<br>
In order to avoid combining these three into one pipe, I split the work<br>
into two gst-launch lines. One processes the audio and stores it to the<br>
file system. This needs to be done using ffmux_amr, thus introducing the<br>
dependency on gstreamer0.10-ffmpeg:<br>
<br>
$ gst-launch-0.10 \<br>
filesrc location="infile.mp4" ! decodebin ! \<br>
audioconvert ! audioresample ! \<br>
nokiaamrnbenc band-mode=7 ! \<br>
ffmux_amr ! filesink location=sound.amr<br>
<br>
In a second step, I read the video stream from the original file and mux<br>
it with the previously stored audio. With hantromp4mux, this produced a<br>
file that did not work on S60 phones, so I replaced hantromp4mux with<br>
ffmux_3gp. The dependency was already there, anyway:<br>
<br>
$ gst-launch-0.10 ffmux_3gp name=muxer ! \<br>
filesink location="outfile.3gp" \<br>
filesrc location="sound.amr" ! amrparse ! \<br>
queue ! muxer.audio_00 \<br>
filesrc location="infile.mp4" ! decodebin ! \<br>
videoscale ! \<br>
"video/x-raw-yuv, width=176,height=144" ! \<br>
videorate ! \<br>
"video/x-raw-yuv, framerate=15/1" ! \<br>
ffmpegcolorspace ! \<br>
dsph263enc bitrate=50000 ! \<br>
queue ! muxer.video_00<br>
<br>
Bingo! Beautiful 3GP container with AMR-NB audio and H.263 video. Sent<br>
as MMS, works.<br>
<br>
I tried later to use ffmux_3gp with my original one-liner, but no luck.<br>
<br></blockquote><div><br>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.<br>
<br>Regards,<br>Marco <br> </div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<br>
The site you pointed me to made me recall how MP4-muxers in general<br>
don't cope well with missing EOS-signals from the source. Maybe this is<br>
one of the problems here... Wouldn't know how to check right now, but I<br>
think it might be worth investigating.<br>
<br>
> Regards,<br>
<font color="#888888"><br>
Oskar<br>
<br>
<br>
<br>
</font></blockquote></div><br>