Looking for some help for a newbie. I am having problems getting my set up to work. Here is what I have, TWC and HVR2250 MCE, WinXP 32bit. I split the cable coax from the wall, 1 split to the box, 1 split to the main 2250 board. I took the component video from the box, the green cable, plugged it into the rca connector on the daughter board, then I connected the l/r audio from the box component to the daughter board, via rca to 3.5 mm connector. I dl'd the latest NPVR, installed it, when to set it up, my analog devices were not there. I installed WinTV 7.2, that fixed the problem. Now I have 6 devices showing, 2x analog, 2x qam, 2x atsc. How do I add channels for the analog, I see the add channels button but what do I input, what the actual channel is, won't this take a long time? Secondly, when I scan for channels I get nothing from ATSC and only 24.x to 120.x from QAM. I have looked at the wiki and it wasn't much help at that point. I also searched the forum, but no one was having such basic problems as myself. Any help would be appreciated, just spent several hours getting no where.
What rules govern the automatic cleanup of recordings?
Currently, my postprocessing script uses TsRemux to remux ts files generated by my HD-PVR (for the purpose of having files that will play back on PS3). So the end result is that, for each one of those recordings, I end up with both:
<filename>.ts
<filename>.m2ts
and a whole bunch of files that comskip generates, of various extensions.
When the automatic cleanup kicks in, everything gets deleted when it should (as per the recurring recording's retention spec) except for <filename>.m2ts. When I initially started using TsRemux to create these extra files I hoped that NPVR would just automatically manage them the way that it does all the other files, but it didn't and now I am growing weary of manually cleaning up my recordings directories.
Is there a way NPVR can just nuke everything with the same filename, regardless of extension? or some other way to configure automatic management of these extra files.
I realize I dug my own grave by getting creative with the postprocessing script but was hoping I could get thrown a bone on this one.
Is it possible to play MPG files in NPVR? I have registered MCEMpgMux.ax but this does not seem to make a difference. Wondering if it is even possible?
Hi,
I'm trying to connect to npvr's web service to schedule a recording.
I translated to Delphi Prism and compiled the code from webServiceAuthentication.cs, and I get the R, RL, RTL values. I copy them to my web services client application to test, but I get "unauthorized" every time. Here is the code, can you please take a look and tell me what I'm doing wrong (hashMe the two Encrypt and button1_Click which creates R, RL, RTL). The code is just copied from webServiceAuthentication.cs and I think it should work... but it doesn't. What am I missing?
Code:
namespace WindowsApplication1;
interface
uses
System.Drawing,
System.Collections,
System.Collections.Generic,
System.Windows.Forms,
System.ComponentModel,
System,
System.IO,
System.Security.Cryptography,
System.Text;
type
/// <summary>
/// Summary description for MainForm.
/// </summary>
MainForm = partial class(System.Windows.Forms.Form)
private
method button1_Click(sender: System.Object; e: System.EventArgs);
method hashMe(input: string): string;
method Encrypt(clearText: string; Password: string; Salt: array of byte; iteration: Integer): string;
method Encrypt(clearData: array of byte; Key: array of byte; IV: array of byte): array of byte;
protected
method Dispose(disposing: Boolean); override;
public
constructor;
end;
implementation
{$REGION Construction and Disposition}
method MainForm.hashMe(input: string): string;
begin
var x: MD5CryptoServiceProvider := new MD5CryptoServiceProvider();
var bs: array of byte := System.Text.Encoding.UTF8.GetBytes(input);
bs := x.ComputeHash(bs);
var s: StringBuilder := new StringBuilder();
for each b: byte in bs do
begin
s.Append(b.ToString("x2").ToLower());
end;
var password: string := s.ToString();
result:=password;
end;
//Encrypt a byte array into a byte array using a key and an IV
method MainForm.Encrypt(clearData: array of byte; Key: array of byte; IV: array of byte): array of byte;
begin
// Create a MemoryStream to accept the encrypted bytes
var ms: MemoryStream := new MemoryStream();
// Create a symmetric algorithm.
// We are going to use Rijndael because it is strong and
// available on all platforms.
// You can use other algorithms, to do so substitute the
// next line with something like
// TripleDES alg = TripleDES.Create();
var alg: Rijndael := Rijndael.Create();
// Now set the key and the IV.
// We need the IV (Initialization Vector) because
// the algorithm is operating in its default
// mode called CBC (Cipher Block Chaining).
// The IV is XORed with the first block (8 byte)
// of the data before it is encrypted, and then each
// encrypted block is XORed with the
// following block of plaintext.
// This is done to make encryption more secure.
// There is also a mode called ECB which does not need an IV,
// but it is much less secure.
alg.Key := Key;
alg.IV := IV;
// Create a CryptoStream through which we are going to be
// pumping our data.
// CryptoStreamMode.Write means that we are going to be
// writing data to the stream and the output will be written
// in the MemoryStream we have provided.
var cs: CryptoStream := new CryptoStream(ms, alg.CreateEncryptor(), CryptoStreamMode.Write);
// Write the data and make it do the encryption
cs.Write(clearData, 0, clearData.Length);
// Close the crypto stream (or do FlushFinalBlock).
// This will tell it that we have done our encryption and
// there is no more data coming in,
// and it is now a good time to apply the padding and
// finalize the encryption process.
cs.Close();
// Now get the encrypted data from the MemoryStream.
// Some people make a mistake of using GetBuffer() here,
// which is not the right way.
var encryptedData: Array of byte := ms.ToArray();
result := encryptedData;
end;
// Encrypt a string into a string using a password
// Uses Encrypt(byte[], byte[], byte[])
method MainForm.Encrypt(clearText: string; Password: string; Salt: array of byte; iteration: Integer): string;
begin
// First we need to turn the input string into a byte array.
var clearBytes: Array of byte := System.Text.Encoding.Unicode.GetBytes(clearText);
// Then, we need to turn the password into Key and IV
// We are using salt to make it harder to guess our key
// using a dictionary attack -
// trying to guess a password by enumerating all possible words.
var pdb: Rfc2898DeriveBytes := new Rfc2898DeriveBytes(Password, Salt, iteration);
// Now get the key/IV and do the encryption using the
// function that accepts byte arrays.
// Using PasswordDeriveBytes object we are first getting
// 32 bytes for the Key
// (the default Rijndael key length is 256bit = 32bytes)
// and then 16 bytes for the IV.
// IV should always be the block size, which is by default
// 16 bytes (128 bit) for Rijndael.
// If you are using DES/TripleDES/RC2 the block size is
// 8 bytes and so should be the IV size.
// You can also read KeySize/BlockSize properties off
// the algorithm to find out the sizes.
var encryptedData: Array of byte := Encrypt(clearBytes, pdb.GetBytes(32), pdb.GetBytes(16));
// Now we need to turn the resulting byte array into a string.
// A common mistake would be to use an Encoding class for that.
//It does not work because not all byte values can be
// represented by characters.
// We are going to be using Base64 encoding that is designed
//exactly for what we are trying to do.
result := Convert.ToBase64String(encryptedData);
end;
constructor MainForm;
begin
//
// Required for Windows Form Designer support
//
InitializeComponent();
//
// TODO: Add any constructor code after InitializeComponent call
//
end;
method MainForm.Dispose(disposing: Boolean);
begin
if disposing then begin
if assigned(components) then
components.Dispose();
//
// TODO: Add custom disposition code here
//
end;
inherited Dispose(disposing);
end;
{$ENDREGION}
method MainForm.button1_Click(sender: System.Object; e: System.EventArgs);
begin
var iterations: Integer := 25;
var userPassword: string := 'my_password';
var userName: string := 'my_username';
//Use the current date/time to create the Salt for the encryption of the userid and password
var timeString: string := DateTime.Now.ToUniversalTime().ToString();
var encodingSalt: Array of byte := Encoding.ASCII.GetBytes(hashMe(timeString));
//Encrypt the credentials using the entered password hash (if correct the has will match what is stored in NEWA config)
//as the encryption password along with the Salt
var pwdHash: string := hashMe(userPassword).ToLower();
var pwd: string := Encrypt(userPassword, pwdHash, encodingSalt, iterations);
var id: string := Encrypt(userName, pwdHash, encodingSalt, iterations);
var guid_: Guid := Guid.NewGuid();
//We're encrypting the date/time we used to create the salt with the guid so the decrypt of the re-passed credentials knows
//what is used as the salt
tRL.Text := Encrypt(id.Length.ToString(), pwdHash, Encoding.ASCII.GetBytes(guid_.ToString()), iterations);
var rt: string := Encrypt(timeString, pwdHash, Encoding.ASCII.GetBytes(guid_.ToString()), iterations);
tRTL.Text := Encrypt(rt.Length.ToString(), pwdHash, Encoding.ASCII.GetBytes(guid_.ToString()), iterations);
tR.Text := rt + id + pwd + guid_;
end;
end.
Thinks seem to be going fairly well with the new setup but I've noticed what may be a bug in the Enhanced Web Administration component.
Using the html interface (ie localhost/Manage.aspx, not localhost/Manage2.aspx) there is no Delete button beside each recording. In the CSS version (ie Manage2.aspx) the delete button is there. Under GBPVR, there was always a delete button.
Hope this can be fixed as we use the NEWA interface exclusively.
so i have all my channels set to use the dvb (atsc) guide listings.
sometimes when i'm browsing through channels live and then go back to the guide listings, it seems like the guide listings for one channel have been imported onto the wrong channel number, causing the listings for that channel to be merged with another channel, and it screws things up pretty bad. i'm not sure how to fix this...
also, is there any reason why the atsc epg doesn't pull in the show descriptions as well as the names? i know this data is available from broadcast because it shows up on my hdtv when you press the info button, and the tv has no internet connection.
I get no sound with live TV, DVB-T (Freeview). I do get it with the same connection on a regular TV. I do get it with the bundled software that came with my AVlabs USB tuner, but I don't like that programme and it can't cope properly.
I have installed the patches in the top thread.
Attached are the logs and a screen cap of the settings.
In HE-AAC setting I have a choice of "ffdshow Audio Decoder" only.
In AAC Audio I have "ffdshow Audio Decoder", "Nero Audio Decoder 2", "MPC - RealAudio DEcoder", and "Cyberlink Audio Decoder(KWorld)". None of them work.
I can play video I have stored on my computer in nPVR and audio works.
I'm not THAT literate at this type of stuff, so please be gentle.
I have searched on this forum to no avail for a solution.
Windows XP SP3.
Also - is there a list of keyboard commands somewhere?
I'm trying to convert my wife's work-out videos to mpgs so she can avoid juggling DVDs and I'm having trouble finding a rock-solid way to do the conversion. So far my best results have come from VLC (isos -> mpg) - nothing else I tried kept the audio synched properly. However these results aren't perfect because the timeline displays incorrectly (several minutes too short) and trying to fast forward or skip causes playback to restart at the beginning.
Does anyone have any suggestions on a flawless way to do this, something that provides a video that will playback well using NPVR and the MVP?