Some time ago I had time to really try tvtime. I've had a Linux system with a simple Win-TV card (brooktree 848 based) since 'forever' and I think I always used XawTV (maybe there was some predecessor I used in the beginning). After some really positive remarks about it from people I decided to give it a try.The system I tried this on is a Dell Optiplex GX110 with a PIII-667 cpu named Turing. The tv-card is seen as:
0000:01:08.0 Multimedia video controller: Brooktree Corporation Bt848 Video Capture (rev 12) Flags: bus master, medium devsel, latency 64, IRQ 10 Memory at fafff000 (32-bit, prefetchable) [size=4K]From the kernel messages:Linux video capture interface: v1.00 i2c-core.o: i2c core module version 2.6.1 (20010830) i2c-algo-bit.o: i2c bit algorithm module bttv: driver version 0.7.108 loaded bttv: using 4 buffers with 2080k (8320k total) for capture bttv: Bt8xx card found (0). PCI: Found IRQ 10 for device 01:08.0 PCI: Sharing IRQ 10 with 00:1f.3 PCI: Sharing IRQ 10 with 00:1f.5 bttv0: Bt848 (rev 18) at 01:08.0, irq: 10, latency: 64, mmio: 0xfafff000 bttv0: using: MIRO PCTV [card=1,insmod option] i2c-algo-bit.o: Adapter: bt848 #0 scl: 1 sda: 1 -- testing... i2c-algo-bit.o:1 scl: 1 sda: 0 i2c-algo-bit.o:2 scl: 1 sda: 1 i2c-algo-bit.o:3 scl: 0 sda: 1 i2c-algo-bit.o:4 scl: 1 sda: 1 i2c-algo-bit.o: bt848 #0 passed test. i2c-core.o: adapter bt848 #0 registered as adapter 0. bttv0: i2c: checking for MSP34xx @ 0x80... not found bttv0: miro: id=1 tuner=0 radio=no stereo=no bttv0: using tuner=0 bttv0: i2c: checking for MSP34xx @ 0x80... not found bttv0: i2c: checking for TDA9875 @ 0xb0... not found bttv0: i2c: checking for TDA7432 @ 0x8a... not found tvaudio: TV audio decoder + audio/video mux driver tvaudio: known chips: tda9840,tda9873h,tda9874h/a,tda9850,tda9855,tea6300,tea6420,tda8425,pic16c54 (PV951),ta8874z i2c-core.o: driver generic i2c audio driver registered. i2c-core.o: driver i2c TV tuner driver registered. tuner: chip found @ 0xc0 tuner(bttv): type forced to 0 (Temic PAL (4002 FH5)) [insmod] tuner: type already set (0) i2c-core.o: client [Temic PAL (4002 FH5)] registered to adapter [bt848 #0](pos. 0). bttv0: registered device video0 bttv0: registered device vbi0With a simple channel scan tvtime found all channels. And promptly put them on presets according to a channel numbering I couldn't understand. Casema Utrecht is ofcourse using PAL with a western European channel numbering, but I couldn't figure out the channel numbering. For example RTL-4 is on UHF channel 28 (Overview of channels on the Casema website in Dutch), tvtime calls this channel (and therefore preset) 99 and does not show UHF channel 28 anywhere in the userinterface. I was able to move the channels around using the userinterface of tvtime but it was a lot of work. This felt 'American' to me: programmable presets aren't used as much there as we are used to, so a station can advertise being on channel 99 and it will be on channel 99 on most of the television sets. In the Netherlands a TV station has hard work convincing their viewers that they need to be on a certain preset (preferrably below 10 so it's a single button press).To change names of TV stations (now I had RTL-4 in position 4 but it was still named '99') I had to quit tvtime and directly edit the stationlist.xml file.
The other thing I really noticed is that with the default settings tvtime uses up all cpu on the PIII-667. By changing the deinterlacing settings I was able to fix this. But: 'no deinterlacing' was not an option, I just had to find out which one uses less cpu. I used XawTV before on a pentium-90 with cycles to spare.
Comparing the two
tvtime
+ neat userinterface, all on-screen
+ scriptable, I can send messages to the screen from other applications
- 'american' way of channel numbering
- having to edit an xml file to name stations
- deinterlacing uses a lot of cpu and can't be disabled
XawTV
+ 'original' channel numbers visible in the userinterface
+ light on the cpu
- no deinterlacing, which gets very visible in fullscreen mode
My final conclusion
None yet: at the moment there is no TV-cable up to a PC so I don't use tv-watching on a PC. I'm not sure which software would see regular use.
A friend created a video dvd in the form of a VIDEO_TS subdir with some files, so I finally had to find out how to create a working DVD from that. Using Linux, ofcourse. And using the command-line.This is the subject of several dozen howto's on the web, all differing in opinion on certain subjects.
From VIDEO_TS to .iso
First, converting the VIDEO_TS to a correct dvd image. You need to have the VIDEO_TS data in a subdir(!!) from the root of the future dvd. Start with an empty dir:$ mkdir dvd $ cd dvdPut the VIDEO_TS data in a VIDEO_TS subdir. Indeed: with capital letters.$ ls VIDEO_TSCreating the dvd image with mkisofs with the -dvd-video commandline flag.$ mkisofs -dvd-video -o ../dvd.iso . INFO: UTF-8 character encoding detected by locale settings. Assuming UTF-8 encoded filenames on source filesystem, use -input-charset to override. Unknown file type (unallocated) ./.. - ignoring and continuing. 0.70% done, estimate finish Mon Nov 26 15:31:25 2007 1.40% done, estimate finish Mon Nov 26 15:31:25 2007 2.09% done, estimate finish Mon Nov 26 15:31:25 2007 2.79% done, estimate finish Mon Nov 26 15:32:00 2007 99.03% done, estimate finish Mon Nov 26 15:32:52 2007 99.72% done, estimate finish Mon Nov 26 15:32:52 2007 Total translation table size: 0 Total rockridge attributes bytes: 0 Total directory bytes: 2158 Path table size(bytes): 26 Max brk space used 0 716987 extents written (1400 MB)Now you have a dvd-video ready iso file:$ cd .. $ ls -lh dvd.iso -rw-r--r-- 1 koos users 1.4G Nov 26 15:32 dvd.isoTo be sure, you can check it:$ isoinfo -l -i dvd.iso Directory listing of / d--------- 0 0 0 2048 Nov 26 2007 [ 275 02] . d--------- 0 0 0 2048 Nov 26 2007 [ 275 02] .. d--------- 0 0 0 2048 Nov 26 2007 [ 276 02] VIDEO_TS Directory listing of /VIDEO_TS/ d--------- 0 0 0 2048 Nov 26 2007 [ 276 02] . d--------- 0 0 0 2048 Nov 26 2007 [ 275 02] .. ---------- 0 0 0 8192 Nov 22 2007 [ 281 00] VIDEO_TS.BUP;1 ---------- 0 0 0 8192 Nov 22 2007 [ 277 00] VIDEO_TS.IFO;1 ---------- 0 0 0 36864 Nov 22 2007 [ 479292 00] VTS_01_0.BUP;1 ---------- 0 0 0 36864 Nov 22 2007 [ 285 00] VTS_01_0.IFO;1 ---------- 0 0 0 980969472 Nov 22 2007 [ 303 00] VTS_01_1.VOB;1 ---------- 0 0 0 30720 Nov 22 2007 [ 716821 00] VTS_02_0.BUP;1 ---------- 0 0 0 30720 Nov 22 2007 [ 479310 00] VTS_02_0.IFO;1 ---------- 0 0 0 486391808 Nov 22 2007 [ 479325 00] VTS_02_1.VOB;1Burning the .iso
This needs to be done as root (not too much of a surprise as this requests low-level access to the dvd-burner).# growisofs -dvd-compat -Z /dev/hdc=dvd.iso Executing 'builtin_dd if=dvd.iso of=/dev/hdc obs=32k seek=0' /dev/hdc: "Current Write Speed" is 16.4x1385KBps. 0/1468389376 ( 0.0%) @0x, remaining ??:?? 0/1468389376 ( 0.0%) @0x, remaining ??:?? 0/1468389376 ( 0.0%) @0x, remaining ??:?? 0/1468389376 ( 0.0%) @0x, remaining ??:?? 0/1468389376 ( 0.0%) @0x, remaining ??:?? 4063232/1468389376 ( 0.3%) @0.9x, remaining 138:08 35028992/1468389376 ( 2.4%) @6.5x, remaining 17:43 66486272/1468389376 ( 4.5%) @6.7x, remaining 10:32 1344405504/1468389376 (91.6%) @10.0x, remaining 0:13 1392017408/1468389376 (94.8%) @10.1x, remaining 0:08 1440120832/1468389376 (98.1%) @10.2x, remaining 0:03 builtin_dd: 716992*2KB out @ average 6.6x1385KBps /dev/hdc: flushing cache /dev/hdc: closing track /dev/hdc: closing discThe result: a fresh video dvd. And it works in the DVD-player at home (which is from way back when DVD-players weren't given away with laundry soap).Making dvd stuff in Linux
From source to video_ts is a different process. I'm not active in that area yet.
Caught the cat who lives across from the back of our house on camera recently: Achterbuurkat 1 foto Achterbuurkat 2.
Updates to the logic behind the weather maps at http://weather.idefix.net/ and updates to the stations list. Data is now fetched from multiple sources and with a lot of searching I found the locations of a number of stations such as EHFS (Vlissingen), EHSC (Lichteiland Goeree) and EHKV (oilplatform K14-FA-1C). Starting tomorrow morning the updates will be visible in the generated maps.
Weer een avondje audio-bewerking gedaan voor het Asterisk belspel. De eerste functie werkt: de variant de computer gaat nu kijken of u de juiste beller bent. Heel veel sprongetjes en stukjes extensions.conf om allemaal verschillende paden te hebben die uiteindelijk weer terugkomen bij helaas u heeft niet gewonnen en we proberen het nog een keer. Al met al hang je 50 seconden aan de lijn voor je de eerste keer verloren hebt! De belspellen van televisie achter 09xx nummers zijn trouwens nu helemaal gestopt dus dit idee op zich is niet commercieel toepasbaar meer, maar nog steeds een leuke gimmick voor demonstraties Asterisk (hoop ik!)
Old meets new: XS4ALL now offers UUCP over IPv6. Still with the separation in the DNS, but maybe this can be the first candidate to end this distinction?
Peter Ludlow has written 95 Theses on the Religious Right discussing the way the religious right (in the US) abuses and misinterprets the bible and religion.
I created my own Geo::METAR page and the module is ready for uploading to CPAN (just some final sanity checks).
The weather keeps me interested and I have been working on processing weather data (ofcourse using Geo::METAR). Roger Burton West did a lot of work on visualizing weather data and I updated the result for Geo::METAR. Resulting maps now available on http://weather.idefix.net/. Stuff to add: caching, getting data from several sources (at least one metar for the Netherlands isn't available via the US national weather service) or using different sources.
Work decided to change the distribution of msdn-aa software (MSDN academic alliance) to a system where we do the verification whether a person is authorized to access the download and e-academy does the rest using ELMS (e-academy License Management System). This requires some setup in the webserver and the documentation from e-academy wasn't very clear (a whole stack of paper with lots of bits explained but a simple explanation was hard to find). But, with the sample pseudo code in the documentation I managed to build something. Checking usernames and passwords is left to the webserver (quite good at that bit), initializing user data and validating the session is done in php after which control is returned to the e-academy server. And I added an error-page especially for this script explaining which username/password to use.I decided to throw the results online so others can borrow from the sample and implement their own. Directly copying the sample will never work as a lot of the data is really local.
Webserver config
The elms system insists on a secure webserver with https:// urls. We insist on that too for anything which asks for user names and passwords, so that matches nicely.The webserver is configured to require auth on the verification url. I could do this with a login form in php, but the webserver is configured for ldap queries anyway so I copied that bit.
# for msdnaa verificationThe php script verify.php just checks carefully whether it is called with the right parameters and with an authenticated user. It then queries ldap for the user data and does the call back to the e-academy server to validate the session and set the userdata.AuthName "Informatica medewerkers en studenten" AuthType Basic AuthLDAPURL ldap://ldap.cs.uu.nl:389/dc=cs,dc=uu,dc=nl?uid AuthBasicProvider ldap AuthzLDAPAuthoritative off require valid-user ErrorDocument 401 /msdnaa/error.php When all that goes well and e-academy shows no error a redirect is given back to the server (the user never sees a page from our server when all goes well).
It is a coming and going of birds in our garden at the moment (resulting in a lot of comments from the cats). Photographing them is hard as they move around a lot.
On friday evening we went snowboarding for the first time this season. After shopping for new coats we went to Snowworld in Zoetermeer and tried our turns again for a while. For me the right feeling of snowboarding had to come from way deep but after a few tries I made it down at reasonable speeds. It would be really nice to have an indoor piste closer to home.