Problems with recording video

Tim-Philipp Müller t.i.m at
Wed Dec 12 10:46:16 PST 2012

On Wed, 2012-12-12 at 16:13 +0000, Ian Davidson wrote:

Hi Ian,

> I wrote a script to attempt to record a series of shorter videos - and
> then use Ctrl-C to stop recording when I wanted to finish.  Below is a
> simplified version of the script.
> #!/bin/bash
> fileNamePart="${HOME}/video"
> v4l2-ctl -i 1
> counter=0
> while [ $counter -lt 100 ]; do
>     let counter=counter+1
>     fullFileName="${fileNamePart}-${counter}.avi"
>     `gst-launch-1.0 v4l2src norm=PAL num-buffers=100 !
> 'video/x-raw,format=(string)I420,width=352,height=288,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="$fullFileName"`
> Note that this test version has the num-buffers set to 100 for the
> video source.  When I run this script for a short while, I get the
> following on the console
> [ian at localhost ~]$ ./testScript
> Video input set to 1 (Composite1: ok)
> ./testScript: line 8: Setting: command not found
> ./testScript: line 8: Setting: command not found

This is probably because of the `gst-launch-1.0 ...` backticks. I don't
see why you use them here. What happens is probably that gst-launch-1.0
prints 'Setting pipeline to PAUSED state' or so, and that output is
passed to the shell which tries to interpret it as a command.

> The first video records without any comment, the second and subsequent
> attempts get that 'Setting: command not found' message.
> The final video - the one that is terminated by the Ctrl-C - does not
> seem to have recorded the video properly.  When I try to view the
> videos, that final video does not display the actual material, just a
> 'filmstrip'.  If I carry the videos from my Linux box to a Windows
> machine, editors fail to open the final AVI file.
> Thus far, two questions.
> 1) What is the meaning of that 'command not found'?
> 2) Why does the final video, terminated by Ctrl-C not work?

Pass -e to gst-launch-1.0 to make sure muxers can finalize file headers
properly when you press control-C.


> I then noticed that I have num-buffers on both the video and audio
> sources - so I removed the 'num-buffers=440' - but now the first video
> did not come to a natural end but waited until the Ctrl-C.
> Third question. Do I need to have num-buffers on both sources?
> Your help is appreciated.
> Ian
> -- 
> --
> Ian Davidson
> 239 Streetsbrook Road, Solihull, West Midlands, B91 1HE
> --
> Facts used in this message may or may not reflect an underlying
> objective reality. Facts are supplied for personal use only.
> Recipients quoting supplied information do so at their own risk. Facts
> supplied may vary in whole or part from widely accepted standards.
> While painstakingly researched, facts may or may not be indicative of
> actually occurring events or natural phenomena.
> The author accepts no responsibility for personal loss or injury
> resulting from memorisation and subsequent use. 
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at

More information about the gstreamer-devel mailing list