I am having a problem in getting NPVR recorded files to playback on a NPVR PC client. These files have been recorded via a Network Recorder link to a second NPVR server from my main NPVR server
My system is as followes:
Main NPVR Server -- running Windows XP SP3 with an ASTC card for OTA HD and SD recording -- all files created on this main NPVR server will playback correctly on both the server and on any of my NPVR clients.
Second NPVR Server -- running Windows XP SP3 with a Hauppaugue 150 card hooked to a satellite settop box via S-video -- this server is linked to the main server using Network recorder -- any files created from this second server recorded on the main server via the Network Recorder link playback properly on the main server
Client NPVR machine -- running Windows XP SP3 -- this client machine will play back recorded files created on the main server (with the internal ASTC card) but it will not playback recorded files created via the Network recorder link from the second server.
Here is the strange thing -- on the client NPVR machine it is possible to watch live TV from a channel that is coming from the Network Recorder machine and it is also possible to watch a recording that is in progress from the Network recorder machine -- but it is not possible to watch a program that has finished recording.
What happens when I try to watch any of these completed recordings is that the playback seems to start -- then the screen goes black for 3 to 5 seconds and then it returns to the "whats new menu" -- with no error message displayed. If I immediately move to the main server and try to watch the same recording -- everything works correctly with proper playback. This behavior has been reproduced on each of my four client machines.
The files created via the Network Recorder link on the main server playback correctly on any of the client machines using an external media player such as Zoom Play -- they will just not playback using NPVR.
So -- any ideas -- I have not attached any logs yet as I am not sure what loge are needed -- the main server, the Network recorder machine or the Client machine.
Here's another problem which causes the picture to freeze, this time on a client machine running Windows 7 and the Microsoft DTV-DVD decoders. Here's an extract from the npvr.log file on the client (the "OnKeyDown() called: Escape" is me noticing the freeze and preparing to restart).
Code:
2012-07-20 15:19:00.499 [DEBUG][1] GetEventCode() returned: 0x8104
2012-07-20 15:19:00.749 [DEBUG][1] GetEventCode() returned: 0x8100
2012-07-20 15:19:00.749 [DEBUG][1] Stream live time now: 20/07/2012 14:18:45
2012-07-20 15:19:01.509 [DEBUG][1] GetEventCode() returned: 0x8104
2012-07-20 15:19:01.509 [DEBUG][1] GetEventCode() returned: 0x8100
2012-07-20 15:19:01.509 [DEBUG][1] Stream live time now: 20/07/2012 14:18:46
2012-07-20 15:19:01.999 [DEBUG][1] Client about to request renewal of handle: 18005C
2012-07-20 15:19:02.520 [DEBUG][1] GetEventCode() returned: 0x8104
2012-07-20 15:19:02.520 [DEBUG][1] GetEventCode() returned: 0x8100
2012-07-20 15:19:02.520 [DEBUG][1] Stream live time now: 20/07/2012 14:18:47
2012-07-20 15:19:03.540 [DEBUG][1] GetEventCode() returned: 0x8104
2012-07-20 15:19:03.540 [DEBUG][1] GetEventCode() returned: 0x8100
2012-07-20 15:19:03.540 [DEBUG][1] Stream live time now: 20/07/2012 14:18:48
2012-07-20 15:19:04.551 [DEBUG][1] GetEventCode() returned: 0x8104
2012-07-20 15:19:04.551 [DEBUG][1] GetEventCode() returned: 0x8100
2012-07-20 15:19:04.551 [DEBUG][1] Stream live time now: 20/07/2012 14:18:49
2012-07-20 15:19:05.311 [DEBUG][1] GetEventCode() returned: 0x8100
2012-07-20 15:19:05.311 [DEBUG][1] Stream live time now: 20/07/2012 14:18:50
2012-07-20 15:19:05.821 [DEBUG][1] GetEventCode() returned: 0x8104
2012-07-20 15:19:06.571 [DEBUG][1] GetEventCode() returned: 0x8100
2012-07-20 15:19:06.571 [DEBUG][1] Stream live time now: 20/07/2012 14:18:51
2012-07-20 15:19:07.071 [DEBUG][1] GetEventCode() returned: 0x8104
2012-07-20 15:19:07.331 [DEBUG][1] GetEventCode() returned: 0x8100
2012-07-20 15:19:07.331 [DEBUG][1] Stream live time now: 20/07/2012 14:18:52
2012-07-20 15:19:08.091 [DEBUG][1] GetEventCode() returned: 0x8104
2012-07-20 15:19:09.291 [DEBUG][1] GetEventCode() returned: 0x8104
2012-07-20 15:19:09.291 [DEBUG][1] GetEventCode() returned: 0x8100
2012-07-20 15:19:09.291 [DEBUG][1] Stream live time now: 20/07/2012 14:18:53
2012-07-20 15:19:10.491 [DEBUG][1] GetEventCode() returned: 0x8104
2012-07-20 15:19:10.671 [DEBUG][1] GetEventCode() returned: 0x8100
2012-07-20 15:19:10.671 [DEBUG][1] Stream live time now: 20/07/2012 14:18:54
2012-07-20 15:19:10.931 [DEBUG][1] GetEventCode() returned: 0x8100
2012-07-20 15:19:10.931 [DEBUG][1] Stream live time now: 20/07/2012 14:18:55
2012-07-20 15:19:12.051 [DEBUG][1] Client about to request renewal of handle: 18005C
2012-07-20 15:19:12.132 [DEBUG][1] GetEventCode() returned: 0x8104
2012-07-20 15:19:12.132 [DEBUG][1] GetEventCode() returned: 0x8100
2012-07-20 15:19:12.132 [DEBUG][1] Stream live time now: 20/07/2012 14:18:56
2012-07-20 15:19:13.332 [DEBUG][1] GetEventCode() returned: 0x8104
2012-07-20 15:19:14.532 [DEBUG][1] GetEventCode() returned: 0x8104
2012-07-20 15:19:14.532 [DEBUG][1] GetEventCode() returned: 0x8100
2012-07-20 15:19:14.532 [DEBUG][1] Stream live time now: 20/07/2012 14:18:57
2012-07-20 15:19:14.802 [DEBUG][1] GetEventCode() returned: 0x8100
2012-07-20 15:19:14.802 [DEBUG][1] Stream live time now: 20/07/2012 14:18:58
2012-07-20 15:19:14.802 [DEBUG][1] GetEventCode() returned: 0x8100
2012-07-20 15:19:14.802 [DEBUG][1] Stream live time now: 20/07/2012 14:18:59
2012-07-20 15:19:16.002 [DEBUG][1] GetEventCode() returned: 0x8104
2012-07-20 15:19:16.002 [DEBUG][1] GetEventCode() returned: 0x8100
2012-07-20 15:19:16.002 [DEBUG][1] Stream live time now: 20/07/2012 14:19:00
2012-07-20 15:19:17.212 [DEBUG][1] GetEventCode() returned: 0x8104
2012-07-20 15:19:17.502 [DEBUG][1] GetEventCode() returned: 0x8100
2012-07-20 15:19:17.502 [DEBUG][1] Stream live time now: 20/07/2012 14:19:01
2012-07-20 15:19:18.012 [DEBUG][1] GetEventCode() returned: 0x8100
2012-07-20 15:19:18.012 [DEBUG][1] Stream live time now: 20/07/2012 14:19:02
2012-07-20 15:19:18.762 [DEBUG][1] GetEventCode() returned: 0x8104
2012-07-20 15:19:18.762 [DEBUG][1] GetEventCode() returned: 0x8100
2012-07-20 15:19:18.762 [DEBUG][1] Stream live time now: 20/07/2012 14:19:03
2012-07-20 15:19:20.022 [DEBUG][1] GetEventCode() returned: 0x8104
2012-07-20 15:19:20.022 [DEBUG][1] GetEventCode() returned: 0x8100
2012-07-20 15:19:20.022 [DEBUG][1] Stream live time now: 20/07/2012 14:19:04
2012-07-20 15:19:20.782 [DEBUG][1] GetEventCode() returned: 0x8100
2012-07-20 15:19:20.782 [DEBUG][1] Stream live time now: 20/07/2012 14:19:05
2012-07-20 15:19:21.282 [DEBUG][1] GetEventCode() returned: 0x8104
2012-07-20 15:19:22.043 [DEBUG][1] GetEventCode() returned: 0x8100
2012-07-20 15:19:22.043 [DEBUG][1] Stream live time now: 20/07/2012 14:19:06
2012-07-20 15:19:22.093 [DEBUG][1] Client about to request renewal of handle: 18005C
2012-07-20 15:19:22.804 [DEBUG][1] GetEventCode() returned: 0x8104
2012-07-20 15:19:22.804 [DEBUG][1] GetEventCode() returned: 0x8100
2012-07-20 15:19:22.804 [DEBUG][1] Stream live time now: 20/07/2012 14:19:07
2012-07-20 15:19:23.804 [DEBUG][1] GetEventCode() returned: 0x8100
2012-07-20 15:19:23.804 [DEBUG][1] Stream live time now: 20/07/2012 14:19:08
2012-07-20 15:19:24.564 [DEBUG][1] GetEventCode() returned: 0x8104
2012-07-20 15:19:24.564 [DEBUG][1] GetEventCode() returned: 0x8100
2012-07-20 15:19:24.564 [DEBUG][1] Stream live time now: 20/07/2012 14:19:09
2012-07-20 15:19:26.074 [DEBUG][1] GetEventCode() returned: 0x8104
2012-07-20 15:19:26.074 [DEBUG][1] GetEventCode() returned: 0x8100
2012-07-20 15:19:26.074 [DEBUG][1] Stream live time now: 20/07/2012 14:19:10
2012-07-20 15:19:26.584 [DEBUG][1] GetEventCode() returned: 0x8100
2012-07-20 15:19:26.584 [DEBUG][1] Stream live time now: 20/07/2012 14:19:11
2012-07-20 15:19:27.334 [DEBUG][1] GetEventCode() returned: 0x8104
2012-07-20 15:19:27.834 [DEBUG][1] GetEventCode() returned: 0x8100
2012-07-20 15:19:27.834 [DEBUG][1] Stream live time now: 20/07/2012 14:19:12
2012-07-20 15:19:28.594 [DEBUG][1] GetEventCode() returned: 0x8104
2012-07-20 15:19:29.104 [DEBUG][1] GetEventCode() returned: 0x8100
2012-07-20 15:19:29.104 [DEBUG][1] Stream live time now: 20/07/2012 14:19:13
2012-07-20 15:19:29.604 [DEBUG][1] GetEventCode() returned: 0x8104
2012-07-20 15:19:29.604 [DEBUG][1] GetEventCode() returned: 0x8100
2012-07-20 15:19:29.604 [DEBUG][1] Stream live time now: 20/07/2012 14:19:14
2012-07-20 15:19:30.864 [DEBUG][1] GetEventCode() returned: 0x8104
2012-07-20 15:19:30.864 [DEBUG][1] GetEventCode() returned: 0x8100
2012-07-20 15:19:30.864 [DEBUG][1] Stream live time now: 20/07/2012 14:19:15
2012-07-20 15:19:31.624 [DEBUG][1] GetEventCode() returned: 0x8100
2012-07-20 15:19:31.624 [DEBUG][1] Stream live time now: 20/07/2012 14:19:16
2012-07-20 15:19:32.124 [DEBUG][1] GetEventCode() returned: 0x8104
2012-07-20 15:19:32.124 [DEBUG][1] Client about to request renewal of handle: 18005C
2012-07-20 15:19:32.379 [DEBUG][1] GetEventCode() returned: 0x8100
2012-07-20 15:19:32.379 [DEBUG][1] Stream live time now: 20/07/2012 14:19:17
2012-07-20 15:19:33.389 [DEBUG][1] GetEventCode() returned: 0x8104
2012-07-20 15:19:33.899 [DEBUG][1] GetEventCode() returned: 0x8100
2012-07-20 15:19:33.899 [DEBUG][1] Stream live time now: 20/07/2012 14:19:18
2012-07-20 15:19:34.659 [DEBUG][1] GetEventCode() returned: 0x8104
2012-07-20 15:19:34.659 [DEBUG][1] GetEventCode() returned: 0x8100
2012-07-20 15:19:34.659 [DEBUG][1] Stream live time now: 20/07/2012 14:19:19
2012-07-20 15:19:35.409 [DEBUG][1] GetEventCode() returned: 0x8100
2012-07-20 15:19:35.409 [DEBUG][1] Stream live time now: 20/07/2012 14:19:20
2012-07-20 15:19:37.431 [DEBUG][1] GetEventCode() returned: 0x0003
2012-07-20 15:19:39.502 [DEBUG][1] GetEventCode() returned: 0x0001
2012-07-20 15:19:42.182 [DEBUG][1] Client about to request renewal of handle: 18005C
2012-07-20 15:19:52.233 [DEBUG][1] Client about to request renewal of handle: 18005C
2012-07-20 15:20:02.277 [DEBUG][1] Client about to request renewal of handle: 18005C
2012-07-20 15:20:12.328 [DEBUG][1] Client about to request renewal of handle: 18005C
2012-07-20 15:20:21.670 [DEBUG][1] OnKeyDown() called: Escape
I don't know what this means, but other occurrences of the same problem also seem to be immediately preceded by GetEventCode() returning 0x0003 and then 0x0001.
The server (Windows XP) was also watching the same channel during this period, and did not suffer any problems.
As I was rooting around in my npvr.db3 with SQLiteSpy, I discovered that the RECENTLY_DELETED table has entries going back 90 days, to April 21st. However earlier this year, I set my <DeletionHistoryDays> setting to 30 and dumped the deletion history. Initially it started recording all shows again, but after a couple of months it got back to skipping most shows. We don't watch all these re-run shows all the time, they often get deleted unwatched, we just expect a fresh batch to be recorded for when the mood strikes. So I went back and set the <DeletionHistoryDays> to 15, but nothing changed. Now I see why, it's still keeping 90 days of history despite my setting. Is this another one where the setting listed in Config.xml isn't the same as what NPVR is looking for?
Ok, this one is very weird. It's tough to follow myself, much less explain, so I'll just go explain the tuner setup and then list the events:
Tuners, in priority order:
Digital 1523: Hauppauge WinTV 885 BDA Tuner/Demod (QAM) - this is an HVR-1250 -
Digital 1524: WinTV HVR-950 BDA Tuner (ATSC) - this is an HVR-850 -
Analog 1: USB 2883 Device
Analog 2: Happauge WinTV 885 Video Capture (same device as digital 1523)
(only the digital tuners are involved with the issue, the analog tuners listed for sake of completeness.)
All channels involved here are merged between the QAM and ATSC tuners. I have verified that the tuning entries are correct in Devices, and that each channel works on each tuner.
At 18:58:58, Started watching Live TV on QAM tuner (1523). This is logical channel 7, QAM channel 92.546
At 19:00, The Big Bang Theory started recording on the QAM tuner, on logical channel 11, QAM channel 92.548. All is well.
At 19:30:00, The Big Bang Theory stops recording. LiveTV is still active. All is well.
At 19:30:01.236, NRecord wanted to record "How I Met Your Mother" (logical channel 13) on the QAM tuner, but had to move because of LiveTV.
At 19:30:01.338, NRecord determines correctly that it can move the recording to the ATSC tuner (1524), where it should be on ATSC 13.3.
At 19:30:01.554, NRecord asks NDigitalHost-1524 to start the recording.
NDigitalHost-1524: At 19:30:05.355, NDigitalHost tries to tune the ATSC tuner with a QAM tuning request!!! It tunes QAM channel 93.553, when it should tune ATSC 13.3! It even reports a signal lock, though to what I have no clue, there's nothing there...
At 19:30:05.808, NRecord wanted to record another "Big Bang Theory" (logical channel 11); says it needs to move it because of LiveTV (this isn't really correct, it was provisionally scheduled on ATSC Tuner 1524, which is now in use for a recording; tuner 1524 SHOULD be recording on ATSC 13.3, and this new recording needs ATSC 13.4 so it should use the same tuner... but NRecord is confused, and has tuned 1524 to QAM 93.553)
At 19:30:05.823, NRecord determines that it can move the recording to QAM Tuner 1523, which is still running LiveTV on physical channel 92, the same QAM channel needed for The Big Bang Theory (just like the 19:00 recording that just finished).
At 19:30:05.876, NRecord asks NDigitalHost-1523 to start the recording.
NDigitalHost-1523: At 19:30:05.877, NDigitalHost tries to tune the QAM tuner with an ATSC tuning request!!! It tunes ATSC channel 13.4, when it should stay on QAM 92 and access stream 548.
NDigitalHost-1523: At 19:30:06.493, NDigitalHost determines that the LiveTV stream is no longer valid, since the tuner has changed frequencies, and stops handle 23.
At 19:30:06.491, NRecord fails to renew the LiveTV lease on handle 23, and stops the stream. LiveTV ends.
So at this point, two shows are recording on separate tuners delivering no data, each tuned with a tuning string meant for the other tuner. As expected, both recordings are zero length, and get marked "Failed: No errors reported, but no data delivered."
At 20:00, both recordings end, other recordings begin, and the correct tuners are used with the correct tuning strings and all is well again.
Logs attached, along with my npvr.db3, so that you can check all the tuning and channel detail in my database. This seems like a bug which I've never run into before because until now I only had ATSC channels, and the tuning strings were exactly the same across my tuners. However, I know I'm not the only one with channels merged across tuners of different types, so maybe the problem is just in my setup. Yet the scenario to make this happen isn't going to occur every day, and we do see reports of mysterious "no data delivered" recordings from time to time, so maybe I've found something... only sub can know!
(edit: I got curious, having never looked in my npvr.db3, so I downloaded SQLiteSpy and had a look. Everything looks good to me in the CHANNEL_MAPPING table. Logical channel 11 is channel_oid 7036, and 13 is channel_oid 6940. Each has 4 tuning entries, each is correct for the given tuner. Tuner 1522 is disabled, it's the ATSC version of 1523)
I'm not sure why, however starting today the web server is very slow to return any requests. It'll take several minutes to get a page from it. The only thing I can think of is that I had a couple power outages today and perhaps something was corrupted (I ran a disk check). I've included my web.log file.
I've used submenu and added a backdrop but it's not truly htpc friendly.
Problems I'm facing are focus issues once the interface shows up - e.g. can't navigate the games until I click into the list. My workaround right now is to use IRSS to grab the window, maximize and click somewhere. But I'd like to do that automatically once I select the custom task.
The biggest problem is pairing the wii motes though. Anyone know of a way to pair the wii motes through a script diven by the remote and NPVR interface?
If anyone has any tips they've found that would be great.
Jaggy and I have added support for Fanart to SSPlus following Martin's great work with Music Box 4.
Simply download from the wiki, uncompress and run the installer, then set SSPLus as your default screensaver.
First time users should look at the SSPlus wiki page to find out how to make SSPlus your default screen saver.
Edit SSPConfig.xml in your Plugins\SSPlus dir (using notepad or similar - not wordpad) and add the following to the general <settings> section...
Code:
<displayFanart>True|True</displayFanart>
SSPlus will look for Fanart called ArtistName*.jpg in Media\Artists in the NextPVR DataDirectory - if you are using the latest version of Music Box 4 this will already exist, otherwise you will need to create this directory and populate it with your own Fanart.
If Music Box 4 is currently playing your music, SSPlus will display newly downloaded Fanart as it happens...
SSPLus 1.2 also includes the full release version of the Photo Slideshow feature.
We will be updating the wiki page with a full list of features and options as soon as we can, but in the meantime post any comments, suggestions or problem reports (please attach your NPVR logs) in this thread...
Beyond the bitrate setting in config.xml, are there any other settings anywhere that affect the way the Hauppauge softpvr components encode video?
When I view analog channels (whether recordings or livetv), the de-interlacing is weird. Everything moves with a weird stutter; it appears some of the frames play back out of order. For example, during a scene change I'll often see a frame from the new scene, then a frame from the old scene, then frames from the new scene. Likewise fast movement has this weird 2 steps forward, 1 step back quality. I don't have any problem like this on 480i and 1080i digital channels.
I get the same effect regardless of decoder (I tried ATI MPEG-2, Microsoft DTV-DVD, and ffdshow). I also get the same effect on analog recordings from both my Hauppauge and KWorld analog tuners, so it's not some artifact of the way the tuners are digitizing the video (or if it is then both are doing it wrong).
So, I'm thinking (hoping) maybe there are some settings for the encoder itself, maybe to change the field order?
NPVR has been running sweetly for a couple of years or so, where I used Task Scheduler to wake my computer from Sleep, run a batch file to run EPG Collector and then NPVR EPG updater, then put my computer back to sleep. I've just reformatted my hard drive and reinstalled NPVR and EPG Collector but cannot get the scheduled update to work. If I run the batch file directly it all works properly but if I use Task Scheduler to trigger it then the process stops with an error while EPG Collector is accessing its ini file.
I had the same problem when I originally installed this a couple of years ago. I thought I had determined that the cause was that Task Scheduler is very picky about having file paths written in full and all files in the chain being given full permissions. I also improved it by ticking 'Run with highest privileges'. I spent many hours trying to get it working originally and don't have the time to do so this time.
What other ways do users achieve this EPG update bearing in mind that I want to wake and sleep the computer and I must use a 3rd party utility to get the EPG data?