Problems with recording video

Krzysztof Konopko krzysztof.konopko at youview.com
Wed Dec 12 09:33:38 PST 2012


Firstly, you have a Bash problem here. The back-ticks syntax will
execute whatever is between the back-ticks, take the result printed by
executing the content in the sub-process and interpret it as a command
in the top-level script (process) as it appears first on the line.

Example:
`echo ls`

will execute ls in the top-level script as echo prints "ls".

So whatever your gst-launch-1.0 prints out in the first loop will be
interpreted as a command to execute. That's probably not what you want.
Why do use use back-ticks at all?

Secondly, if you remove num-buffers from alsasrc it will keep generating
buffers so your first execution of gst-launch-1.0 will run until you
stop it.

Kris

On 12/12/12 16:13, Ian Davidson wrote:
> I am trying to record video.  The recording time can be over an hour and
> if I try to record to a single file, the file can get too large.
> 
> 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
> ^C
> [ian at localhost ~]$
> 
> 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?
> 
> 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 lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> 



More information about the gstreamer-devel mailing list