[gst-devel] User question: remux MP4 file/stream (H.264/AAC) toMPEG2TS file/stream

Chris Burns Chris.Burns at abdeus.com
Thu Jul 23 01:30:02 CEST 2009


Hi all,

I finally got a remux pipeline working (thanks tiki_ns
[tihomir.andjelic]!!), after installing FC11, which has *much* newer
gstreamer RPMs available than CentOS 5.3.

As suggested, I used:


[root at gstreamer ~]# gst-launch-0.10 -v --gst-debug-level=2 filesrc
location=infile.mov ! qtdemux name=demux demux.video_00 ! queue !
mpegtsmux name=mux ! filesink location=outfile.ts sync=FALSE
demux.audio_00 ! queue ! mux.
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
0:00:00.185578098 11142  0x9ff3a28 WARN               qtdemux
qtdemux.c:3049:qtdemux_parse_node:<demux> mp4a version 0x00010000
0:00:00.187322240 11142  0x9ff3a28 WARN               qtdemux
qtdemux_types.c:154:qtdemux_type_get: unknown QuickTime node type frma
0:00:00.188526876 11142  0x9ff3a28 WARN               qtdemux
qtdemux_types.c:154:qtdemux_type_get: unknown QuickTime node type chan
0:00:00.189676333 11142  0x9ff3a28 WARN               qtdemux
qtdemux.c:2922:qtdemux_parse_container:<demux> length too long
(1751411826 > 449)
0:00:00.190863896 11142  0x9ff3a28 WARN               qtdemux
qtdemux_types.c:154:qtdemux_type_get: unknown QuickTime node type avc1
0:00:00.191875208 11142  0x9ff3a28 WARN               qtdemux
qtdemux_types.c:154:qtdemux_type_get: unknown QuickTime node type cslg
0:00:00.192970081 11142  0x9ff3a28 WARN               qtdemux
qtdemux_types.c:154:qtdemux_type_get: unknown QuickTime node type sdtp
0:00:00.194288850 11142  0x9ff3a28 WARN               qtdemux
qtdemux.c:2922:qtdemux_parse_container:<demux> length too long
(1751411826 > 1298)
0:00:00.195466875 11142  0x9ff3a28 WARN               qtdemux
qtdemux_types.c:154:qtdemux_type_get: unknown QuickTime node type apmd
0:00:00.196615344 11142  0x9ff3a28 WARN               qtdemux
qtdemux_types.c:154:qtdemux_type_get: unknown QuickTime node type play
0:00:00.197751575 11142  0x9ff3a28 WARN               qtdemux
qtdemux.c:2922:qtdemux_parse_container:<demux> length too long (1245184
> 23)
0:00:00.198888808 11142  0x9ff3a28 WARN               qtdemux
qtdemux.c:2922:qtdemux_parse_container:<demux> length too long (3211264
> 53)
0:00:00.200019696 11142  0x9ff3a28 WARN               qtdemux
qtdemux.c:2922:qtdemux_parse_container:<demux> length too long (1900544
> 33)
0:00:00.201207576 11142  0x9ff3a28 WARN               qtdemux
qtdemux_types.c:154:qtdemux_type_get: unknown QuickTime node type SelO
0:00:00.202314185 11142  0x9ff3a28 WARN               qtdemux
qtdemux_types.c:154:qtdemux_type_get: unknown QuickTime node type AllF
0:00:00.203440383 11142  0x9ff3a28 WARN               qtdemux
qtdemux_types.c:154:qtdemux_type_get: unknown QuickTime node type WLOC
0:00:00.204464558 11142  0x9ff3a28 WARN               qtdemux
qtdemux_types.c:154:qtdemux_type_get: unknown QuickTime node type OleS
0:00:00.205704147 11142  0x9ff3a28 WARN               qtdemux
qtdemux_types.c:154:qtdemux_type_get: unknown QuickTime node type FllA
/GstPipeline:pipeline0/GstQueue:queue1.GstPad:sink: caps = audio/mpeg,
mpegversion=(int)4, framed=(boolean)true, codec_data=(buffer)1290,
rate=(int)32000, channels=(int)2
/GstPipeline:pipeline0/GstQueue:queue1.GstPad:src: caps = audio/mpeg,
mpegversion=(int)4, framed=(boolean)true, codec_data=(buffer)1290,
rate=(int)32000, channels=(int)2
/GstPipeline:pipeline0/MpegTsMux:mux.GstPad:sink_64: caps = audio/mpeg,
mpegversion=(int)4, framed=(boolean)true, codec_data=(buffer)1290,
rate=(int)32000, channels=(int)2
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:sink: caps = video/x-h264,
codec_data=(buffer)014d401fffe10015274d401fa9181b07bcde00d4040406db0ad7b
df01001000428de09c8, width=(int)853, height=(int)480,
framerate=(fraction)30/1
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:src: caps = video/x-h264,
codec_data=(buffer)014d401fffe10015274d401fa9181b07bcde00d4040406db0ad7b
df01001000428de09c8, width=(int)853, height=(int)480,
framerate=(fraction)30/1
/GstPipeline:pipeline0/MpegTsMux:mux.GstPad:sink_65: caps =
video/x-h264,
codec_data=(buffer)014d401fffe10015274d401fa9181b07bcde00d4040406db0ad7b
df01001000428de09c8, width=(int)853, height=(int)480,
framerate=(fraction)30/1
/GstPipeline:pipeline0/MpegTsMux:mux.GstPad:src: caps = video/mpegts,
systemstream=(boolean)true, packetsize=(int)188
/GstPipeline:pipeline0/GstFileSink:filesink0.GstPad:sink: caps =
video/mpegts, systemstream=(boolean)true, packetsize=(int)188
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Got EOS from element "pipeline0".
Execution ended after 9052614624 ns.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
/GstPipeline:pipeline0/GstFileSink:filesink0.GstPad:sink: caps = NULL
/GstPipeline:pipeline0/MpegTsMux:mux.GstPad:sink_65: caps = NULL
/GstPipeline:pipeline0/MpegTsMux:mux.GstPad:sink_64: caps = NULL
/GstPipeline:pipeline0/MpegTsMux:mux.GstPad:src: caps = NULL
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:src: caps = NULL
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:sink: caps = NULL
/GstPipeline:pipeline0/GstQueue:queue1.GstPad:src: caps = NULL
/GstPipeline:pipeline0/GstQueue:queue1.GstPad:sink: caps = NULL
/GstPipeline:pipeline0/GstQTDemux:demux.GstPad:video_00: caps = NULL
/GstPipeline:pipeline0/GstQTDemux:demux.GstPad:audio_00: caps = NULL
Setting pipeline to NULL ...
Freeing pipeline ...


The resulting outfile.ts plays in VLC-v1.0.0/WinXP, but does NOT play on
our target player.

Eventually, we plan to receive our incoming data (live pre-encoded video
stream) via RTP and will output via UDP for additional processing.


We've had good results encoding static files (for VoD) using ffmpeg and
packaging as MPEG2-TS, so was trying to switch the muxing to the
ffmux_mpegts element. I was warned away from this several times on the
#gstreamer IRC channel, but still want to give it a go.

When I drop it into my pipeline, it jusr stalls like this:


[root at gstreamer ~]# gst-launch-0.10 -v --gst-debug-level=2 filesrc
location=artbeats_m480p20081003.mov ! qtdemux name=demux demux.video_00
! queue ! ffmux_mpegts name=mux ! filesink location=outfile.ts
sync=FALSE demux.audio_00 ! queue ! mux.
0:00:00.309143351 11147  0x9e51050 WARN                ffmpeg
gstffmpegenc.c:1036:gst_ffmpegenc_register: Couldn't get source caps for
encoder jpegls
0:00:00.359923294 11147  0x9e51050 WARN                ffmpeg
gstffmpegenc.c:1036:gst_ffmpegenc_register: Couldn't get source caps for
encoder sgi
0:00:00.366074210 11147  0x9e51050 WARN                ffmpeg
gstffmpegenc.c:1036:gst_ffmpegenc_register: Couldn't get source caps for
encoder targa
0:00:00.367252813 11147  0x9e51050 WARN                ffmpeg
gstffmpegenc.c:1036:gst_ffmpegenc_register: Couldn't get source caps for
encoder tiff
0:00:00.383039745 11147  0x9e51050 WARN                ffmpeg
gstffmpegenc.c:1036:gst_ffmpegenc_register: Couldn't get source caps for
encoder pcm_f32be
0:00:00.384093189 11147  0x9e51050 WARN                ffmpeg
gstffmpegenc.c:1036:gst_ffmpegenc_register: Couldn't get source caps for
encoder pcm_f32le
0:00:00.385325476 11147  0x9e51050 WARN                ffmpeg
gstffmpegenc.c:1036:gst_ffmpegenc_register: Couldn't get source caps for
encoder pcm_f64be
0:00:00.386334743 11147  0x9e51050 WARN                ffmpeg
gstffmpegenc.c:1036:gst_ffmpegenc_register: Couldn't get source caps for
encoder pcm_f64le
0:00:00.387541620 11147  0x9e51050 WARN                ffmpeg
gstffmpegenc.c:1036:gst_ffmpegenc_register: Couldn't get source caps for
encoder pcm_zork
0:00:00.394874794 11147  0x9e51050 WARN                ffmpeg
gstffmpegenc.c:1036:gst_ffmpegenc_register: Couldn't get source caps for
encoder dvbsub
0:00:00.396037986 11147  0x9e51050 WARN                ffmpeg
gstffmpegenc.c:1036:gst_ffmpegenc_register: Couldn't get source caps for
encoder dvdsub
0:00:00.401296556 11147  0x9e51050 WARN                ffmpeg
gstffmpegdec.c:2596:gst_ffmpegdec_register: Couldn't get sink caps for
decoder 'bethsoftvid'
0:00:00.402396496 11147  0x9e51050 WARN                ffmpeg
gstffmpegdec.c:2596:gst_ffmpegdec_register: Couldn't get sink caps for
decoder 'bfi'
0:00:00.404403852 11147  0x9e51050 WARN                ffmpeg
gstffmpegdec.c:2596:gst_ffmpegdec_register: Couldn't get sink caps for
decoder 'c93'
0:00:00.410561253 11147  0x9e51050 WARN                ffmpeg
gstffmpegdec.c:2596:gst_ffmpegdec_register: Couldn't get sink caps for
decoder 'dsicinvideo'
0:00:00.412656337 11147  0x9e51050 WARN                ffmpeg
gstffmpegdec.c:2596:gst_ffmpegdec_register: Couldn't get sink caps for
decoder 'dxa'
0:00:00.413731378 11147  0x9e51050 WARN                ffmpeg
gstffmpegdec.c:2596:gst_ffmpegdec_register: Couldn't get sink caps for
decoder 'eacmv'
0:00:00.414988304 11147  0x9e51050 WARN                ffmpeg
gstffmpegdec.c:2596:gst_ffmpegdec_register: Couldn't get sink caps for
decoder 'eatgq'
0:00:00.415999463 11147  0x9e51050 WARN                ffmpeg
gstffmpegdec.c:2596:gst_ffmpegdec_register: Couldn't get sink caps for
decoder 'eatgv'
0:00:00.417134258 11147  0x9e51050 WARN                ffmpeg
gstffmpegdec.c:2596:gst_ffmpegdec_register: Couldn't get sink caps for
decoder 'eatqi'
0:00:00.419238997 11147  0x9e51050 WARN                ffmpeg
gstffmpegdec.c:2596:gst_ffmpegdec_register: Couldn't get sink caps for
decoder '8svx_exp'
0:00:00.420294233 11147  0x9e51050 WARN                ffmpeg
gstffmpegdec.c:2596:gst_ffmpegdec_register: Couldn't get sink caps for
decoder '8svx_fib'
0:00:00.421474626 11147  0x9e51050 WARN                ffmpeg
gstffmpegdec.c:2596:gst_ffmpegdec_register: Couldn't get sink caps for
decoder 'escape124'
0:00:00.435555685 11147  0x9e51050 WARN                ffmpeg
gstffmpegdec.c:2596:gst_ffmpegdec_register: Couldn't get sink caps for
decoder 'jpegls'
0:00:00.442917895 11147  0x9e51050 WARN                ffmpeg
gstffmpegdec.c:2596:gst_ffmpegdec_register: Couldn't get sink caps for
decoder 'motionpixels'
0:00:00.454080246 11147  0x9e51050 WARN                ffmpeg
gstffmpegdec.c:2596:gst_ffmpegdec_register: Couldn't get sink caps for
decoder 'pcx'
0:00:00.458532376 11147  0x9e51050 WARN                ffmpeg
gstffmpegdec.c:2596:gst_ffmpegdec_register: Couldn't get sink caps for
decoder 'ptx'
0:00:00.462335073 11147  0x9e51050 WARN                ffmpeg
gstffmpegdec.c:2596:gst_ffmpegdec_register: Couldn't get sink caps for
decoder 'rl2'
0:00:00.468386937 11147  0x9e51050 WARN                ffmpeg
gstffmpegdec.c:2596:gst_ffmpegdec_register: Couldn't get sink caps for
decoder 'sgi'
0:00:00.469484132 11147  0x9e51050 WARN                ffmpeg
gstffmpegdec.c:2596:gst_ffmpegdec_register: Couldn't get sink caps for
decoder 'smackvid'
0:00:00.473293855 11147  0x9e51050 WARN                ffmpeg
gstffmpegdec.c:2596:gst_ffmpegdec_register: Couldn't get sink caps for
decoder 'sunrast'
0:00:00.476447558 11147  0x9e51050 WARN                ffmpeg
gstffmpegdec.c:2596:gst_ffmpegdec_register: Couldn't get sink caps for
decoder 'targa'
0:00:00.478582843 11147  0x9e51050 WARN                ffmpeg
gstffmpegdec.c:2596:gst_ffmpegdec_register: Couldn't get sink caps for
decoder 'thp'
0:00:00.479662524 11147  0x9e51050 WARN                ffmpeg
gstffmpegdec.c:2596:gst_ffmpegdec_register: Couldn't get sink caps for
decoder 'tiertexseqvideo'
0:00:00.480946449 11147  0x9e51050 WARN                ffmpeg
gstffmpegdec.c:2596:gst_ffmpegdec_register: Couldn't get sink caps for
decoder 'tiff'
0:00:00.484636821 11147  0x9e51050 WARN                ffmpeg
gstffmpegdec.c:2596:gst_ffmpegdec_register: Couldn't get sink caps for
decoder 'txd'
0:00:00.486738178 11147  0x9e51050 WARN                ffmpeg
gstffmpegdec.c:2596:gst_ffmpegdec_register: Couldn't get sink caps for
decoder 'vb'
0:00:00.509267008 11147  0x9e51050 WARN                ffmpeg
gstffmpegdec.c:2596:gst_ffmpegdec_register: Couldn't get sink caps for
decoder 'dsicinaudio'
0:00:00.526913189 11147  0x9e51050 WARN                ffmpeg
gstffmpegdec.c:2596:gst_ffmpegdec_register: Couldn't get sink caps for
decoder 'smackaud'
0:00:00.535155159 11147  0x9e51050 WARN                ffmpeg
gstffmpegdec.c:2596:gst_ffmpegdec_register: Couldn't get sink caps for
decoder 'pcm_dvd'
0:00:00.536356709 11147  0x9e51050 WARN                ffmpeg
gstffmpegdec.c:2596:gst_ffmpegdec_register: Couldn't get sink caps for
decoder 'pcm_f32be'
0:00:00.537382860 11147  0x9e51050 WARN                ffmpeg
gstffmpegdec.c:2596:gst_ffmpegdec_register: Couldn't get sink caps for
decoder 'pcm_f32le'
0:00:00.538622808 11147  0x9e51050 WARN                ffmpeg
gstffmpegdec.c:2596:gst_ffmpegdec_register: Couldn't get sink caps for
decoder 'pcm_f64be'
0:00:00.539630009 11147  0x9e51050 WARN                ffmpeg
gstffmpegdec.c:2596:gst_ffmpegdec_register: Couldn't get sink caps for
decoder 'pcm_f64le'
0:00:00.540882618 11147  0x9e51050 WARN                ffmpeg
gstffmpegdec.c:2596:gst_ffmpegdec_register: Couldn't get sink caps for
decoder 'pcm_s16le_planar'
0:00:00.542003317 11147  0x9e51050 WARN                ffmpeg
gstffmpegdec.c:2596:gst_ffmpegdec_register: Couldn't get sink caps for
decoder 'pcm_zork'
0:00:00.573693777 11147  0x9e51050 WARN                ffmpeg
gstffmpegdec.c:2596:gst_ffmpegdec_register: Couldn't get sink caps for
decoder 'dvbsub'
0:00:00.574761716 11147  0x9e51050 WARN                ffmpeg
gstffmpegdec.c:2596:gst_ffmpegdec_register: Couldn't get sink caps for
decoder 'dvdsub'
0:00:00.575959224 11147  0x9e51050 WARN                ffmpeg
gstffmpegdec.c:2596:gst_ffmpegdec_register: Couldn't get sink caps for
decoder 'xsub'
0:00:00.641482370 11147  0x9e51050 WARN                ffmpeg
gstffmpegmux.c:815:gst_ffmpegmux_register: Couldn't get sink caps for
muxer ass. Most likely because no input format mapping exists.
Setting pipeline to PAUSED ...
0:00:00.774412603 11147  0xa02fbd0 WARN               qtdemux
qtdemux.c:3049:qtdemux_parse_node:<demux> mp4a version 0x00010000
0:00:00.775612325 11147  0xa02fbd0 WARN               qtdemux
qtdemux_types.c:154:qtdemux_type_get: unknown QuickTime node type frma
0:00:00.776928179 11147  0xa02fbd0 WARN               qtdemux
qtdemux_types.c:154:qtdemux_type_get: unknown QuickTime node type chan
0:00:00.778089454 11147  0xa02fbd0 WARN               qtdemux
qtdemux.c:2922:qtdemux_parse_container:<demux> length too long
(1751411826 > 449)
0:00:00.779288892 11147  0xa02fbd0 WARN               qtdemux
qtdemux_types.c:154:qtdemux_type_get: unknown QuickTime node type avc1
0:00:00.780448459 11147  0xa02fbd0 WARN               qtdemux
qtdemux_types.c:154:qtdemux_type_get: unknown QuickTime node type cslg
0:00:00.781603321 11147  0xa02fbd0 WARN               qtdemux
qtdemux_types.c:154:qtdemux_type_get: unknown QuickTime node type sdtp
0:00:00.782882896 11147  0xa02fbd0 WARN               qtdemux
qtdemux.c:2922:qtdemux_parse_container:<demux> length too long
(1751411826 > 1298)
0:00:00.784078843 11147  0xa02fbd0 WARN               qtdemux
qtdemux_types.c:154:qtdemux_type_get: unknown QuickTime node type apmd
0:00:00.785208053 11147  0xa02fbd0 WARN               qtdemux
qtdemux_types.c:154:qtdemux_type_get: unknown QuickTime node type play
0:00:00.786338746 11147  0xa02fbd0 WARN               qtdemux
qtdemux.c:2922:qtdemux_parse_container:<demux> length too long (1245184
> 23)
0:00:00.787481762 11147  0xa02fbd0 WARN               qtdemux
qtdemux.c:2922:qtdemux_parse_container:<demux> length too long (3211264
> 53)
0:00:00.788626175 11147  0xa02fbd0 WARN               qtdemux
qtdemux.c:2922:qtdemux_parse_container:<demux> length too long (1900544
> 33)
0:00:00.789716181 11147  0xa02fbd0 WARN               qtdemux
qtdemux_types.c:154:qtdemux_type_get: unknown QuickTime node type SelO
0:00:00.790850990 11147  0xa02fbd0 WARN               qtdemux
qtdemux_types.c:154:qtdemux_type_get: unknown QuickTime node type AllF
0:00:00.791973750 11147  0xa02fbd0 WARN               qtdemux
qtdemux_types.c:154:qtdemux_type_get: unknown QuickTime node type WLOC
0:00:00.793103497 11147  0xa02fbd0 WARN               qtdemux
qtdemux_types.c:154:qtdemux_type_get: unknown QuickTime node type OleS
0:00:00.794244731 11147  0xa02fbd0 WARN               qtdemux
qtdemux_types.c:154:qtdemux_type_get: unknown QuickTime node type FllA
Pipeline is PREROLLING ...
/GstPipeline:pipeline0/GstQueue:queue1.GstPad:sink: caps = audio/mpeg,
mpegversion=(int)4, framed=(boolean)true, codec_data=(buffer)1290,
rate=(int)32000, channels=(int)2
/GstPipeline:pipeline0/GstQueue:queue1.GstPad:src: caps = audio/mpeg,
mpegversion=(int)4, framed=(boolean)true, codec_data=(buffer)1290,
rate=(int)32000, channels=(int)2
/GstPipeline:pipeline0/ffmux_mpegts:mux.GstPad:audio_0: caps =
audio/mpeg, mpegversion=(int)4, framed=(boolean)true,
codec_data=(buffer)1290, rate=(int)32000, channels=(int)2


Anyone have any ideas what's up here?


gstreamer versions:

[root at gstreamer ~]# yum list installed '*gstreamer*'
Loaded plugins: refresh-packagekit
Installed Packages
PackageKit-gstreamer-plugin.i586             0.4.8-2.fc11
installed
gstreamer.i586                               0.10.23-2.fc11
installed
gstreamer-ffmpeg.i586                        0.10.7-2.fc11.1
@rpmfusion-free-updates
gstreamer-plugins-bad.i586                   0.10.13-3.fc11
@rpmfusion-free-updates
gstreamer-plugins-base.i586                  0.10.23-3.fc11
installed
gstreamer-plugins-flumpegdemux.i586          0.10.15-6.fc11
installed
gstreamer-plugins-good.i586                  0.10.15-3.fc11
installed
gstreamer-plugins-ugly.i586                  0.10.12-1.fc11
@rpmfusion-free-updates
gstreamer-python.i586                        0.10.15-1.fc11
installed
gstreamer-rtsp.i586                          0.10.3-1.fc11
@updates
gstreamer-tools.i586                         0.10.23-2.fc11
installed
totem-gstreamer.i586                         2.26.2-1.fc11
installed


Cheers,

ChrisB
--
chris.burns at abdeus.com
 




More information about the gstreamer-devel mailing list