Recording to QT format

mattes effemm at mykmk.com
Tue Dec 18 14:33:10 PST 2012


> I have successfully made a recording using
> gst-launch-1.0 -e v4l2src norm=PAL ! 
> 'video/x-raw,format=(string)I420,width=320,height=240,framerate=(fraction)25/
> 1'  ! queue ! mux. alsasrc num-buffers=440 ! audioconvert ! 
> 'audio/x-raw,rate=44100,channels=2' ! queue ! mux. avimux name=mux ! 
> filesink location=test.avi
> - although I have not attempted to verify that the audio is in sync with 
> the video.
> 
> I then tried to change from AVI to QT using
> gst-launch-1.0 -e v4l2src norm=PAL ! 
> 'video/x-raw,format=(string)I420,width=320,height=240,framerate=(fraction)25/
> 1'  ! videoconvert ! queue ! mux. alsasrc num-buffers=440 ! audioconvert ! 
> 'audio/x-raw,rate=44100,channels=2' ! queue ! mux. qtmux name=mux ! 
> filesink location=test.mov
> - but when I play the video, I do not hear any audio.
> 
> I have inspected qtmux to verify that it can take an audio input. 
> (Check). So what have I done wrong to lose the audio?

-) avimux is able to handle raw format. I am not sure if qtmux
   can handle raw frames.
-) Inspect your recording with ffmpeg -i and/or mediainfo.
    this will tell you what type of track it carries.
-) try using num-buffer on the video chain instead.
   (not sure how many seconds of recording 440 video buffers are)
-) if you want raw recording you probably don't have much use for
   qtmux anyway.  Typically QT recordings are done with encoded frames
   audio and video.
   I used the following pipeline successfully:

gst-launch -e v4l2src device=/dev/video0 ! videorate ! queue ! ffenc_mpeg4
name=venc   alsasrc do-timestamp=1 ! audio/x
raw-int,rate=48000,channels=$achannels ! queue ! audioconvert ! faac name=aenc 
 qtmux name=mux ! filesink location=media.mp4  aenc. ! mux. venc. ! mux."




More information about the gstreamer-devel mailing list