On 31/12/05, Tony Lill <ajlill@ajlc.waterloo.on.ca> wrote:
Craig Tinson <craig@8010.co.uk> writes:
> this must be possible somehow - I have a pvr-250 capture card that
> dumps video *and* audio (via a 3.5m jack line-in) to an mpeg stream.
> I have a cmedia card with optical input - and I want the resulting
> mpeg stream to have full surround..
> So how do I overlay the audio from the optical spdif to the line-in of
> the pvr 250?
> Or am I going about this all wrong? I have searched *endless* docs and
> tried dozens of asoundrc files and read tons mailing lists but I can't
> find anything..

You can't do it with a PVR-* card. It creates an mpeg datastream with
the audio already encoded. Your software just copies that to
disk. You'd have to strip that out and replace it with the AC-3
stream, which would probably be hell to sync with the video.

If you do manage to capture the AC-3 data from your sound card (and if
you do, I'd love to hear about how), you should get a capture card
that does video only, and create the mpeg file in software.

The PVR-250 mpeg stream will be the audio and video from the sockets on the PVR-250.
These inputs are just plain stereo analog inputs. No SPDIF input into the PVR-250.
You can capture AC3 via an digital input, but not all sound cards work. I have done it with a few, but I am unsure if the C-media one works. One that works in the sb live 24-bit with the optional optical inputs.
Now, the video in the mpeg stream will be time stamped by the PVR-250 card's hardware.
The audio capture from the sound card will not be time stamped at all. This therefore presents a rather big problem with regard to audio/video sync when you try to put the two together again.
It would be theoretically possible to timestamp the audio, using the PVR-250 clock, but I don't know of any capture application that does this currently, but it should be relatively easy.
Just create a capture application that builds an mpeg-AC3 stream, and time stamp it while recording using the PVR-250's timer.
Then it would be a simple matter of mixing the two mpeg streams together (audio and video) and as they are both properly timestamped, it would automatically be in sync.
In fact, in the next 6 months, I will probably be attempting this myself, so if no-one else has done it by then, I will implement it.