[gst-devel] question about converting a 3gp file

Angelo Difino angelo.difino at gmail.com
Thu Sep 20 19:25:11 CEST 2007


Hi all,
i'm also having some troubles with mux and demux togheter.

my chain use avidemux and avimux, my avi has simply raw a/v elementary
stream and i got the same error...

gst-launch-0.10 -m filesrc location=orig.avi ! avidemux name=demuxer
avimux name=mux ! filesink location=dest.avi demuxer.video_%d !
mux.video_%d demuxer.audio_%d ! mux.audio_%d

Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Got Message from element "filesink0" (state-changed): GstMessageState, old-state
=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY,
pending-state=(GstState)GST_STATE_VOID_PENDING
Got Message from element "mux" (state-changed): GstMessageState, old-state=(GstS
tate)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY,
pending-state=(GstState)GST_STATE_VOID_PENDING
Got Message from element "demuxer" (state-changed): GstMessageState, old-state=(
GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY,
pending-state=(GstState)GST_STATE_VOID_PENDING
Got Message from element "filesrc0" (state-changed): GstMessageState, old-state=
(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY,
pending-state=(GstState)GST_STATE_VOID_PENDING
Got Message from element "pipeline0" (state-changed): GstMessageState, old-state
=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY,
pending-state=(GstState)GST_STATE_PAUSED
Got Message from element "mux" (state-changed): GstMessageState, old-state=(GstS
tate)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED,
pending-state=(GstState)GST_STATE_VOID_PENDING
Got Message from element "demuxer" (state-changed): GstMessageState, old-state=(
GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED,
pending-state=(GstState)GST_STATE_VOID_PENDING
Got Message from element "filesrc0" (state-changed): GstMessageState, old-state=
(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED,
pending-state=(GstState)GST_STATE_VOID_PENDING
Got Message from element "demuxer" (tag): taglist, video-codec=(string)"Uncompre
ssed\ packed\ YUV\ 4:2:2"
Got Message from element "demuxer" (tag): taglist, audio-codec=(string)"Uncompre
ssed\ 16-bit\ PCM\ audio"
Got Message from element "demuxer" (tag): taglist, encoder=(string)"GStreamer\ G
ood\ Plug-ins\ 0.10.6\ AVI\ muxer"
Got Message from element "demuxer" (error): GstMessageError, gerror=(GstGError)(
NULL), debug=(string)"E:\\devel-release\\src_releases\\gst-plugins-good\\gst\\av
i\\gstavidemux.c\(3742\):\ \?\?\?\ \(\):\ /pipeline0/demuxer:\012streaming\ stop
ped\,\ reason\ not-linked"
ERROR: from element /pipeline0/demuxer: Internal data stream error.
Additional debug info:
E:\devel-release\src_releases\gst-plugins-good\gst\avi\gstavidemux.c(3742): ???
(): /pipeline0/demuxer:
streaming stopped, reason not-linked
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
FREEING pipeline ...

any suggestions?

>I've tried it
>
>The result is:
>
>Got Message from element "demuxer" (tag): taglist,
>audio-codec=(string)"AMR\ audio"
>Got Message from element "demuxer" (tag): taglist, video-codec=(string)H.263
>Got Message from element "demuxer" (error): GstMessageError,
>gerror=(GstGError)(NULL), debug=(string)"qtdemux.c\(1462\):\
>gst_qtdemux_loop\ \(\):\ /pipeline0/demuxer:\012streaming\ stopped\,\
>reason\ not-linked"
>ERROR: from element /pipeline0/demuxer: GStreamer encountered a
>general stream error.
>Additional debug info:
>qtdemux.c(1462): gst_qtdemux_loop (): /pipeline0/demuxer:
>streaming stopped, reason not-linked
>ERROR: pipeline doesn't want to preroll.
>Setting pipeline to NULL ...
>FREEING pipeline ...
>
>It seems that they doesnt link together in the pipeline?
>
>On 9/18/07, Stefan Kost <ensonic at hora-obscura.de> wrote:
> > Terry,
> >
> > please try my examples. There is no need for two filesrc elements. The %02d was
> > wrong in your example.
> >
> > Stefan
> >
> >
> > Terry Leung wrote:
>> > > Hi,
>> > >
>> > > I have successfully make a pipeline to support this
>> > >
>> > > gst-launch -m ffmux_3gp name=mux ! filesink
>> > > location=/home/video/jill3.3gp {filesrc location=/home/video/jill.3gp
>> > > ! qtdemux name=demuxer ! ffdec_h263 ! ffenc_h263 bitrate=45000
>> > > rtp-payload-size=500 gop-size=3 me-method=4 ! queue }! mux.video_0
>> > > {filesrc location=/home/video/jill.3gp ! qtdemux name=demuxer2  !
>> > > queue }! mux.audio_0
>> > >
>> > > however, as I did use the filesrc two times, I am not sure if the
>> > > video and the audio are synchronize with each other. If I try to use
>> > > the same filesrc and demux, it doesnt work.
>> > > anyone got any idea on how to do that?
>> > >
>> > > On 9/16/07, Stefan Kost <ensonic at hora-obscura.de> wrote:
>>> > >> Hi,
>>> > >>
>>> > >> the pipeline mostly looks good. Can you try
"demuxer.audio_%d" instead of
>>> > >> "demuxer.audio_%02d". Could you maybe also try this variant:
>>> > >>
>>> > >> gst-launch -m filesrc location=/jill.3gp ! qtdemux name=demuxer \
>>> > >> ffmux_3gp name=mux ! filesink location=/jill3.3gp \
>>> > >> demuxer.video_%d ! ffdec_h263 ! ffenc_h263 bitrate=50000
rtp-payload-size=500
>>> > >> gop-size=3 me-method=4 ! mux.video_%d \
>>> > >> demuxer.audio_%d !  mux.audio_%d
>>> > >>
>>> > >> If none works please file a bug?
>>> > >>
>>> > >> Stefan
>>> > >>
>>> > >> Terry Leung wrote:
>>>> > >>> Hi all,
>>>> > >>>
>>>> > >>> I am going to write a program to convert a 3gp file into a suitable
>>>> > >>> format(eg lower bitrate). I try to test the pipeline by using
>>>> > >>> gst-launch
>>>> > >>>
>>>> > >>> The pipeline I use here(The file is econded in h263 and amrnb):
>>>> > >>>
>>>> > >>> gst-launch -m filesrc location=/jill.3gp ! qtdemux name=demuxer !
>>>> > >>> ffdec_h263 ! ffenc_h263 bitrate=50000 rtp-payload-size=500 gop-size=3
>>>> > >>> me-method=4 ! ffmux_3gp name=mux ! filesink location=/jill3.3gp
>>>> > >>> demuxer.audio_%02d !  mux.audio_%d
>>>> > >>>
>>>> > >>> However, the converted file doesnt contain the sound(The video part
>>>> > >>> plays smoothly on quicktime)
>>>> > >>>
>>>> > >>> Any one got any idea on how to configure the pipeline in order to
>>>> > >>> obtain the correct result?




More information about the gstreamer-devel mailing list