Transmuxing using gst encodebin
Jayanth K.P
kp.jayanth at gmail.com
Mon Feb 14 16:47:03 CET 2011
Hi Edward,
I am running base/tests/examples/encoding/encoding application (this
test application uses uridecodebin and encodebin). Here feed08 is a
FLV file with h264 video. I am stopping the decoding by adding
video/x-h264 and audio/mpeg,mpegversion=4 to the cap of uridecodebin.
./encoding file:///home/jayanth/feed08 -o f1.ts -f video/mpegts -v
video/x-h264 -a audio/mpeg,mpegversion=4 --gst-debug-level=3
But somehow i am not able to get "autoplug-continue" signal .. Plz
suggest me what could be the issue.
- Jayanth
Here are some logs -
===============
ncoding parameters
Container format : MPEG-2 Transport Stream (video/mpegts)
Video format : H.264 (video/x-h264)
Audio format : MPEG-4 AAC (audio/mpeg, mpegversion=(int)4)
Input URI : file:///home/jayanth/feed08
Output URI : file:///home/jayanth/gstreamer/gst-plugins-base-0.10.32/tests/examples/encoding/f1.ts
0:00:00.011603349 25194 0x607340 INFO GST_PLUGIN_LOADING
gstplugin.c:859:gst_plugin_load_file: plugin
"/usr/local/lib/gstreamer-0.10/libgstcoreelements.so" loaded
0:00:00.011632371 25194 0x607340 INFO GST_ELEMENT_FACTORY
gstelementfactory.c:369:gst_element_factory_create: creating element
"filesink" named "sink"
0:00:00.011947524 25194 0x607340 INFO GST_ELEMENT_PADS
gstelement.c:716:gst_element_add_pad:<GstBaseSink at 0x674000> adding pad
'sink'
========== GST_URI_SINK: Created
SINK(file:///home/jayanth/gstreamer/gst-plugins-base-0.10.32/tests/examples/encoding/f1.ts)
Successfully ==========
0:00:00.012469718 25194 0x607340 INFO GST_PLUGIN_LOADING
gstplugin.c:859:gst_plugin_load_file: plugin
"/usr/local/lib/gstreamer-0.10/libgstdecodebin2.so" loaded
0:00:00.012496410 25194 0x607340 INFO GST_ELEMENT_FACTORY
gstelementfactory.c:371:gst_element_factory_create: creating element
"uridecodebin"
========== Created SRC(file:///home/jayanth/feed08) Successfully ==========
Available container formats:
======================== CAPS TO URIDECODEBIN: Num cont caps = 3 ===============
(video/x-raw-yuv; video/x-raw-rgb; video/x-raw-gray; audio/x-raw-int;
audio/x-raw-float; text/plain; text/x-pango-markup;
video/x-dvd-subpicture; subpicture/x-pgs; video/x-h264; audio/mpeg,
mpegversion=(int)4)
======================== END CAPS TO URIDECODEBIN ===============
0:00:00.013302635 25194 0x607340 INFO GST_PLUGIN_LOADING
gstplugin.c:859:gst_plugin_load_file: plugin
"/usr/local/lib/gstreamer-0.10/libgstencodebin.so" loaded
0:00:00.013330062 25194 0x607340 INFO GST_ELEMENT_FACTORY
gstelementfactory.c:371:gst_element_factory_create: creating element
"encodebin"
0:00:00.013727810 25194 0x607340 INFO GST_ELEMENT_PADS
gstelement.c:716:gst_element_add_pad:<GstEncodeBin at 0x67d030> adding
pad 'src'
0:00:00.014145333 25194 0x607340 INFO GST_PLUGIN_LOADING
gstplugin.c:859:gst_plugin_load_file: plugin
"/usr/local/lib/gstreamer-0.10/libgstmpegtsmux.so" loaded
0:00:00.014171670 25194 0x607340 INFO GST_ELEMENT_FACTORY
gstelementfactory.c:369:gst_element_factory_create: creating element
"mpegtsmux" named "muxer"
0:00:00.014426124 25194 0x607340 INFO GST_ELEMENT_PADS
gstelement.c:716:gst_element_add_pad:<MpegTsMux at 0x683050> adding pad
'src'
0:00:00.014557437 25194 0x607340 INFO GST_ELEMENT_PADS
gstelement.c:963:gst_element_get_static_pad: found pad muxer:src
0:00:00.014615785 25194 0x607340 INFO GST_PADS
gstpad.c:1941:gst_pad_link_prepare: trying to link muxer:src and
src:proxypad0
0:00:00.014637911 25194 0x607340 INFO GST_PADS
gstpad.c:2124:gst_pad_link_full: linked muxer:src and src:proxypad0,
successful
0:00:00.014687659 25194 0x607340 INFO GST_ELEMENT_FACTORY
gstelementfactory.c:369:gst_element_factory_create: creating element
"pipeline" named "encoding-pipeline"
0:00:00.014795810 25194 0x607340 INFO GST_ELEMENT_PADS
gstutils.c:1568:gst_element_link_pads_full: trying to link element
encodebin0:(any) to element sink:(any)
0:00:00.014824742 25194 0x607340 INFO GST_PADS
gstutils.c:1028:gst_pad_check_link: trying to link encodebin0:src and
sink:sink
0:00:00.014861179 25194 0x607340 INFO GST_PADS
gstutils.c:1468:prepare_link_maybe_ghosting: encodebin0 and sink in
same bin, no need for ghost pads
0:00:00.014887986 25194 0x607340 INFO GST_PADS
gstpad.c:1941:gst_pad_link_prepare: trying to link encodebin0:src and
sink:sink
0:00:00.014917822 25194 0x607340 INFO GST_PADS
gstpad.c:2124:gst_pad_link_full: linked encodebin0:src and sink:sink,
successful
0:00:00.015199213 25194 0x607340 INFO GST_STATES
gstelement.c:2341:gst_element_continue_state:<sink> completed state
change to READY
0:00:00.015220670 25194 0x607340 INFO GST_STATES
gstelement.c:2354:gst_element_continue_state:<sink> posting
state-changed NULL to READY
0:00:00.015252556 25194 0x607340 INFO GST_STATES
gstbin.c:2492:gst_bin_change_state_func:<encoding-pipeline> child
'sink' changed state to 2(READY) successfully
0:00:00.015291274 25194 0x607340 INFO GST_STATES
gstelement.c:2341:gst_element_continue_state:<muxer> completed state
change to READY
0:00:00.015307364 25194 0x607340 INFO GST_STATES
gstelement.c:2354:gst_element_continue_state:<muxer> posting
state-changed NULL to READY
0:00:00.015329696 25194 0x607340 INFO GST_STATES
gstbin.c:2492:gst_bin_change_state_func:<encodebin0> child 'muxer'
changed state to 2(READY) successfully
0:00:00.015356632 25194 0x607340 INFO GST_STATES
gstelement.c:2341:gst_element_continue_state:<encodebin0> completed
state change to READY
0:00:00.015372438 25194 0x607340 INFO GST_STATES
gstelement.c:2354:gst_element_continue_state:<encodebin0> posting
state-changed NULL to READY
0:00:00.015393544 25194 0x607340 INFO GST_STATES
gstbin.c:2492:gst_bin_change_state_func:<encoding-pipeline> child
'encodebin0' changed state to 2(READY) successfully
0:00:00.015412630 25194 0x607340 INFO GST_STATES
gstelement.c:2314:gst_element_continue_state:<encoding-pipeline>
committing state from NULL to READY, pending PLAYING, next PAUSED
0:00:00.015434457 25194 0x607340 INFO GST_STATES
gstelement.c:2323:gst_element_continue_state:<encoding-pipeline>
continue state change READY to PAUSED, final PLAYING
0:00:00.015501810 25194 0x607340 INFO GST_STATES
gstbin.c:2498:gst_bin_change_state_func:<encoding-pipeline> child
'sink' is changing state asynchronously to PAUSED
0:00:00.015540433 25194 0x607340 INFO GST_STATES
gstelement.c:2341:gst_element_continue_state:<muxer> completed state
change to PAUSED
0:00:00.015557009 25194 0x607340 INFO GST_STATES
gstelement.c:2354:gst_element_continue_state:<muxer> posting
state-changed READY to PAUSED
0:00:00.015579365 25194 0x607340 INFO GST_STATES
gstbin.c:2492:gst_bin_change_state_func:<encodebin0> child 'muxer'
changed state to 3(PAUSED) successfully
0:00:00.015602076 25194 0x607340 INFO GST_STATES
gstelement.c:2341:gst_element_continue_state:<encodebin0> completed
state change to PAUSED
0:00:00.015617937 25194 0x607340 INFO GST_STATES
gstelement.c:2354:gst_element_continue_state:<encodebin0> posting
state-changed READY to PAUSED
0:00:00.015638648 25194 0x607340 INFO GST_STATES
gstbin.c:2492:gst_bin_change_state_func:<encoding-pipeline> child
'encodebin0' changed state to 3(PAUSED) successfully
GOOOOOOOOOOOOOOOOOOT bus_message_cb = <64>
GOOOOOOOOOOOOOOOOOOT bus_message_cb = <64>
GOOOOOOOOOOOOOOOOOOT bus_message_cb = <64>
GOOOOOOOOOOOOOOOOOOT bus_message_cb = <64>
GOOOOOOOOOOOOOOOOOOT bus_message_cb = <64>
GOOOOOOOOOOOOOOOOOOT bus_message_cb = <64>
On Sat, Feb 12, 2011 at 6:32 PM, Edward Hervey <bilboed at gmail.com> wrote:
> On Fri, 2011-02-11 at 20:40 +0530, Jayanth K.P wrote:
>> Hi,
>> I have a requirement to transmux an FLV stream (h.264/mp3) to
>> mpgets(h.264/mp3). I do not want to decode and mux.
>>
>> How can this be achieved by using encodebin ? Or combination of
>> uridecodebin and encodebin .. Plz let me know.
>
> Add the proper h264 and mp3 caps to the uridecodebin caps property (or
> use the various uridecodebin signals to stop decoding)
> Create a container encoding profile for mpegts to which you'll add two
> stream profiles, one for h264 and one for mp3 and then set that on
> encodebin.
> You'll then be able to link the non-decoded pads of uridecodebin to
> the sinkpads of encodebin.
>
> -base/tests/examples/encoding/ might help you.
>
> Edward
>
>>
>> Regards,
>> Jayanth
>> _______________________________________________
>> gstreamer-devel mailing list
>> gstreamer-devel at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
>
>
_______________________________________________
gstreamer-devel mailing list
gstreamer-devel at lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
More information about the gstreamer-devel
mailing list