Gentoo Archives: gentoo-user

From: "Canek Peláez Valdés" <caneko@×××××.com>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] [OT} GStreamer: How to view AND record a stream coming from an USB Webcam
Date: Mon, 16 Jun 2014 01:03:03
Message-Id: CADPrc81-vwF+TXc1B1GkH=5fSHQQjVd5B=UHSknQwgfsU2_FmQ@mail.gmail.com
In Reply to: Re: [gentoo-user] [OT} GStreamer: How to view AND record a stream coming from an USB Webcam by "Canek Peláez Valdés"
1 On Sun, Jun 15, 2014 at 1:04 PM, Canek Peláez Valdés <caneko@×××××.com> wrote:
2 > On Sun, Jun 15, 2014 at 12:54 PM, <meino.cramer@×××.de> wrote:
3 >> Hi,
4 >>
5 >> After unsuccessfully trying vlc with a Logitech C920 HD Pro Webcam
6 >> (over 2 seconds delay between audio and video). I played around
7 >> with gstreamer and from bits and pieces from the web I build
8 >> this line:
9 >>
10 >> gst-launch-1.0 v4l2src device=/dev/video1 ! video/x-h264,width=1920,height=1080,framerate=30/1 ! \
11 >> h264parse ! muxout. alsasrc device="hw:3,0" ! queue ! audioconvert ! lamemp3enc ! \
12 >> muxout. matroskamux name=muxout streamable=true ! filesink location=c920.mp4
13 >>
14 >> which records a Full HD video with audio to my harddisc. The delay is
15 >> minimal and the sync between audio and video is good.
16 >>
17 >> But there is one disadvantage:
18 >> I cannot see what I am recording and I cannot watch the webcams stream
19 >> before I fire up the script because otherwise the device would be "already
20 >> in use" (I dont like scripts, which simply kill other applications when
21 >> called).
22 >>
23 >> Any ideas or hints how to manage that?
24 >
25 > Use the tee element. I'm in a hurry, so I cannot test a pipeline right
26 > now, but I will try later. Meanwhile, just try to put a queue element
27 > after each path of the tee.
28 >
29 > gst-inspect-1.0 tee
30
31 OK, it took me a bit of an effort, but this is my pipeline:
32
33 gst-launch-1.0 v4l2src norm=NTSC device=/dev/video1 ! queue !
34 deinterlace mode=1 ! videorate !
35 video/x-raw,format=YV12,width=720,height=480,framerate=30000/1001 !
36 tee name=t t. ! queue ! videoconvert ! mpeg2enc ! avimux ! filesink
37 location=file.avi t. ! queue ! videoconvert ! autovideosink
38
39 My hardware is much more limited (analog RGB), so resolution and
40 famerate are accordingly lower. This captures to an AVI file encoded
41 to MPEG2 the video signal, and at the same time it opens a window to
42 show the stream.
43
44 It should not be that much of a problem to modify it to your needs;
45 just notice that I didn't capture audio.
46
47 Regards.
48 --
49 Canek Peláez Valdés
50 Profesor de asignatura, Facultad de Ciencias
51 Universidad Nacional Autónoma de México

Replies