how to create pipeline which can let ts to mp4 and without transcode
Williams
ray20704 at gmail.com
Fri May 16 01:45:51 PDT 2014
hello everyone,
I am new to gstreamer and I need help.
I want to save ts and change to mp4 container, so I am doing Experiment
to let ts (video and audio)file change to mp4* without re-encoding. *
It mean just change container(ts ->mp4).
I have view some message, like
http://en.it-usenet.org/thread/16990/6570/
but I still don't understand.
and I success to change ts to mp4 *with transcode* by created the following
pipeline:
gst-launch-0.10 filesrc location=/nico.ts ! mpegtsdemux ! queue ! h264parse
! ffdec_h264 ! ffenc_mpeg4 ! mp4mux ! filesink location=/test.mp4
but when I take out transcode, like following pipeline:
gst-launch-0.10 filesrc location=/nico.ts ! mpegtsdemux ! queue ! h264parse
! mp4mux ! filesink location=/test.mp4
it will not work
and message is follow:
=========================================================================
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
ERROR: from element /GstPipeline:pipeline0/GstFileSrc:filesrc0: Internal
data flow error.
Additional debug info:
gstbasesrc.c(2625): gst_base_src_loop ():
/GstPipeline:pipeline0/GstFileSrc:filesrc0:
streaming task paused, reason not-negotiated (-4)
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...
=========================================================================
and I use --gst-debug=3
I find the place which occur error.
follow is error message :
==========================================================================
129 0:00:00.058553720 4720 0x9bdbf80 INFO GST_PADS
gstutils.c:1596:prepare_link_maybe_ghosting: mpegtsdemux0 and queue0 in same
bin, no need f or ghost pads
130 0:00:00.058603960 4720 0x9bdbf80 INFO GST_PADS
gstpad.c:1978:gst_pad_link_prepare: trying to link mpegtsdemux0:video_1011
and queue0:sink
131 0:00:00.058713059 4720 0x9bdbf80 INFO GST_PADS
gstpad.c:2161:gst_pad_link_full: linked mpegtsdemux0:video_1011 and
queue0:sink, successful
132 0:00:00.058765922 4720 0x9bdbf80 INFO GST_EVENT
gstevent.c:600:gst_event_new_new_segment_full: creating newsegment update 0,
rate 1.000000, format GST_FORMAT_TIME, start 0:00:12.007933333, stop
99:99:99.999999999, position 0:00:00.000000000
133 0:00:00.059159888 4720 0x9bdc000 WARN codecparsers_h264
gsth264parser.c:1072:gst_h264_parser_parse_pic_timing: didn't get the
associated sequence p aramater set for the current access unit
134 0:00:00.059206230 4720 0x9bdc000 WARN codecparsers_h264
gsth264parser.c:1120:gst_h264_parser_parse_pic_timing: error parsing
"Picture timing"
135 0:00:00.059340034 4720 0x9bdbf80 INFO GST_ELEMENT_PADS
gstelement.c:728:gst_element_add_pad:<mpegtsdemux0> adding pad 'audio_1100'
136 0:00:00.059380753 4720 0x9bdbf80 INFO GST_EVENT
gstevent.c:600:gst_event_new_new_segment_full: creating newsegment update 0,
rate 1.000000, format GST_FORMAT_TIME, start 0:00:12.007933333, stop
99:99:99.999999999, position 0:00:00.000000000
137 0:00:00.059496854 4720 0x9bdc000 WARN codecparsers_h264
gsth264parser.c:1756:gst_h264_parser_parse_slice_hdr: couldn't find
associated picture para meter set with id: 0
138 0:00:00.059591160 4720 0x9bdc000 WARN mpegtsdemux
gstmpegtsdemux.c:3104:gst_mpegts_demux_src_pad_query:<mpegtsdemux0>
unsupported query forma t or no bitrate yet to approximate duration from
bytes
139 0:00:00.059865320 4720 0x9bdc000 WARN qtmux
gstqtmux.c:3098:gst_qt_mux_video_sink_set_caps:<mp4mux0> no codec_data in
h264 caps
140 0:00:00.059906029 4720 0x9bdc000 WARN qtmux
gstqtmux.c:3251:gst_qt_mux_video_sink_set_caps:<mp4mux0> pad video_00
refused caps video/x- h264, stream-format=(string)avc,
alignment=(string)au, parsed=(boolean)true, width=(int)1280, height=(int)720
141 0:00:00.060025512 4720 0x9bdbf80 INFO basesrc
gstbasesrc.c:2562:gst_base_src_loop:<filesrc0> pausing after gst_pad_push()
= not-negotiate d
142 0:00:00.060079744 4720 0x9bdbf80 WARN basesrc
gstbasesrc.c:2625:gst_base_src_loop:<filesrc0> error: Internal data flow
error.
143 0:00:00.060114923 4720 0x9bdbf80 WARN basesrc
gstbasesrc.c:2625:gst_base_src_loop:<filesrc0> error: streaming task paused,
reason not-neg otiated (-4)
144 0:00:00.060150687 4720 0x9bdbf80 INFO GST_ERROR_SYSTEM
gstelement.c:1964:gst_element_message_full:<filesrc0> posting message:
Internal data flow e rror.
145 ERROR: from element /GstPipeline:pipeline0/GstFileSrc:filesrc0: Internal
data flow error.
146 Additional debug info:
147 gstbasesrc.c(2625): gst_base_src_loop ():
/GstPipeline:pipeline0/GstFileSrc:filesrc0:
148 streaming task paused, reason not-negotiated (-4)
149 ERROR: pipeline doesn't want to preroll.
==============================================================================
anyone can help me to create a pipeline to let ts file to mp4 without
transcode
--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/how-to-create-pipeline-which-can-let-ts-to-mp4-and-without-transcode-tp4666991.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.
More information about the gstreamer-devel
mailing list