PDA

View Full Version : nfpvr 0.1.1 - The open-source nFusion PVR alternative for Windows and Linux nfpvr 0.1


ryan20021982
01-22-2008, 08:26 AM
nfpvr 0.1.1 - The open-source nFusion PVR alternative for Windows and Linux nfpvr 0.1.1

The open-source nFusion PVR alternative.

Located at the link below. Copy and place in your inernet browser.
http://sourceforge.net/projects/nfpvr/

Be sure to stay ontop of all updates.

=======================================

What is this?
-------------

nfpvr is a PVR server that records free-to-air satellite programming using the nFusion Nova FTA satellite receiver.

It is an open-source alternative that attemps to mimic the proprietary "IPPVR" software provided on the Internet. It is for now command-line only, does not provide a nice & fancy user interface, but attempts to be as robust (ie, crash-free and pack error resilient) as possible.


How do I use it?
----------------

Open the command prompt and just run the exectuable; you should be good to go. It should print out something like that:

info: nfpvr 0.1, run "nfpvr --help" for help
info: your IP address is 192.168.0.10
info: bound to UDP port 50000, waiting for data

Good sign. Now, on your nFusion unit, make sure the PVR IP address in the Network Settings is set to what 'your IP address is' (192.168.0.10 in my case). Problems have been observed when this is not set (and left to the default broadcast address, 255.255.255.255). So do it.

Now tune in your TV and hit record. You should see this:

info: starting recording on <filename>.mpg

where <filename> is the output mpeg file that will hold your recording. The software's now recording and saving the audio and video to the mpeg file. Now go back to your receiver, hit the stop button and you should see the following:

info: done recording, closing mpeg file

Good. Now you can watch the recording your favorite mpeg player. I personally recommend VLC media player (VLC media player - Overview).


How do I build it?
----------------

Windows users can either compile it under:
- cygwin, type "make nfpvr.exe"
- visual studio 2005, open "nfpvr.sln" and build the release configuration

Linux users can simply run:
- "make nfpvr"

The linux version was tested under Ubuntu 7.04. I had to install g++ before ("sudo apt-get install g++"), and remove the libpthreads packages (I used the Synaptic package manager). For some reasons, there seemed to be an include file conflict with libpthreads and it wouldn't compile; you might be luckier than me and have no problem at all.


Why should I use it?
--------------------

- it's open source, we can all contribute to it and add the features we want
- it runs on Windows, Linux (and in the future MacOS and XBMC I hope)
- we can all look at the code and try to make it more robust than the closed-source IPPVR


I get warnings, what does it mean?
----------------------------------

Ok, here comes the dirty truth. Your nFusion uses the UDP protocol to send audio & video to your PC. This is, by definition an unreliable transport protocol and there CAN be lost data, especially over wireless networks. So if you see one of those warnings:

warning: video dts inconsistency
warning: video buffer overflow discarded 1 headers
warning: audio buffer overflow discarded 1 headers

it means something has gone wrong in the transmission. nfpvr will try not to crash, but to do the best it can (ie, drop the lost audio and/or video frames, but keep going if everything onward is received fine).

What can you do about it? First, get rid of the wireless, this is not reliable for UDP and never will be. If it works, fine, you're lucky. But I've done all my testing on wired networks so I can't really help you there.

Second, make sure you're using a well tested 100mbit ethernet router/switch. Ethernet over power-line probably won't work cause it is too, very unreliable.

We can work on reliability as time goes by and I get feedback. We'll keep this a priority; I personally don't care about having a fancy user interface, and I'd rather have something ugly but rock-solid than something fancy but flaky.

What are the program options?
-----------------------------

You can run nfpvr with several program options:

-w, --writeraw <filename> Writes raw data from the network to a file
-r, --readraw <filename> Reads raw data from a file instead of the network
-p, --port <port #> UDP port on which to listen to (default: 50000)
-o, --outputdir <directory> Output directory where to save mpeg files
-n, --nompeg Don't compose the mpeg files
-v, --verbose Run in verbose mode
-h, --help Print this help message
-x, --version Print the version number

Most of them are pretty self-explanatory. You never really need to use those options, but they're there mainly for debugging (ie, for the developpers).


Who are you anyways? why did you code this?
-------------------------------------------

I am NOT working for nFusion whatsoever. I'm just a kid with too much time on its hands and a desire for challenges. Some people were complaining around in the *****.com that they wanted a linux version of the IPPVR software, so I decided I'd give it a shot.

I basically sniffed the network traffic with Wireshark (an open-source network sniffer), and figured that the nFusion basically sends a stripped down version of the mpeg transport stream. I then coded my own homebrewed transport stream to program stream converter and there you got it.

Planned features
---------------

- a MacOSX port
- an XBMC port (XBMC - Xbox Media Center)
- recording on different filenames if on same channel (so files don't overwrite themselves
- maybe a basic user interface (ie, on the Windows system tray)
- a code cleanup (yes, some parts are really ugly)

Changelog
---------
0.1.1:
- Fixed invalid characters in mpeg filenames
- Switched to three numbered versions

0.1:
- Initial version

Bugs? complaints? love letters?
email: In the release notes
You can disuss this Thread