|
SageTV Software Discussion related to the SageTV application produced by SageTV. Questions, issues, problems, suggestions, etc. relating to the SageTV software application should be posted here. (Check the descriptions of the other forums; all hardware related questions go in the Hardware Support forum, etc. And, post in the customizations forum instead if any customizations are active.) |
|
Thread Tools | Search this Thread | Display Modes |
#1
|
|||
|
|||
Does a network encoder actually encode?
I have a sagetv server and sagetv server setup as a network encoder. It all works fine however I notice that when my htpc sagetv client is viewing live tv fed from the card on the encoder, looking at both server's cpu usage it looks like the main sagetv server is doing the actual encoding of the stream and storing to the recording directory?
Am i right? is it not possible to make the network encoder actual encode the stream to spread the cpu usage? |
#2
|
||||
|
||||
My understanding is using a server as a newtwork just allows it to claim the tuner as its own, so to speak. It makes the tuner installed in the box seem as if it is installed in the main SageTV server, makes it a part of the guide and controls everything it does. I would think if you had defined a recording directory on that box it would record it there but it would be driven by the main SageTV server. The encoding of the recording (for analog tuners) should be done on the tuner card because they are hardware encoders (or should be). Any HD digital streams come across as the final format and requires no encoding. The HD-PVR encodes in h.264 in hardware and again should not cause much of a load on the CPU.
Gerry
__________________
Big Gerr _______ Server - WHS 2011: Sage 7.1.9 - 1 x HD Prime and 2 x HDHomeRun - Intel Atom D525 1.6 GHz, Acer Easystore, RAM 4 GB, 4 x 2TB hotswap drives, 1 x 2TB USB ext Clients: 2 x PC Clients, 1 x HD300, 2 x HD-200, 1 x HD-100 DEV Client: Win 7 Ultimate 64 bit - AMD 64 x2 6000+, Gigabyte GA-MA790GP-DS4H MB, RAM 4GB, HD OS:500GB, DATA:1 x 500GB, Pace RGN STB. |
#3
|
||||
|
||||
A Sage network encoder is probably a misnomer for what it does. It's actually a "Network Tuner". The API is fairly generic, and it basically support changing channels and writing the vidoe output to a specified file location. There is nothing the API for actually performing an encode (although the tuner could and probably does encode as it writes the file).
Also, there is nothing in the API for transferring of video which means that either sage uses an undocumented way of moving the recorded file from server a to server b, or both server a and b share the same filesystem. (local or remote) If sage is actually encoding the file again, on the local box, then it may be that a specific recording quality is set, and causing sage to re-encode the video again.
__________________
Batch Metadata Tools (User Guides) - SageTV App (Android) - SageTV Plex Channel - My Other Android Apps - sagex-api wrappers - Google+ - Phoenix Renamer Downloads SageTV V9 | Android MiniClient |
#4
|
|||
|
|||
Hi,
Yes on my network encoder... tuner :-) I set the tvrecord directory to be the tvrecord folder on the main sagetv server. While watching a channel served by the network tuner I ran a file util on the main sagetv server and it showed the local sagetv process on the main sagetv server was actually writing the file, so it seems the network tuner streams the raw data from the tuner card to the sagetv server where it is encoded (or maybe thats transcoded) to the set recording quality and written to file where the sagetv client picks it up for display. I can see this being a limitaiton if all the processing power has to be on the main sagetv server.... I saw one thread on these forums where a user was talking about encoding the stream from 60 tuners.... no number of network tuners in that instance would help. I only use a network tuner as the haupp s2 card will not work in my main sagetv server so I'm happy, I was just curious. Thanks for the replies, Jon |
#5
|
||||
|
||||
Quote:
At most, the network encoder streams the encoded stream back to the server to be written, but I don't think even that is the case. The server doesn't have any knowledge of the capabilities of the network tuners, beyond they exist. Are you sure the server is writing the file? Not just reading it? The main server does monitor the recording file to make sure it's recording and restart the capture if necessary. Also you don't mention which tuner(s) you have. Almost all of the supported tuners either have hardware encoders or are digital tuners which require no encoding. Quote:
|
#6
|
|||
|
|||
Hi, thanks for your thoughts on this. I thought given you set the recording quality in sage then there is some encoding going on, in fact I would of thought in the recording quality option there should be one that states "use source".
I ran a file util that did show the locate sagetv process with the file open, however given what you've said I will check if its open for read or write. However I can't dismiss the fact I noticed the main sagetv server was using around 20% cpu while the client was watching a channel from the net encoder. I'll do some tests and double check. I have a haupp nova dual dvbt card in the main sagetv server and yes the haupp dvb-s2 in the network encoder/tuner?? Jon |
#7
|
||||
|
||||
Quote:
Quote:
Quote:
|
#8
|
||||
|
||||
one intersing apect of the network encoder api is that there is a command "get file size" that is called from the sever to the the encoder server. basically the encoding server tells how large the file is getting..... In my experience, i've seen where the sage server gets overly agressive in calling "get file size" so much to the point that I was receiving about 30+ requests per second. In my network encoding server, I had to write some code to "block" and hold the connection so that I could "tame" the server. I basically put in code that said, if the time between this request and the previous is less than a specified # of seconds, then block and hold, and the reply.
I wonder if the cpu spike is related to this "get file size" command??
__________________
Batch Metadata Tools (User Guides) - SageTV App (Android) - SageTV Plex Channel - My Other Android Apps - sagex-api wrappers - Google+ - Phoenix Renamer Downloads SageTV V9 | Android MiniClient |
#9
|
|||
|
|||
I ran the test, funny, I noticed cpu usage was only at around 5% while watching a SD channel that was served by the encoding server.
In answer to your question I have a sagetv server with a haupp nova dual tuner and a sagetv server acting as network encoder with a haupp dvb-s2 tuner (I have to do it like this as the s2 tuner will not work in the main sagetv server). I ran the file util on the sagetv server while the client (a third pc with sagetv-client installed) was watching a channel served by the network encoder... it showed the main sagetv server doing writes to the file, so it is the main server writing the file, not the encoding server. As previously stated the network encoding server is using the main sagetv server's tvrecord folder over a network share.... although it looks like thats not neccessary. So, stuckless, given my original question and what you've said; am I right in saying its the master sagetv server that writes the file for live tv? |
#10
|
||||
|
||||
Quote:
__________________
Batch Metadata Tools (User Guides) - SageTV App (Android) - SageTV Plex Channel - My Other Android Apps - sagex-api wrappers - Google+ - Phoenix Renamer Downloads SageTV V9 | Android MiniClient |
#11
|
||||
|
||||
Well, we pretty much know the encoding server protocol is slightly different than the "normal" network encoder protocol, for example encoding servers are automatically discovered and enabled, while "network encoders" require manual file editing.
I'd not surprised if Sage uses a more sophisicated interface privately, one that would eliminate the troubles that can be associated with recording paths on different machines. |
#12
|
||||
|
||||
Quote:
__________________
Batch Metadata Tools (User Guides) - SageTV App (Android) - SageTV Plex Channel - My Other Android Apps - sagex-api wrappers - Google+ - Phoenix Renamer Downloads SageTV V9 | Android MiniClient |
#13
|
|||
|
|||
Quote:
Cheers, Gene Reeves |
#14
|
|||
|
|||
No, the fileutil showed the master server's sagetv process doing the writing.
|
#15
|
||||
|
||||
hmm. I thought the only file size call was the 5 minute "are we still communicating?" check the master server does to the network encoding box to see if everything has gone to heck. that's what I thought I was seeing when trying to debug a problem I was having with the HD-PVR as a network encoder.
(a problem which neither i nor Sage support every did figure out BTW. I gave up and moved the DirecTV box to the server room. As far as I know, the HD-PVR, with current software, flat out won't function well as a network encoder.) Quote:
__________________
Server: AMD 9600 Phenom on XP, Gigabyte GA-MA78GPM, 2GB RAM, 320+250+500 GB SATA drives, HDHomeRun Prime, HD-PVR x.5.1, Paterson serial Client/Encoder:AMD 3800+ X2, 512 MB RAM, ATI X1650 XT, nMediaPC case, Hauppauge HD-PVR, Cyberlink/ArcSoft decoders, USB-UIRT Client/Encoder: AMD 3800+ X2, 512 MB RAM, 6150 graphics, nMediaPC case, ArcSoft decoders Client: HD300, Asus Pundit P1-AH1, AMD 3800+ X2 CPU, 1 GB RAM, 6150 graphics, ArcSoft decoders Backup: Synology SageTV version: FINAL |
#16
|
||||
|
||||
By the way, it is extremely unlikely that the network encode is passing raw video to the server because, firstly it would require a huge amount of sustained network bandwidth (raw SDTV = ~30MBytes/s, which is stretching the limits of a Gigabit LAN), and secondly, because your tuner card can not actually get raw video from an already-encoded DVB stream!
The 'recording quality' is also ignored for digital tuners for this reason. What is the actual CPU usage that you see on the 3 computers?
__________________
Check out my enhancements for Sage in the Sage Customisations and Sageplugins Wiki |
#17
|
|||
|
|||
Oh processor usage is fine on all three... they are all below/around 10%. I was only asking as I was curious, although this has turned into an interesting thread.
And yes of course all my streams are digital so now I know the "quality" setting is only used for analogue encoding I guess no machine is encoding anything... although I stick by my guns in stating it seems the master server writes the actual file to disk, at least thats what filemon showed me. I am planning on using a spare 100GB partition on my encoding server to add to the list of shares used for recording TV..... (formatted 64K of course)... I'll let you know whats writing what when I have a show received by my encoding server and also stored on my encoding server... I'd be a little disappointed if the show was streamed to the master server then written to the local share on the encoding server by the master server.... I'm sure that won't happen though :-) Last edited by stryker; 10-10-2008 at 05:39 AM. |
#18
|
||||
|
||||
Quote:
__________________
Server: AMD 9600 Phenom on XP, Gigabyte GA-MA78GPM, 2GB RAM, 320+250+500 GB SATA drives, HDHomeRun Prime, HD-PVR x.5.1, Paterson serial Client/Encoder:AMD 3800+ X2, 512 MB RAM, ATI X1650 XT, nMediaPC case, Hauppauge HD-PVR, Cyberlink/ArcSoft decoders, USB-UIRT Client/Encoder: AMD 3800+ X2, 512 MB RAM, 6150 graphics, nMediaPC case, ArcSoft decoders Client: HD300, Asus Pundit P1-AH1, AMD 3800+ X2 CPU, 1 GB RAM, 6150 graphics, ArcSoft decoders Backup: Synology SageTV version: FINAL |
#19
|
||||
|
||||
It's not "converting" to MPEG, it already is MPEG from the HDHR. What the Sage server does (or maybe the HDHR, I'm not exactly sure about the data flow) is parse the MPEG Transport Stream, which contains multiple programs, and save the desired program as an MPEG Program Stream.
|
#20
|
||||
|
||||
Quote:
__________________
Server: AMD 9600 Phenom on XP, Gigabyte GA-MA78GPM, 2GB RAM, 320+250+500 GB SATA drives, HDHomeRun Prime, HD-PVR x.5.1, Paterson serial Client/Encoder:AMD 3800+ X2, 512 MB RAM, ATI X1650 XT, nMediaPC case, Hauppauge HD-PVR, Cyberlink/ArcSoft decoders, USB-UIRT Client/Encoder: AMD 3800+ X2, 512 MB RAM, 6150 graphics, nMediaPC case, ArcSoft decoders Client: HD300, Asus Pundit P1-AH1, AMD 3800+ X2 CPU, 1 GB RAM, 6150 graphics, ArcSoft decoders Backup: Synology SageTV version: FINAL |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Comcast, Big Ten Network Reach Broad Multimedia Agreement For Big Ten Network Content | eopian | The SageTV Community | 1 | 06-21-2008 08:16 AM |
Dropped favorite recording -- with debug logs | Surtr | SageTV Software | 4 | 02-19-2008 10:48 AM |
Network Encoder Questions | AtariJeff | SageTV Software | 3 | 02-08-2008 04:50 PM |
Sage network Encoder and Sage failure? | nyplayer | SageTV Software | 1 | 09-27-2006 06:47 AM |
EXETunerPlugin, Sage 4 and network encoder | vuego | SageTV Software | 0 | 12-11-2005 02:47 PM |