Jump to content

GPU Transcoding (Intel QuickSync and nVidia NVENC)


witteschnitte

Recommended Posts

mjb2000

Sorry to get your hopes up CM000n!

 

I didn't start this thread, so unfortunately I can't rename it to something more appropriate. Perhaps a moderator can rename this topic to "GPU Transcoding using Intel QuickSync (h264)"?

Link to comment
Share on other sites

SikSlayer

 

Luke needs to see that using this new ffmpeg does not damage any existing functionality. Once this has been established he will tweak the MB code to allow us to start testing QuickSync functionality. Therefore please report all success and failures in this thread so Luke can judge when to proceed.

 

Is it your hope to convince Luke, or was this already agreed upon?

If the latter, you've just gotten a new tester. I have an Core i7 4771 /w 16GB of RAM, so I've got enough horsepower to test it out.

 

I do need some help with the setting up since I use a dedicated video card, I looked and didn't find anything. I know there was some app that came with motherboards that did this, but I forget the name.

Link to comment
Share on other sites

techywarrior

Sorry to get your hopes up CM000n!

 

I didn't start this thread, so unfortunately I can't rename it to something more appropriate. Perhaps a moderator can rename this topic to "GPU Transcoding using Intel QuickSync (h264)"?

Well, from some quick research it sounds like there may already be a --enable-opencl flag for ffmpeg to use opencl (that should work with Nvidia and AMD GPUs, and Intel has opencl support as well) so maybe we should play with that setting as well. I think QS would be much better for Intel tho.

 

If this build of ffmpeg works and Luke adds an option to enable QS then perhaps an option for OpenCL should be added as well (once we can confirm that it works).

 

Based on that I don't think we should really change the topic title (yet)

  • Like 2
Link to comment
Share on other sites

techywarrior

Is it your hope to convince Luke, or was this already agreed upon?

If the latter, you've just gotten a new tester. I have an Core i7 4771 /w 16GB of RAM, so I've got enough horsepower to test it out.

 

I do need some help with the setting up since I use a dedicated video card, I looked and didn't find anything. I know there was some app that came with motherboards that did this, but I forget the name.

Luke already said he would add an option to enable QS if we can confirm that this build of ffmpeg doesn't break anything that currently works.

 

This is really a two step process. First we replace the default ffmpeg build with the one linked in the thread. If no reports of anything being broken then a dev server build can be made to enable the QS options. That's where the second test comes it. We'll need to then confirm that everything plays back correctly with QS enabled.

  • Like 1
Link to comment
Share on other sites

SikSlayer

OK, I've got the .exe installed, but I still can't find this other thing I need because of my dedicated video card.

Link to comment
Share on other sites

techywarrior

For now just replacing the default ffmpeg.exe with the version from here and reporting on any playback error will be a help.

Link to comment
Share on other sites

SikSlayer

Log.txt

 

Well, I've tried an interlaced DVD folder, a BD folder, mkvs with h264 and one with xvid....all great. Then I got to a few 10bit encoded mkvs I have, and thats when I noticed it........
 
ffmpeg.exe will crash, but if I hit OK, it'll restart (I assume) and play anyway! I triple checked, and the original ffmpeg doesn't do this.
 
I've posted the log. Note the error that comes up about the PGS subtitles, but those work as well.

Link to comment
Share on other sites

Well, from some quick research it sounds like there may already be a --enable-opencl flag for ffmpeg to use opencl (that should work with Nvidia and AMD GPUs, and Intel has opencl support as well) so maybe we should play with that setting as well. I think QS would be much better for Intel tho.

 

If this build of ffmpeg works and Luke adds an option to enable QS then perhaps an option for OpenCL should be added as well (once we can confirm that it works).

 

Based on that I don't think we should really change the topic title (yet)

 

Sounds great!  :D

If you then it needs testers, I would be willing to try  ;)

 

But yes, do the Intel stuff first.

Link to comment
Share on other sites

mjb2000

I do need some help with the setting up since I use a dedicated video card, I looked and didn't find anything.

 

Hi SikSlayer - As you've discovered, QuickSync GPU support is not required for this part of the testing (we are just checking for non-inferiority of the new ffmpeg.exe). When the time comes for GPU transcoding, or if you want to try it out using the command line syntax I have provided, then take a look at this video or through these search results which should point you in the right direction.

 

Then I got to a few 10bit encoded mkvs I have, and thats when I noticed it........

 

ffmpeg.exe will crash, but if I hit OK, it'll restart (I assume) and play anyway! I triple checked, and the original ffmpeg doesn't do this.

 

I've taken a look through your log file and as you say there are references to problems with handling the subtitle tracks:

Could not find codec parameters for stream 3 (Subtitle: hdmv_pgs_subtitle): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options

I have managed to track down a couple of 10 bit AVC files with hdmv_pgs subtitles, but I wasn't able to replicate the same problem you've described. Do you have problems with any other 10 bit files or BluRay subtitles?

 

Well, from some quick research it sounds like there may already be a --enable-opencl flag for ffmpeg to use opencl (that should work with Nvidia and AMD GPUs, and Intel has opencl support as well) so maybe we should play with that setting as well. I think QS would be much better for Intel tho.

 

OpenCL looks interesting, but all the references to ffmpeg I could find talked about OpenCL accelerating a couple of obscure video filters which I don't think are being used my MB3, so I don't think OpenCL would be of any help. Have you seen any info on OpenCL used for encoding?

Link to comment
Share on other sites

SikSlayer

 

I've taken a look through your log file and as you say there are references to problems with handling the subtitle tracks:

Could not find codec parameters for stream 3 (Subtitle: hdmv_pgs_subtitle): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options

I have managed to track down a couple of 10 bit AVC files with hdmv_pgs subtitles, but I wasn't able to replicate the same problem you've described. Do you have problems with any other 10 bit files or BluRay subtitles?

 

So I believe the subtitles are unrelated, but they are the only 'errors' that are made mention in the log. Subtitles are a bit wonky in MB3, some work, some don't but, with the same rhyme and reason with your ffmpeg as the original.

 

I've provided two more logs from 10 bit videos; V log shows one that played sans error, and the G log is one that exhibited the same error as previous, but neither use PGS subtitles. As I said, when the error pops up, all I have to do is hit 'OK', and playback begins. The original ffmpeg.exe doesn't have this issue.

 

V Log.txtG Log.txt

 

I'm no expert, but I wonder if it has to do with how subtitles are rendered, rather than the sub themselves. The video played in V log uses SSA/ASS subtitles, but just displays the raw text, since it's subs just raw text and a custom font, which is ignored here. The video in the G log has a default subtitle track that is a vob sub, which I assume are bitmap images, from what I understand of that subtitle format. This might be causing some conflict.

 

As for the PGS subtitles, I have a collection of Blu Rays for a certain title that use a particular font that won't display in MB3 at all, in fact, the video won't ever start playing until I turn subtitles off, but that original log I gave you the other day does not exhibit this issue. That is more of an issue for ebr and Luke, but no 8 bit video with PGS subs that I possess crashes either ffmpeg in any way, giving credence to my suspicions.

Edited by SikSlayer
Link to comment
Share on other sites

mjb2000

Off the top of my head, I wonder if it is anything to do with the special characters in some of the languages?

 

I have double checked more 10 bit videos and they're all fine. I think this must be to do with some form of subtitle anomaly.

Link to comment
Share on other sites

dark_slayer

This is beyond awesome to be on the cusp of QS accelerated transcoding. @@Luke, I literally can't wait for a few hidden server side switches to try this out

 

You can bet Plex and anyone who was ever thinking of being a transcoding media server is probably looking at this thread to see how it goes

Link to comment
Share on other sites

Kevin.Boyd

I've been testing with the new version of FFMPEG (from mjb2000) and haven't had any hiccups yet. I'd vote to go ahead and implement the QS toggle at this point for further testing.

Link to comment
Share on other sites

Great. On the dev server, it can be enabled via the following:

 

- Go to transcoding settings page and just click save. This will generate encoding.xml in the server config directory if it's not already there

- Shutdown the server

- Change H264Encoder to whatever his new encoder name is

 

If someone could find his thread and copy this info there that would be helpful. thanks.

Link to comment
Share on other sites

Latchmor

Hi, I've been using it a while now and no problems. Just activated h264_qsv as per your instructions but it fails to start transcoding. 2 logs below for same file, first one successful using standard Libx264, second using h264_qsv.

 

Cheers

 

Edit: My CPU does support Quick Sync http://ark.intel.com/products/55446/Intel-Core-i5-2405S-Processor-6M-Cache-up-to-3_30-GHz

Edited by Latchmor
Link to comment
Share on other sites

mjb2000

Hi both. I've had a quick play and there are a few options that will need to be tweaked when using h264_qsv

 

The way in which it defines the quality levels and bitrates is slightly different to libx264

 

I'll pull together the list of changes for Luke to review, but I'll try keep it honouring the small change @@Luke has outlined above.

Link to comment
Share on other sites

dark_slayer

Well too many people on my server to try it first (second now as Latchmor tried), but @@mjb2000 as soon as this is sorted I'll gladly be the first "me too"

 

Edit: even if it breaks a few obscure codecs, I can just log those. I've got tons of 264 and three different off site people transcoding these days

Edited by dark_slayer
Link to comment
Share on other sites

wehavetogoback

ok. so i'm not seeing the 'encoding.xml' file anywhere. I went to the transcode page and hit the save button, and then shut the server down as per the instructions. No such file is generated anywhere. What am i missing?

Link to comment
Share on other sites

ok. so i'm not seeing the 'encoding.xml' file anywhere. I went to the transcode page and hit the save button, and then shut the server down as per the instructions. No such file is generated anywhere. What am i missing?

 

Probably the proper version of the server. You would need to be on the latest dev.

Link to comment
Share on other sites

wehavetogoback

Probably the proper version of the server. You would need to be on the latest dev.

ah. i'm using the one downloaded from the main site. 3.0.5464.40000.

Is the dev version accessible to the general public?

Link to comment
Share on other sites

Latchmor

ah. i'm using the one downloaded from the main site. 3.0.5464.40000.

Is the dev version accessible to the general public?

 

Yes it is. See image below but take notice of the warning in the yellow box!  ;)

 

54a2e0db55ae1_Capture.jpg

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