[vdr] Re: pvrinput - NTSC doesn't work - some progress
Simon Baxter
linuxtv at nzbaxters.com
Wed Jun 21 19:50:42 CEST 2006
Thankyou for everyone's suggestion - but I'm not trying to play NTSC
content, I'm trying to watch/record it via the pvrinput plugin
>>> I also guess you patched your VDR for NTSC, so maybe it just can't
>>> playback your pvrinput stream if it's looking like you described, be it
>>> live or recorded, as it seems to be PAL...
>>
>> Patched VDR for NTSC? Nope - I must have missed something??
>
> Well, I remember there was a thread even this year in which Klaus was
> admitting he should make this configurable after version 1.4 is polished
> http://www.linuxtv.org/pipermail/vdr/2006-April/008726.html
> The attached patch was sent by C.Y.M. by that time, and looking to it,
> it seems it could make a difference, as it hard-codes the frame rate in
> recording.h among other things. I just tried if it cleanly applies to
> vdr-1.4.1 and it does, so give it a try.
No, it's not VDR that seems to be causing the problem. To clarify, this is
my setup:
-vdr 1.4.0
-Shuttle SK43G PC with s-video output
-Unichrome drivers for NTSC tv-out
-USA NTSC Television
-PVR-150 (NTSC only)
-xine plugin
VDR works fine. I can use it to watch old (PAL) recordings made in the UK,
watch .avi files, play mp3s, play DVDs etc
> Yes, and don't forget that "Frames per GOP" setting, maybe that one is
> important, too. In the end maybe it starts working with both of these
> patches.
I set this too, with no affect.
I have made one change which seems to have changed the output slightly. I
applied the following changes to pvrinput:
diff -Naur device.c device.c.SBB
--- device.c 2006-06-21 09:46:01.000000000 -0700
+++ device.c.SBB 2006-06-21 08:11:14.000000000 -0700
@@ -504,7 +504,7 @@
readThread = new cPvrReadThread(video_fd, vbi_fd, tsBuffer, &mutex);
SetVideoNorm(videoNormPAL);
SetCodec();
- SetVideoSize(720, 576);
+ SetVideoSize(720, 480);
SetInput(tunerInput);
SetPicture(PvrSetup.Brightness, PvrSetup.Contrast,
PvrSetup.Saturation, PvrSetup.Hue);
SetVolume(PvrSetup.AudioVolume);
@@ -653,7 +653,7 @@
{
SetVideoNorm(lastNorm);
SetCodec();
- SetVideoSize(720, 576);
+ SetVideoSize(720, 480);
SetInput(lastInput);
SetPicture(PvrSetup.Brightness, PvrSetup.Contrast,
PvrSetup.Saturation, PvrSetup.Hue);
SetVolume(PvrSetup.AudioVolume);
Now the file that's being recorded is:
MPEG-PS file format detected.
VIDEO: MPEG2 720x480 (aspect 2) 25.000 fps 6000.0 kbps (750.0 kbyte/s)
The picture now looks like all the information is there, but the frame-rate
is still wrong, and I can't see anywhere in the pvrinput sourcecode to
change this.
I tried taking the recorded 001.vdr, vdrsync.pl-ing it, and then ffmpeg
recoding the mpegv2 file to 30fps, but this just made a mess too.
As mentioned before, Freevo records and plays the channels fine - but I
don't want to use Freevo, the OSD sucks. I can also stream the video device
directly to mplayer 'mplayer /dev/video', which plays fine too.
any other ideas??
More information about the vdr
mailing list