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 [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
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 > [hidden email] > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel ------------------------------------------------------------------------- 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 [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |