Hi!

Following my brain dump while reading dischi's mail :-)

Dirk Meyer <[EMAIL PROTECTED]> wrote:
> First we need to get the device. No idea what kind of device you need?
> Just call get_device().
>
> | device = kaa.record.get_device('dvb0')

How do I know that a 'dvb0' device is present? 

| devicelist = kaa.record.get_devices()

Sometimes I want to know some additional infos about the device. Would
be nice to know in advance that the 'dvb0' device is DVB-S. 'dvb1'
could be a low budget DVB-T card - but able to catch a complete
multiplex.

> Internal kaa.record will detect dvb0 as DVB device /dev/dvb/adapter0.
> Other devices may be video0 (raw or ivtv autodetected) or 'web'.
>
> Now we have a device. Based on a config we have a channel object. This
> objects holds information where to find the channel on a device. First
> we need to know if the device can play the channel:
>
> | bool = device.support_channel(channel)

I think the API should be able to return more specific information
about available channels (language, audio streams, teletext available
and so on)

> which should return true. If not, we can't use it. Next we want some
> parts from that channel. E.g. audio and video in one stream and
> teletext in another.
>
> | video = device.get_stream(channel, 'audio,video')
> | text  = device.get_stream(channel, 'teletext')

As Alessandro already mentioned it's sometimes clever to choose a
specific audio stream if multiple are available. Changing audio stream
while watching should also be possible (MP2 vs AC3, disable/enable
audio comment for visually impaired people, ...)

> We now have two 'Stream' objects. What should we do? Let's say we want
> to store the video to a file.
>
> | video.add_output('filewriter', filename='foo')
>
> This means for DVB the file will be written as foo.ts because without
> doing anything, we get a ts. For ivtv it could be .mpg. For analog
> card we need to define some sort of default.
>
> Or we add an encoder if we want:
>
> | enc = video.add_output('encoder', video='h.264', audio='ac3', 
> container='mkv')
> | enc.set_property('vbitrate' 2000)
>
> enc is again a 'Stream' object and we can save it with
>
> | enc.add_output('filewriter', filename='foo')
>
> We can add as many outputs as we like. The add_output function returns
> either a 'Stream' or a 'Sink' object (names could be different). The
> 'Sink' objects has an unlink() function to remove later. If a 'Stream'
> has no outputs and is not referenced by python anymore, it will unlink
> itself.

Regards,

 Sönke
-- 
<erno> hm. I've lost a machine.. literally _lost_. it responds to ping, it 
       works completely, I just can't figure out where in my apartment it is.

Attachment: signature.gpg
Description: Dies ist eine PGP/GPG-Signatur. This is a PGP/GPG signature.

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Freevo-devel mailing list
Freevo-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freevo-devel

Reply via email to