Jump to content

Hardware transcode from Live TV?


Go to solution Solved by Happy2Play,

Recommended Posts

Chiefmas
Posted

Should hardware transcoding work from live TV? I had assumed it would, but it doesn't seem to be. I'm running an old school HDHomeRun dual tuner- no onboard encoding on that. I noticed stuttering during a stream, and when I check the server, I can see the ffmpeg processes are hammering the CPU. It sure looks like no hw assisted operations are happening.

Attaching a log...looks like it's having trouble with mpeg-2 stream, which is interesting..

ffmpeg-transcode-b47079d6-d54d-4b24-9ef5-8d3c57e1dad3_1.txt

Chiefmas
Posted

Ok...just configured the same hardware on my Plex server and it looks like it's doing hw transcode fine...so something is wonky on the Emby side, or I've got something misconfigured.

 

 

  • Solution
Happy2Play
Posted

It tries as fails.

20:47:42.020 [mpeg2video @ 00000252c71bac00] Invalid frame dimensions 0x0.

20:47:42.095 Stream mapping:
20:47:42.095   Stream #0:0 -> #0:0 (mpeg2video (native) -> h264 (h264_qsv))
20:47:42.095   Stream #0:1 -> #0:1 (ac3 (native) -> mp3 (libmp3lame))
20:47:42.095 Press [q] to stop, [?] for help
20:47:42.129 Impossible to convert between the formats supported by the filter 'Parsed_null_0' and the filter 'auto_scaler_0'
20:47:42.129 Error reinitializing filters!
20:47:42.129 Failed to inject frame into filter network: Function not implemented
20:47:42.129 Error while processing the decoded data for stream #0:0
20:47:42.130 [libmp3lame @ 00000252c7b58ec0] 3 frames left in the queue on closing
20:47:42.133 Conversion failed!

Can you update your graphics driver?

The indicated SDK version is: 1.33.
The device is 'HD Graphics 630'.
On Windows, the maximum SDK versions are 1.11 (3rd gen), 1.20 (4th and 5th gen).
All newer CPUs are still getting updates, and should have drivers >= 1.34

Also can you test setting a different decoder then "DX11VA - mpeg2".  Transcoding menu "Enable hardware acceleration when available:" from Yes to Advanced.

example

image.png.f45ee9a82addb9bddb1585918306b682.png

  • Thanks 1
Chiefmas
Posted

Ah, I didn't know that advanced option was there. I don't remember seeing it before. Is there guidance on when to choose particular options? All other things being equal, I would tend towards using native lib calls instead of doing through DirectX, which seem to be set as the default options. I've enabled all of the options and moved QuickSync to the top. Will test and report back, thanks!

 

Chiefmas
Posted

Switching the preferred decoder over to QuickSync native looks like it did the trick. The ffmpeg process is down to around 3% now, which is in line with what I see under Plex. I'd still be curious if they have suggestions on what preference and why. I suppose the defaults imply a preference, personally I prefer using the native API myself, but I can see where they'd prefer using DirectX to get wider support.

Thanks!

  • Like 1
Happy2Play
Posted

Not sure how priority is handled when "Yes" is selected.  I know there are changes to this in upcoming 4.7.

But @softworkzmay be able explain the order.

Posted (edited)
1 hour ago, Chiefmas said:

Ah, I didn't know that advanced option was there. I don't remember seeing it before. Is there guidance on when to choose particular options?

The general guidance is to set it to "Yes".

50 minutes ago, Happy2Play said:

Not sure how priority is handled when "Yes" is selected. 
But @softworkzmay be able explain the order.

The default order is exactly the order that you see when switching from "Yes" to "Advanced".

A little caveat: if you (and only if you) had set it to "Advanced" already, then choose "Yes", then "Save", then change selection back to "Advanced", you'll still see your previous advanced settings (and you'd be able to save this and have your previous state again). To see the defaults, you'd need to navigate away and back after saving "Yes" (or refresh).

Edited by softworkz
  • Thanks 1
Posted (edited)
1 hour ago, Chiefmas said:

All other things being equal, I would tend towards using native lib calls instead of doing through DirectX, which seem to be set as the default options. I've enabled all of the options and moved QuickSync to the top.

The QuickSync MPEG2 decoder has known issues in certain cases of mp2 videos. That's why we have the DX11VA mp2 decoder at a higher priority in the default setup.
I'm unsure why this fails in your case and falls back to software, because the current stable version is out for a long time already and I haven't seen that kind of issue before.

As the next release is imminent, I think it's better though, to look forward and re-check with the beta or the .0 release.

Thanks,
sw

Edited by softworkz
  • Thanks 1
Chiefmas
Posted

Ah, thanks for the info! I appreciate it! Short term at least, my issue is resolved. Outside of the tv tuner I don't really have any other sources of mpeg-2 encoded material these days, so I'm not overly concerned about running into issues, unless they are something that shows up on broadcast.

I'll try to remember to check again after next release, and switch back to DX11VA and see if the issue stops happening.

Thanks!

 

  • Thanks 2

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...