[gst-devel] raw1394src encoding pipeline

Jan Schmidt thaytan at noraisin.net
Wed May 31 02:47:03 CEST 2006


On Tue, 2006-05-30 at 17:43 -0600, Andrew Taylor wrote:
> Hi All,
> 
> I've started using gstreamer for dv capture for a project I'm working on.
> 
> cap device: canopus a->d firewire capture.
> http://canopus.com/products/ADVC110/index.php
> 
> project: jivo tv/media capture, processing and archival thing.
> http://benow.ca/index?page=project&project=Jivo
> http://benow.ca/misc/caps/tv/remote/remote.html
> 
> So... I'm currently calling out to gst-launch-0.10 (from gentoo ebuild)
> with a pipeline of:
> 
> gst-launch-0.10 dv1394src ! queue ! filesink location="$FILE"
> 
> Which works fine, mostly.  It craps out when system can't respond fast
> enough, and uses alot of disk space.  What I'd like to do is setup a
> queuing recording pipeline.  Does anyone experience with a *working* dv
> encoding pipeline?  All the ones I've tried have failed.

What's a "queueing recording pipeline"? Did you actually mean 'dv
encoding' - as in 'converting video _to_ DV format'?

For DV recording, I've been using something like this for a few years:

http://noraisin.net/~jan/gst/dvgrab-gst

By default, the GStreamer queue provides 10MB, 200 buffers or 1 second
of buffering (those are the default limits, it will stop any further
input when it fills to any of those limits)

In your pipeline, it will hit the 10MB limit (because DV frames from
raw1394src aren't timestamped, but anyway..) For PAL DV, this is around
10MB/144000 ~ 69 frames.

In the shell script above, I set all the limits in the queue to 0, so it
will chew all available RAM in preference to dropping any DV input data.
On the machines I've used it on, it's never dropped a frame, even when
they're really busy.

> If you've a bit of time, I've also another question...
> 
> Further down the capture sequence I'm encoding to divx and muxing with
> the recording information (programme info, time, channel, etc) into a
> matroska container.  I've built up a simple workflow api to do the
> dirty, but if I can replace any of it with a clean gst pipe, that would
> be great.

Encoding to divx and muxing it to matroska should be simple enough, but
I'm not sure about the programme info etc - what format does that take
in the matroska container?

J.

-- 
Jan Schmidt thaytan at noraisin.net

T - "If we were anyone but us, the fact that being shot down is often
fatal would be a factor there."
R - "And if beggars were horses, something something ferrets."
- Triangle & Robert #1860






More information about the gstreamer-devel mailing list