Jump to content

hardware advice for live tv


syadnom

Recommended Posts

syadnom

Hi all.  I'm posting this in the live tv section because my needs are specifically for live tv.

 

I have a few HDHomerun units.  couple extends, couple quatros, couple primes.  All are streaming MPEG2.  I don't use the transcoder on the extend model because it makes for exceptionally ugly interpolated streams.

 

I'm currently running an GTX970 on an i5-2400 and I can't get good results with any mix of transcoding accelleration or CPU decode/encode etc.  about .96-.99 speed in the transcoding logs so it just can't keep up so I end up having to pause a stream for a few seconds for the encoder to get ahead.  This is just ONE transcode...  I'm looking at the hardware transcoding link from here in the forums and it looks like this GTX970 should actually be pretty legit here, maybe I'm hitting a wall on the Dell790 w/ i5-2400 or some pci-e limit on this machine or something.  

 

I'm thinking about upgrading the box but I don't know if it's better to pursue hardware transcoding or get a many-core AMD box and go all CPU, or mix it up and use a graphics card for MPEG2 decoding.  

 

MPEG2 is the wildcard here it seems



 

 

Link to comment
Share on other sites

If you have Premiere you should be able to turn on HW transcoding that will make use of your GTX970.  Have you tried this?

Link to comment
Share on other sites

syadnom
24 minutes ago, cayars said:

If you have Premiere you should be able to turn on HW transcoding that will make use of your GTX970.  Have you tried this?

yeah I have premiere, something isn't happy.  I'm actually noticing this on 4.4 and 4.5 on this machine and another 6th gen i5.  Jittery transcoding from mpeg2 (hdhomerun) to h.264 with hardware accel on both.   Put 4.3.1 on the 6th gen i5 machine and it performs better.

Running plex live-tv and both machines perform great.

Link to comment
Share on other sites

Running the latest nvidia drivers?  mpeg2->h.264 should be easy on that card.

Link to comment
Share on other sites

syadnom
7 minutes ago, cayars said:

Running the latest nvidia drivers?  mpeg2->h.264 should be easy on that card.

My CPU is barely touched.  Everything is 'working' apparently, but the transcoding logs show ~.95 speed which causes the blips. (I presume)

Link to comment
Share on other sites

Any chance you could play something back forcing HW transcode then uploading the ffmpeg log generated for that playback.

Maybe we'll see something in the log file.

Do you have an SSD drive by any chance?  If so try something for me and adjust the "transcoding temporary path" on the Transcoding menu to a path on the SSD.

I'd be happy to TeamView in and take a look and run a test or two if you like, just PM me your TeamViewer ID and one-time use password (www.teamviewer.com) when you're at the computer.

Link to comment
Share on other sites

syadnom
Output of the transcode log for your reading pleasure
 
 
Quote

 

>>>>>> User policy for admin
EnablePlaybackRemuxing: True
EnableVideoPlaybackTranscoding: True
EnableAudioPlaybackTranscoding: True
 
 
>>>>>> Affected codecs
Encoder NVENC GeForce GTX 970 - H.264 (AVC)
Adapter #0: 'GeForce GTX 970' ComputeCapability: 5.2
Frame Sizes: max 4096x4096 - Width Alignment: 2 - Height Alignment: 2
Profiles: Baseline Profile (Level 6.2), Main Profile (Level 6.2), High Profile (Level 6.2), High 4:4:4 Predictive Profile (Level 6.2)
 
 
Decoder NVDEC GeForce GTX 970 - MPEG-2
Adapter #0: 'GeForce GTX 970' ComputeCapability: 5.2
Frame Sizes: 48x16...4080x4080 - Width Alignment: 2 - Height Alignment: 2
Profiles: Simple Profile (High Level), Main Profile (High Level)
 
 
 
 
>>>>>> FindVideoEncoder - Media: h264, UseHardwareCodecs: True, Mode: Automatic
Info Checking: 'NVENC GeForce GTX 970 - H.264 (AVC)'
Info Check successful - selecting 'NVENC GeForce GTX 970 - H.264 (AVC)'
 
 
>>>>>> FindVideoDecoder - MediaType: mpeg2video, Mode: Automatic
Info Checking: 'NVDEC GeForce GTX 970 - MPEG-2'
Info Check successful - selecting 'NVDEC GeForce GTX 970 - MPEG-2'

 
15:19:34.228 frame= 288 fps= 38 q=28.0 size= 4846kB time=00:00:10.71 bitrate=6132.6kbits/s throttle=off speed=0.859x
15:19:34.772 frame= 310 fps= 38 q=29.0 size= 5214kB time=00:00:11.44 bitrate=5926.2kbits/s throttle=off speed=0.892x
15:19:35.320 frame= 325 fps= 38 q=27.0 size= 5452kB time=00:00:11.94 bitrate=5794.3kbits/s throttle=off speed=0.893x
15:19:35.871 frame= 338 fps= 37 q=27.0 size= 5670kB time=00:00:12.37 bitrate=5705.7kbits/s throttle=off speed=0.887x
15:19:36.414 frame= 363 fps= 37 q=14.0 size= 5979kB time=00:00:13.21 bitrate=5457.1kbits/s throttle=off speed=0.923x

 

 
Link to comment
Share on other sites

syadnom
1 minute ago, cayars said:

Any chance you could play something back forcing HW transcode then uploading the ffmpeg log generated for that playback.

Maybe we'll see something in the log file.

Do you have an SSD drive by any chance?  If so try something for me and adjust the "transcoding temporary path" on the Transcoding menu to a path on the SSD.

I'd be happy to TeamView in and take a look and run a test or two if you like, just PM me your TeamViewer ID and one-time use password (www.teamviewer.com) when you're at the computer.

This is transcoding to an SSD already.

 

attached is the full ffmpeg log

ffmpeg-transcode-7904106c-6b50-4ae0-af92-f94492da7f01_1.txt

Link to comment
Share on other sites

syadnom

created a ram drive (r:\) and changed the path just to make sure:
 

15:27:11.429 [segment @ 000001ee440b8980] Opening 'r:\transcoding-temp\F60D6D_6.ts.tmp' for writing
15:27:11.963 frame= 580 fps= 35 q=18.0 size= 8936kB time=00:00:20.18 bitrate=4514.4kbits/s throttle=off speed=0.983x
15:27:12.508 frame= 599 fps= 35 q=15.0 size= 9205kB time=00:00:20.82 bitrate=4474.9kbits/s throttle=off speed=0.989x
15:27:13.053 frame= 612 fps= 35 q=16.0 size= 9404kB time=00:00:21.25 bitrate=4457.0kbits/s throttle=off speed=0.983x
15:27:13.604 frame= 631 fps= 35 q=17.0 size= 9729kB time=00:00:21.88 bitrate=4448.3kbits/s throttle=off speed=0.988x
15:27:14.152 frame= 648 fps= 35 q=14.0 size= 9990kB time=00:00:22.45 bitrate=4427.4kbits/s throttle=off speed=0.99x
 
 
 
 
Link to comment
Share on other sites

Try something for me as a test.  Use the same file.

Turn on/enable throttling.

What do you see for encoding preset and what is your H.264 encoding CRF set to?

Link to comment
Share on other sites

syadnom

enabled throttling.  no diff.

 

changed to 'superfast' and CRF=1, no improvement.

 

almost looks like it's stalling a bit after writing each HLS segment.  

Link to comment
Share on other sites

syadnom

hmmm, well now I'm almost convinced it's the creation of the chunks.  I watched 1 minute at it paused after each file creation.

 

If I pause the stream for just a few seconds and then start it again, zero stalling.  It's as if the encoder pauses when writing the chunk out and resumes when done.  very strange.

Link to comment
Share on other sites

syadnom

also, this only happens for live tv.  playing a movie is totally fine. 
 

 

I don't have an HDD, just ram drive or SDD.

 

I'll test with gpuz and report back.

Link to comment
Share on other sites

9 minutes ago, syadnom said:

enabled throttling.  no diff.

 

changed to 'superfast' and CRF=1, no improvement.

 

almost looks like it's stalling a bit after writing each HLS segment.  

Don't forget to set those back.  CRF around 23 is normal  1 is insane. :)

Link to comment
Share on other sites

syadnom

tried CRF at 0 and at 51, now back at 23.  No apparent change any way.  GPU load peaks at about 12%.   Video Engine load is also about 6-7%.

Link to comment
Share on other sites

That looks ok.

What nvidia driver version are you running?

What firmware on the HDHomeRun being used.  Is this on the Quatro?

If you have any DVR recordings, how do they play back?

Link to comment
Share on other sites

syadnom

Just updated nvidia driver as part of troubleshooting.451.67.

 

DVR content plays fine, No hickups.  even just pausing the video to let the chunks get ahead fixes the video.

 

HDHomeRun Extend and a Quatro, I have both.  They both do the same thing.

Edited by syadnom
Link to comment
Share on other sites

That all looks good and it's good that DVR recordings are playing back well.

What client are you using for testing?

Is everything hardware with Ethernet or WIFI involved?

USA or UK?

If possible try playing something Live back in your client, bring up stats for nerds and capture the screen or take a picture of it and attach it.

Link to comment
Share on other sites

syadnom

Web client, iOS, Roku.

 

web client is ethernet

iOS and Roku are wireless but can easily handle a 40Mbps 4k HDR stream and speed tests over 100Mbps.

hdhomeruns are wired connected to the same switch as both emby servers

USA.

 

will post stats page 

Link to comment
Share on other sites

"both emby servers" ?

You have two servers?  Same results with Live TV on both?

When using the web client is it on a different machine then the server being used?

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...