[gst-devel] Next task: Generate QuickTime output for Cinelerra editing

Stefan Kost ensonic at hora-obscura.de
Sat Mar 8 17:09:57 CET 2008


Hi Jason,

the ffmux_mov seems to not work well. GStreamer applied for Google Summer of
Code again and one task would be a mov muxer:
http://gstreamer.freedesktop.org/wiki/QuicktimeMP4Muxer

Stefan

Jason L. Buberel schrieb:
> Now that (I think) I have done as much damage as possible to the art of 
> creating Ogg-formatted files containing vorbis-encoded audio and 
> theora-encoded video (http://www.buberel.org/best.ogg) with a webcam, I 
> would now like to capture video + audio to a file format that can be 
> edited by Cinelerra.
> 
> According to the Cinelerra docs here:
> http://cv.cinelerra.org/docs/cinelerra_cv_manual_en.html#SEC70
> 
> The preferred file format is QuickTime-formatted files containing 
> MPEG4-encoded video and MPEG4-encoded audio.
> 
> In reviewing the gstreamer documentation, I found that 'ffmux_mov' 
> should be able to mux those two inputs:
> 
> ffmux_mov:       audio/mpeg
> ffmux_mov:                    rate: [ 8000, 96000 ]
> ffmux_mov:                channels: [ 1, 2 ]
> ffmux_mov:             mpegversion: 4
> [snip]
> ffmux_mov:       video/mpeg
> ffmux_mov:                   width: [ 16, 4096 ]
> ffmux_mov:                  height: [ 16, 4096 ]
> ffmux_mov:               framerate: [ 0/1, 2147483647/1 ]
> ffmux_mov:             mpegversion: 4
> ffmux_mov:            systemstream: false
> 
> After reviewing the set of audio and video codecs, it looked like I 
> should be using:
> 
> ffenc_mpeg4:       video/mpeg
> ffenc_mpeg4:                   width: [ 16, 4096 ]
> ffenc_mpeg4:                  height: [ 16, 4096 ]
> ffenc_mpeg4:               framerate: [ 0/1, 2147483647/1 ]
> ffenc_mpeg4:             mpegversion: 4
> ffenc_mpeg4:            systemstream: false
> 
> and for the audio there seems to be a single option:
> 
> faac:       audio/mpeg
> faac:             mpegversion: { 4, 2 }
> faac:                channels: [ 1, 6 ]
> faac:                    rate: [ 8000, 96000 ]
> 
> 
> But when I run a test command to validate just the audio pathway, the 
> file that is generated cannot be played back in xine or mplayer. The 
> error message produced seems to indicate that the problem is with the 
> quicktime file format and header information:
> 
>  > gst-launch-0.10 -v   alsasrc device="hw:1,0"  !  
> audio/x-raw-int,rate=16000,channels=1,depth=16 ! faac bitrate=16000 
> name=aenc ! ffmux_mov name=mux ! filesink location=out.mov
> 
> See: http://www.buberel.org/qt-audio.mov
> 
>  > mplayer out.mov
> Playing out.mov.
> ISO: File Type Major Brand: Original QuickTime
> MOV: missing header (moov/cmov) chunk! Maybe broken file...
> ISO: File Type Major Brand: Original QuickTime
> MOV: missing header (moov/cmov) chunk! Maybe broken file...
> libavformat file format detected.
> LAVF: no audio or video headers found - broken file?
> 
> The debug output from the gstreamer encoding command is:
> 
> Setting pipeline to PAUSED ...
> /pipeline0/alsasrc0.src: caps = audio/x-raw-int, endianness=(int)1234, 
> signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)16000, 
> channels=(int)1
> Pipeline is live and does not need PREROLL ...
> Setting pipeline to PLAYING ...
> New clock: GstAudioSrcClock
> /pipeline0/capsfilter0.src: caps = audio/x-raw-int, 
> endianness=(int)1234, signed=(boolean)true, width=(int)16, 
> depth=(int)16, rate=(int)16000, channels=(int)1
> /pipeline0/capsfilter0.sink: caps = audio/x-raw-int, 
> endianness=(int)1234, signed=(boolean)true, width=(int)16, 
> depth=(int)16, rate=(int)16000, channels=(int)1
> /pipeline0/aenc.sink: caps = audio/x-raw-int, endianness=(int)1234, 
> signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)16000, 
> channels=(int)1
> 0:00:00.441527000 19778 0x80698c0 DEBUG                 faac 
> gstfaac.c:366:gst_faac_configure_source_pad:<aenc> allowed caps: 
> audio/mpeg, mpegversion=(int)4, channels=(int)[ 1, 2 ], rate=(int)[ 
> 8000, 96000 ]
> 0:00:00.442645000 19778 0x80698c0 DEBUG                 faac 
> gstfaac.c:413:gst_faac_configure_source_pad:<aenc> retrieving decoder info
> 0:00:00.443035000 19778 0x80698c0 DEBUG                 faac 
> gstfaac.c:427:gst_faac_configure_source_pad:<aenc> src pad caps: 
> audio/mpeg, mpegversion=(int)4, channels=(int)1, rate=(int)16000, 
> codec_data=(buffer)0c08
> /pipeline0/aenc.src: caps = audio/mpeg, mpegversion=(int)4, 
> channels=(int)1, rate=(int)16000, codec_data=(buffer)0c08
> /pipeline0/mux.audio_0: caps = audio/mpeg, mpegversion=(int)4, 
> channels=(int)1, rate=(int)16000, codec_data=(buffer)0c08
> 
> Is there something about the ffmux_mov that I am missing? There are no 
> options that I can give it (besides 'name').
> 
> Thanks,
> jason
> 
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2008.
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel





More information about the gstreamer-devel mailing list