|
|
This is an old, forgotten page from the time when I first started trying to use a computer for recording and displaying video. It was last updated on 8 March 2005 and is thus completely out of date, and the markup is probably broken in places. I subsequently moved this page to its own directory, which is now also out of date. After I got things working, I found no reason to continue updating, though there are various references in my diary.
This page describes the fun I have had setting up a computer as a video recorder. This appears to be the same as what is often called a “PVR”, which I think stands for “Personal Video Recorder”. I find that term silly: what's personal about it? The interesting distinction is between other form of video recorders, such as tape-based (VHS, for example) or DVD-R based. These are neither more nor less personal than a computer based video recorder. Since we need abbreviations, I'm calling mine a “Computer Video Recorder” or “CVF”.
This page will be a mess for a while; it's currently more a place to keep my thoughts than a good description of how to implement a CVR.
none4@pci1:0:0: class=0x030000 card=0x93631462 chip=0x018510de rev=0xa4 hdr=0x00 vendor = 'NVIDIA Corporation' device = 'NV18.6? GeForce4 MX 4000' class = display subclass = VGA
This card has some way of storing its configuration on the card, and as it's currently set it outputs the same data to both ports. The Microsoft-based drivers call this “clone” mode, but it's clear from the quality that it's doing some kind of not overly successful dithering.
none0@pci0:6:0: class=0x040000 card=0x00000000 chip=0x036e109e rev=0x11 hdr=0x00 vendor = 'Brooktree Corporation' device = 'Bt878 MediaStream Controller' class = multimedia subclass = video none1@pci0:6:1: class=0x048000 card=0x00000000 chip=0x0878109e rev=0x11 hdr=0x00 vendor = 'Brooktree Corporation' device = 'Bt878/Fusion878A Video Capture (Audio Section)' class = multimedia
vr0@pci0:18:0: class=0x020000 card=0x764c1462 chip=0x30651106 rev=0x74 hdr=0x00 vendor = 'VIA Technologies Inc' device = 'VT6102 Rhine II PCI Fast Ethernet Controller' class = network subclass = ethernet
Unfortunately, the driver support for this NIC under FreeBSD 6-CURRENT seems dubious; it gave me my first-ever experience of a kernel debugger backtrace on the home TV:
So I'm using this card instead:
xl0@pci0:12:0: class=0x020000 card=0x00000000 chip=0x905010b7 rev=0x00 hdr=0x00 vendor = '3COM Corp, Networking Division' device = '3C905-TX Fast Etherlink XL PCI 10/100' class = network subclass = ethernet
none3@pci0:17:5: class=0x040100 card=0x76401462 chip=0x30591106 rev=0x50 hdr=0x00 vendor = 'VIA Technologies Inc' device = 'VT8233/33A/8235/8237 AC97 Enhanced Audio Controller' class = multimedia subclass = audio
c++ -c -pipe -Wall -W -O3 -march=pentiumpro -fomit-frame-pointer `freetype-config --cflags` -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DPREFIX=\"/usr/local\" -DMMX -DUSING_IVTV -DUSING_XV -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -DQT_SHARED -DQT_TABLET_SUPPORT -I/usr/local/share/qt/mkspecs/freebsd-g++ -I. -I/usr/local/include -I../libmyth -I.. -Idvbdev -I../libavcodec -I/usr/local/include -I/usr/X11R6/include -o RTjpegN.o RTjpegN.cpp RTjpegN.cpp: In member function `int RTjpeg::b2s(int16_t*, int8_t*, uint8_t)': RTjpegN.cpp:136: error: ISO C++ forbids cast to non-reference type used as lvalue RTjpegN.cpp:145: error: ISO C++ forbids cast to non-reference type used as lvalue RTjpegN.cpp:174: error: ISO C++ forbids cast to non-reference type used as lvalue RTjpegN.cpp:186: error: ISO C++ forbids cast to non-reference type used as lvalue RTjpegN.cpp:203: error: ISO C++ forbids cast to non-reference type used as lvalue RTjpegN.cpp:224: error: ISO C++ forbids cast to non-reference type used as lvalue RTjpegN.cpp:234: error: ISO C++ forbids cast to non-reference type used as lvalue RTjpegN.cpp:241: error: ISO C++ forbids cast to non-reference type used as lvalue *** Error code 1 Stop in /src/FreeBSD/ports/multimedia/mythtv/work/mythtv-0.15/libs/libmythtv. *** Error code 1
Looking at the code was edifying:
/* ci must be 0 */ if(bitoff != 6) { (uint8_t)strm[co]= bitten; co++; } goto BAUCHWEH; HERZWEH:
I wonder how that ever worked. In any case, fixed it and at least got it to compile.
bktr_mem: memory holder loaded bktr0: <BrookTree 878> mem 0xdddfe000-0xdddfefff irq 17 at device 6.0 on pci0 bktr0: [GIANT-LOCKED] bktr0: Unable to allocate 1310720 bytes of memory. bktr0: Unable to allocate 3555328 bytes of memory. bktr0: Card has no configuration EEPROM. Cannot determine card make. bktr0: Pinnacle/Miro TV, Temic PAL I tuner.The memory allocation errors look ominous.
--- xorg.conf.orig Sun Sep 19 20:48:58 2004 +++ xorg.conf Sun Sep 19 21:27:57 2004 @@ -1,6 +1,7 @@ Section "ServerLayout" Identifier "X.org Configured" - Screen 0 "Screen0" 0 0 + Screen 0 "Screen0" + Screen 1 "Screen1" rightOf "Screen0" InputDevice "Mouse0" "CorePointer" InputDevice "Keyboard0" "CoreKeyboard" EndSection @@ -42,11 +43,21 @@ EndSection Section "Monitor" - Identifier "Monitor0" + Identifier "Alfaskop" VendorName "Monitor Vendor" ModelName "Monitor Model" + HorizSync 31.0 - 36.0 + VertRefresh 50.0 - 160.0 EndSection +Section "Monitor" + Identifier "TV" + VendorName "Monitor Vendor" + ModelName "Monitor Model" +EndSection + +# Primary monitor for, well, monitoring. +# Connect a low-res monitor such as the ancient alfaskop to this one. Section "Device" ### Available Driver options are:- ### Values: <i>: integer, <f>: float, <bool>: "True"/"False", @@ -64,7 +75,7 @@ #Option "NvAGP" # <i> #Option "IgnoreEDID" # [<bool>] #Option "NoDDC" # [<bool>] - #Option "ConnectedMonitor" # <str> + # XXX Option "ConnectedMonitor" "CRT, TV" # <str> #Option "ConnectedMonitors" # <str> #Option "TVStandard" # <str> #Option "TVOutFormat" # <str> @@ -105,17 +116,29 @@ #Option "XvMCUsesTextures" # [<bool>] #Option "HorizSync" # <str> #Option "VertRefresh" # <str> - Identifier "Card0" + Identifier "Control" Driver "nvidia" VendorName "nVidia Corporation" BoardName "Unknown Board" BusID "PCI:1:0:0" + Screen 0 +EndSection + +# Second device: TV +Section "Device" + Identifier "Video + Driver "nvidia" + VendorName "nVidia Corporation" + BoardName "Unknown Board" + BusID "PCI:1:0:0" + Screen 1 EndSection Section "Screen" Identifier "Screen0" - Device "Card0" - Monitor "Monitor0" + Device "Control" + Monitor "Alfaskop" + DefaultDepth 24 SubSection "Display" Viewport 0 0 Depth 1 @@ -139,6 +162,20 @@ SubSection "Display" Viewport 0 0 Depth 24 + Modes "640x480" "800x600" EndSubSection EndSection +Section "Screen" + Identifier "Screen1" + DefaultDepth 24 + Device "Video" + Monitor "TV" + Option "ConnectedMonitor" "TV" + Option "TVStandard" "PAL-B" + Option "TVOverScan" "1.0" + SubSection "Display" + Depth 24 + Modes "800x600" + EndSubSection +EndSection
Later installed mplayer on teevee. Installation went OK, but getting it to run is a different matter. As in the past, I had trouble. Display across the network is impossibly broken, and for some reason I couldn't get it to work at all on the local (monitor) display :0.0. The message was:
SwScaler: using unscaled Planar YV12 -> BGR 8-bit special converter BGR not supported, please contact the developers FATAL: Cannot initialize video driver. FATAL: Could not initialize video filters (-vf) or video output (-vo).
After a fair amount of discussion on IRC, and with help from google, found out the problem: this is mplayer's inimitable way of saying “I can't use an 8 bit display”. After setting the default depth for the display to 24 bits, it worked fine. What a pain! The diffs above include setting the default bit depth (for Screen0).
Spent some time trying to copy some DVDs. They had been recorded on my flaky Digitrex DVD recorder, and it couldn't play them back. I had already noticed that computers did a better job, and mplayer on FreeBSD plays them with no problems beyond its emetic user interface.
Today I decided to play them in the Apple—after all, that's what it's supposed to be good for. It's always difficult to guess what to do to play something, since there's no documentation, and obviously I don't have any “intution”, but after a while it became clear that there was no DVD player software installed on the machine. Finding out why that was so, and what to do about it, was a nightmare.
The pitiful excuse for documentation told me that it was installed automatically if the hardware was present, and how to detect if a DVD drive was connected to the machine. In the latter case, you'd expect the instructions to read “examine the drive and see what's written on it”, but instead I was taken through a maze of twisty little menus, all different, with the intention of finding whether the system thought it did in fact have a DVD player. The instructions didn't go as far as to say how you could tell, but everything seemed to indicate that the system did in fact agree that the hardware was installed.
OK, then, it should be simple enough to find the package and install it—I thought. In fact, another tiring search of the installation media showed nothing obvious; later somebody pointed out that it was in the directory "//Volumes/Mac OS X Install Disc 1/System/Installation/Packages/Essentials.pkg" (how I hate these stupid file names with spaces in them!). Tried to install that, but since I had in the meantime upgraded the system, it refused to install. Somebody sent me a “Stuffit” (what an appropriate name!) archive, but for some reason there was an incompatibility there, and I couldn't install it. After three hours I gave up. Apart from being incredibly frustrating, I'm always left wondering whether the problem is with the Apple machine or with me: millions of customers can't be wrong. I suspect that a generation of using menu-driven software has taken its toll, and vendors expect you to understand it, like they expect you to be able to read and write. It's a pity, though, that they've chosen such a horribly difficult and hard to use paradigm.
First I continued with the Apple. Since I couldn't find a way to install the Apple DVD player program, installed VLC instead—once I had worked out how to do that. The instructions suggest that you drag part of the archive into the /Applications directory. It took me 5 attempts to get it to go there. When I did, I couldn't work out how to start it. It seems it hides some stupid image in the “task bar” at the bottom of the screen, and some undocumented mouse click brings it to the foreground. When I did, I couldn't get it to recognize the DVD (“no DVD present”; is it talking about the medium or the drive?). Inserting a pre-recorded DVD caused a delay (and no indication that anything was going on), followed by the disk being ejected. After searching in the the help, found a hidden menu to specify the action to take on DVD insertion, and set that to start VLC. No difference. Round about now I decided that there might be something wrong with the DVD drive, but it mounted data DVDs perfectly. Removed the drive and took at look at it: “Macintosh PowerBook G3 Series 2X DVD-ROM Module”. My best guess now is that the drive really doesn't support video DVDs, but there's nothing in the appalling excuse for documentation that mentions this possibility.
While working with the Apple, also upgraded to the latest version of MocOS X. In the process, it disabled my uControl keyboard remapping, not that that was so serious: it works very badly, leaving the Control key locked on after pressing. The result is that the next time I type a d at the beginning of the line, the terminal window disappears. But now it didn't do anything: it had been disabled and refused to load. It did offer to find a new version for me, and told me, yes, there is a new version. No offer, help or instructions to replace the version. I'm continually baffled by how bad this stuff is.
Gave up on Apple and tried installing VLC on eucla, my FreeBSD laptop. Once again ran into this bug:
automake15: configure.in: installing `./compile' autom4te259: cannot lock autom4te.cache/requests with mode 2 (perhaps you are running make -j on a lame NFS client?): Operation not supportedI had seen that before. It means that you have to install from a local disk. After that, got it installed, but when I started it, I got a whole series of this kind of error message:
VLC media player 0.8.1 Janus (:7025): GLib-GObject-WARNING **: cannot register existing type `PangoEngineShape' ** (:7025): CRITICAL **: file pango-engine.c: line 86 (_pango_engine_shape_covers): assertion `PANGO_IS_ENGINE_SHAPE (engine)' failedReinstalled pango, after which the program started with the following message and empty menus:
libdvdnav: Language 'en' not found, using 'ÿÿ' instead libdvdnav: Menu Languages available: ÿÿAt this point, decided that Linux might be better. Tried booting eucla under Linux: I had installed Fedora Core 2 on it last August, but now it wouldn't boot with some obscure error message. Since there had been problems with the X configuration anyway, decided to install Fedora Core 3. The first time tried an upgrade, with the result that, after nearly an hour, the reboot failed with a “Kernel Panic”—where do they get that name from? It looks more like a kernel halt to me, with no information about where it happened. Did a clean install and was rewarded by X still not being able to recognize the hardware. I have no idea why: the same software installed out of the box on FreeBSD last July.
Gave up on Linux and returned to FreeBSD. It was fairly obvious that some of my ports were out of date. Running portupgrade did nothing useful, so with the help of pkg_info -r found the dependencies (all 74 of them!) and removed them, then started reinstalling them. By the time I went to bed I had got as far as multimedia/ffmpeg:
texi2html -monolithic -number ffmpeg-doc.texi env: perl: No such file or directory gmake[1]: *** [ffmpeg-doc.html] Error 127Just a missing dependency. But it's really getting beyond a joke just trying to build ports nowadays.
-> *vendor* I'm having difficulty playing DVDs on the PowerBook. Any ideas? *vendor* I think you'll need to be running OS9 for DVD playback - at least that was the only way I could make it work -> *vendor* Hmm. Interesting. *vendor* The PB has hardware accelleration for DVD decoding but Apple only elected to support it under OS9 -> *vendor* Ah. -> *vendor* Nice for them to document that, isn't it? *vendor* I didn't use it much, ended up getting a "real" DVD player * -> vendor: groggy notes that Apple doesn't seem to think much of documentation anyway. *vendor* Yes, it's one of those documented by omission sorts of things -> *vendor* OK, I'll give up then. -> *vendor* In general, I find MacOS X to be impossibly badly documented. *vendor* Sorry, I didn't think to mention that at the time *vendor* (DVD playback, not OSX documentation :) -> *vendor* No worry. It serves its purpose. *vendor* Yeah, it is a bit light on for a "power" user * -> vendor: groggy notes that some purposes are to be a bad example.OK, this is an old machine (4 years), so this is all water under the bridge. I suppose it upset a number of people at the time, though. But, as I said on IRC: the documentation, such as it is, doesn't mention the possibility that some DVD drives are not supported under MacOS X.
# yum install emacs Traceback (most recent call last): File "/usr/bin/yum", line 8, in ? yummain.main(sys.argv[1:]) File "/usr/share/yum-cli/yummain.py", line 51, in main base.getOptionsConfig(args) File "/usr/share/yum-cli/cli.py", line 133, in getOptionsConfig self.conf = yumconf(configfile = yumconffile, root=root) File "/usr/lib/python2.3/site-packages/yum/config.py", line 227, in __init__ self._doFileRepo(fn) File "/usr/lib/python2.3/site-packages/yum/config.py", line 299, in _doFileRepo doRepoSection(self, repoconf, section) File "/usr/lib/python2.3/site-packages/yum/config.py", line 313, in doRepoSection mirrorurls = getMirrorList(mirrorlist) File "/usr/lib/python2.3/site-packages/yum/config.py", line 390, in getMirrorList fo = urlresolver.urlopen(url) File "/usr/lib/python2.3/site-packages/urlgrabber/grabber.py", line 427, in urlopen return default_grabber.urlopen(url, **kwargs) File "/usr/lib/python2.3/site-packages/urlgrabber/grabber.py", line 555, in urlopen return self._retry(opts, retryfunc, url) File "/usr/lib/python2.3/site-packages/urlgrabber/grabber.py", line 527, in _retry return apply(func, (opts,) + args, {}) File "/usr/lib/python2.3/site-packages/urlgrabber/grabber.py", line 554, in retryfunc return URLGrabberFileObject(url, filename=None, opts=opts) File "/usr/lib/python2.3/site-packages/urlgrabber/grabber.py", line 703, in __init__ self._do_open() File "/usr/lib/python2.3/site-packages/urlgrabber/grabber.py", line 747, in _do_open fo, hdr = self._make_request(req, opener) File "/usr/lib/python2.3/site-packages/urlgrabber/grabber.py", line 823, in _make_request fo = opener.open(req) File "/usr/lib/python2.3/urllib2.py", line 326, in open '_open', req) File "/usr/lib/python2.3/urllib2.py", line 306, in _call_chain result = func(*args) File "/usr/lib/python2.3/urllib2.py", line 491, in <lambda> lambda r, proxy=url, type=type, meth=self.proxy_open: \ File "/usr/lib/python2.3/urllib2.py", line 498, in proxy_open if '@' in host: TypeError: iterable argument requiredThis is on a machine with nothing special done to it. I wonder what causes that. In any case, after over a week I'm still no closer to watching DVDs on a computer.
Did some more investigation of the problems I had been having with yum yesterday. After some googling, it seems that it was related to the environment variable HTTP_PROXY. It seems that yum will talk to a proxy if it's set. That's a hell of a way to report an error with the proxy, though.
Reset that and I got a different error message:
=== root@naan (/dev/pts/2) /src/BLFS/Blockpool/trunk/blockpool 58 -> yum install emacs You have enabled checking of packages via GPG keys. This is a good thing. However, you do not have any GPG public keys installed. You need to download the keys for packages you wish to install and install them. You can do that by running the command: rpm --import public.gpg.key For more information contact your distribution or package provider.Again, no information about where to look for help. After some searching I discovered a file /etc/yum.conf with the following line in it:
gpgcheck=1That seeemed straightforward enough, so I commented it out. No change. Changed 1 to 0. No change. Then I found a directory /etc/yum.repos.d with lots more files, many with the same line. I suppose that's where I should be loading the public key, but I couldn't be bothered. Commented them out and I was finally able to start my install of Emacs: The problem is, I already had Emacs installed, and yum didn't seem to notice. Not only that, like the Sorcerer's Apprentice I found that it insisted on continuing no matter what I did. Hitting ^C only provoked it to retry: I had to kill the window to stop it. Strangely, though, it didn't happen when I tried the same thing on a different system running Fedora; the difference may be that the first one was running GNOME.
The problem is, I couldn't install vlc like that:
=== root@eucla (/dev/pts/6) /src/Linux/tarballs/vlc 5 -> yum install vlc Setting up Install Process Setting up Repo: base repomd.xml 100% |=========================| 1.1 kB 00:00 Setting up Repo: updates-released repomd.xml 100% |=========================| 951 B 00:00 Reading repository metadata in from local files base : ################################################## 2622/2622 updates-re: ################################################## 709/709 No Match for argument vlc Nothing to do real 0m14.779s user 0m3.024s sys 0m0.367s === root@eucla (/dev/pts/6) /src/Linux/tarballs/vlc 8 ->It seems that every time you run yum you need to wait these 15 seconds before it comes up with anything of interest. Presumably the repo needs to be set up to handle this kind of installation, and VLC isn't set up. Following the instructions at that link, I downloaded the Fedora tarball and tried:
=== root@eucla (/dev/pts/6) /src/Linux/tarballs/vlc 2 -> rpm -U * --force warning: a52dec-0.7.4-7.1.fc3.fr.i386.rpm: V3 DSA signature: NOKEY, key ID e42d547b warning: package libmodplug = 1:0.7-2vlc was already added, replacing with libmodplug <= 1:0.7-3vlc warning: package libpostproc = 1.0-0.11.pre5.1.fc2.fr was already added, replacing with libpostproc <= 1.0-0.12.20041025.1.fc3.fr warning: package vcdimager = 0.7.20-1.1.vlc was already added, replacing with vcdimager <= 0.7.20-3 error: Failed dependencies: libcdio.so.0 is needed by cdinfo-0.71-0.i386 libiso9660.so.2 is needed by cdinfo-0.71-0.i386 libcdio.so.0 is needed by libvcd-0.7.20-3.i386 libcdio.so.0(CDIO_0) is needed by libvcd-0.7.20-3.i386 libiso9660.so.2 is needed by libvcd-0.7.20-3.i386 libiso9660.so.2(ISO9660_2) is needed by libvcd-0.7.20-3.i386 libcdio.so.0 is needed by vcdimager-0.7.20-3.i386 libcdio.so.0(CDIO_0) is needed by vcdimager-0.7.20-3.i386 libiso9660.so.2 is needed by vcdimager-0.7.20-3.i386 libiso9660.so.2(ISO9660_2) is needed by vcdimager-0.7.20-3.i386 libcdio.so.0 is needed by vcdimager-libvcd-0.7.20-1.1.vlc.i386 libcdio.so.0(CDIO_0) is needed by vcdimager-libvcd-0.7.20-1.1.vlc.i386 libiso9660.so.0 is needed by vcdimager-libvcd-0.7.20-1.1.vlc.i386 libiso9660.so.0(ISO9660_0) is needed by vcdimager-libvcd-0.7.20-1.1.vlc.i386 fribidi is needed by vlc-0.8.1-1.i386 libfribidi.so.0 is needed by vlc-0.8.1-1.i386 libsysfs.so.1 is needed by vlc-0.8.1-1.i386Well, that seems par for the course. So can yum help me fix these missing dependencies?
=== root@eucla (/dev/pts/6) /src/Linux/tarballs/vlc 7 -> time yum install libcdio Setting up Install Process (usual messages and 15 second delay omitted) No Match for argument libcdio Nothing to doSay what Tim will, yum doesn't seem to be even a useful tool in solving dependency issues; maybe better documentation will help there. Instead, took a look at the Rpmfind.net site and found a number of packages. But they still need to be installed :
=== root@eucla (/dev/pts/6) /src/Linux/tarballs 13 -> rpm -i libcdio-0.70-1.i686.rpm warning: libcdio-0.70-1.i686.rpm: V3 DSA signature: NOKEY, key ID e01260f1 === root@eucla (/dev/pts/6) /src/Linux/tarballs 14 -> rpm -U vlc/*rce warning: vlc/a52dec-0.7.4-7.1.fc3.fr.i386.rpm: V3 DSA signature: NOKEY, key ID e42d547b warning: package libmodplug = 1:0.7-2vlc was already added, replacing with libmodplug <= 1:0.7-3vlc warning: package libpostproc = 1.0-0.11.pre5.1.fc2.fr was already added, replacing with libpostproc <= 1.0-0.12.20041025.1.fc3.fr warning: package vcdimager = 0.7.20-1.1.vlc was already added, replacing with vcdimager <= 0.7.20-3 error: Failed dependencies: libcdio.so.0 is needed by cdinfo-0.71-0.i386 (etc) === root@eucla (/dev/pts/6) /src/Linux/tarballs 16 -> rpm -U libcdio-0.70-1.i686.rpm warning: libcdio-0.70-1.i686.rpm: V3 DSA signature: NOKEY, key ID e01260f1 package libcdio-0.70-1 is already installed === root@eucla (/dev/pts/6) /src/Linux/tarballs 17 -> rpm -q libcdio-0.70-1.i686.rpm package libcdio-0.70-1.i686.rpm is not installedI tried again with --force, but it made no difference. One more failure for Linux.
Finally rebooted eucla and tried mplayer again. It seems that in the last week or so I blew away a number of dependencies, but after reinstalling the latest version, it worked. Not exactly a success: I've used mplayer before, but found it to be inadequate. Still, after two weekends I can now watch my DVD, sort of.
This DVD stuff is making some progress, but it's slow. Yesterday Yvonne rented some DVDs from Blockbusters, but we had difficulty watching them: they looked like they had been used as paperweights for sandpaper. Today spent some time trying to copy them so we could watch them at all. The good news is that the DVD drive was able to read them. Burning a new DVD was more of an issue: people told me that burncd doesn't support DVDs, so I had to install the dvd+rw-tools port and run a program with the the incongruous name growisofs. First, though, it seemed appropriate to format the DVD+RW disk I was going to use with dvd+rw-format (how I hate these complicated names!). Running that was less than edifying:
=== root@teevee (/dev/ttyp2) ~ 3 -> dvd+rw-format /dev/acd0 * DVD±RW/-RAM format utility by <appro@fy.chalmers.se>, version 4.10. :-( unable to open("/dev/acd0"): Inappropriate ioctl for deviceLooking at the operation with ktrace showed:
40005 dvd+rw-format CALL ioctl(0x3,CAMGETPASSTHRU,0xbfbfdc80) 40005 dvd+rw-format RET ioctl -1 errno 25 Inappropriate ioctl for deviceIt seems that I needed SCSI emulation, the atapicam device. Built a new kernel and booted it, but it appeared to make no difference. It seems that atapicam just adds a device to the existing one, so after installing it my DVD burner was visible as an ATAPI device at /dev/acd0 and as a SCSI device at /dev/cd0. I was able to burn a DVD+RW; but the DVD player could hardly read it at all. Back in eucla (a different machine with a different drive) I was able to read in the DVD and compare it to the original: no difference. But I couldn't play it there either. I suspect that there's some issue with the way the data is written to the DVD that makes it difficult to read. This material is really a minefield.
=== root@teevee (/dev/ttyp6) /home/grog 1 -> mplayer dvd://1 MPlayer 1.0pre6-3.3.3 (C) 2000-2004 MPlayer Team CPU: Advanced Micro Devices Athlon 4 /Athlon MP/XP Palomino (Family: 6, Stepping: 2) Detected cache-line size is 64 bytes CPUflags: MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 0 Compiled for x86 CPU with extensions: MMX MMX2 3DNow 3DNowEx SSE Playing dvd://1. Reading disc structure, please wait... There are 2 titles on this DVD. There are 22 chapters in this DVD title. There are 1 angles in this DVD title. DVD successfully opened. MPEG-PS file format detected. VIDEO: MPEG2 720x576 (aspect 3) 25.000 fps 7500.0 kbps (937.5 kbyte/s) ========================================================================== Opening audio decoder: [liba52] AC3 decoding with liba52 Using SSE optimized IMDCT transform AC3: 5.1 (3f+2r+lfe) 48000 Hz 448.0 kbit/s Using MMX optimized resampler AUDIO: 48000 Hz, 2 ch, 16 bit (0x10), ratio: 56000->192000 (448.0 kbit) Selected audio codec: [a52] afm:liba52 (AC3-liba52) ========================================================================== vo: X11 running at 800x600 with depth 24 and 32 bpp (":0.0" => local display) vo_xvmc: X-Video extension 2.2 vo_xvmc: X-Video MotionCompensation Extension version 1.0 ========================================================================== Opening video decoder: [mpegpes] MPEG 1/2 Video passthrough VDec: vo config request - 720 x 576 (preferred csp: Mpeg PES) Could not find matching colorspace - retrying with -vf scale... Opening video filter: [scale] The selected video_out device is incompatible with this codec. VDecoder init failed :( Opening video decoder: [libmpeg2] MPEG 1/2 Video decoder libmpeg2-v0.4.0b Selected video codec: [mpeg12] vfm:libmpeg2 (MPEG 1 or 2 (libmpeg2)) ========================================================================== Checking audio filter chain for 48000Hz/2ch/16bit -> 48000Hz/2ch/16bit... AF_pre: af format: 2 bps, 2 ch, 48000 hz, little endian signed int AF_pre: 48000Hz 2ch Signed 16-bit (Little-Endian) AO: [oss] 48000Hz 2ch Signed 16-bit (Little-Endian) (2 bps) Building audio filter chain for 48000Hz/2ch/16bit -> 48000Hz/2ch/16bit... Starting playback... VDec: vo config request - 720 x 576 (preferred csp: Planar YV12) Could not find matching colorspace - retrying with -vf scale... Opening video filter: [scale] The selected video_out device is incompatible with this codec. FATAL: Could not initialize video filters (-vf) or video output (-vo). Exiting... (End of file) === root@teevee (/dev/ttyp6) /home/grog 2 ->At first that looked like what happened to me last time, but on examination it wasn't the same thing after all.
What frustration! Watched the remainder of our flaky DVDs on eucla, the Dell laptop.
Greg's diary | Greg's photos | Greg's links | Greg's home page | |
$Id: videorecorder.html,v 1.5 2021/07/20 02:10:03 grog Exp $ |