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.
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