Jump to content

GPU Transcoding (Intel QuickSync and nVidia NVENC)


witteschnitte

Recommended Posts

mjb2000

I tried compiling with opencl but couldn't get it to work. It required libopencl installed on the compiling machine, but couldn't compile libopencl on the MSys + MinGW set-up.

 

I haven't yet seen any compelling evidence for an improvement in speed provided by OpenCL. With x264 it only accelerates the look-ahead process, but since we have a constrained bitrate for streaming, there little point in massive look-ahead operations. Main main chunk of the number crunching comes from the encoding element of x264 and this receives no acceleration with OpenCL.

 

If anyone can give me a pointer at getting an OpenCL library that compiles reliably I'll give it another go. I have tried FreeCL from the Google Code repository.

 

M

Link to comment
Share on other sites

snazy2000

Cheers - Have you been able to get either QS or NVENC working on your set-up?

 

Yes I have a I3 4130 and did what the guide said (using the latest dev version that i could get without compiling (3.0.5493.2287)) and works great, CPU usage went down from 40% to 12% and ffmeg wasnt at the top anymore it was using like 1%!! Its amazing what GPU power can do!

  • Like 1
Link to comment
Share on other sites

Tranquil

I also tried your modification but without success:

This is what I have done:

 

Machine: Intel Core i5-2500 updated to latest Intel drivers

 

MB: Installed latest DEV (Version 3.0.5493.2287), downloaded your binary and MBAPI.dll and followed all instructions.

If it comes to h264 transcoding it fails. This is the logfile:

 

 

 

C:\Users\Tranquil\AppData\Roaming\MediaBrowser-Server\ffmpeg\20150110\ffmpeg.exe -fflags +genpts -i "http://localhost:8096/mediabrowser/videos/88af133a8805a90a59778e60686b81de/stream?static=true&Throttle=true&mediaSourceId=88af133a8805a90a59778e60686b81de&transcodingJobId=198c2d559a8e4af693efe887028d43c9" -map 0:0 -map 0:1 -map -0:s -codec:v:0 h264_qsv -force_key_frames expr:gte(t,n_forced*5) -vf "scale=min(iw\,704):trunc(ow/dar/32)*32:flags=fast_bilinear" -preset 7 -b:v 872001 -maxrate (872001*1.2) -bufsize (872001*2) -vsync vfr -profile:v baseline -level 3 -map_metadata -1 -threads 0 -codec:a:0 aac -strict experimental -ac 2 -ab 128000 -af "aresample=async=1,volume=2" -f mp4 -movflags frag_keyframe+empty_moov -y "C:\Users\Tranquil\AppData\Roaming\MediaBrowser-Server\transcoding-temp\streaming\07347331e039a15b43dc8f960d63baae.mp4"


ffmpeg version N-68994-g713e3bb Copyright © 2000-2015 the FFmpeg developers
  built on Jan 14 2015 19:47:03 with gcc 4.9.2 (Rev2, Built by MSYS2 project)
  configuration: --enable-libmfx --enable-libnvenc --enable-nonfree --enable-iconv --arch=x86 --disable-debug --disable-shared --disable-doc --disable-w32threads --enable-gpl --enable-version3 --enable-runtime-cpudetect --enable-avfilter --enable-bzlib --enable-zlib --enable-decklink --enable-librtmp --enable-gnutls --enable-avisynth --enable-frei0r --enable-filter=frei0r --enable-libbluray --enable-libcaca --enable-libopenjpeg --enable-fontconfig --enable-libfreetype --enable-libass --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-amrwbenc --enable-libschroedinger --enable-libsoxr --enable-libtwolame --enable-libspeex --enable-libtheora --enable-libutvideo --enable-libvorbis --enable-libvo-aacenc --enable-libopus --enable-libvidstab --enable-libvpx --enable-libwavpack --enable-libxavs --enable-libx264 --enable-libx265 --enable-libxvid --enable-libzvbi
  libavutil      54. 16.100 / 54. 16.100
  libavcodec     56. 20.100 / 56. 20.100
  libavformat    56. 18.100 / 56. 18.100
  libavdevice    56.  3.100 / 56.  3.100
  libavfilter     5.  7.100 /  5.  7.100
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  1.100 /  1.  1.100
  libpostproc    53.  3.100 / 53.  3.100
Input #0, matroska,webm, from 'http://localhost:8096/mediabrowser/videos/88af133a8805a90a59778e60686b81de/stream?static=true&Throttle=true&mediaSourceId=88af133a8805a90a59778e60686b81de&transcodingJobId=198c2d559a8e4af693efe887028d43c9':
  Metadata:
    encoder         : libebml v0.8.0 + libmatroska v0.9.0
    creation_time   : 2013-03-10 12:50:26
  Duration: 01:37:31.16, start: 0.000000, bitrate: 11408 kb/s
    Stream #0:0(ger): Video: h264 (High), yuv420p, 1920x1080 [sAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc
    Stream #0:1(ger): Audio: dts (DTS), 48000 Hz, 5.1(side), fltp, 1536 kb/s (default)
    Metadata:
      title           : German
    Stream #0:2(eng): Audio: dts (DTS), 48000 Hz, 5.1(side), fltp, 1536 kb/s
    Metadata:
      title           : English
[h264_qsv @ 0576cba0] MFXInit(): -3
Output #0, mp4, to 'C:\Users\Tranquil\AppData\Roaming\MediaBrowser-Server\transcoding-temp\streaming\07347331e039a15b43dc8f960d63baae.mp4':
    Stream #0:0: Video: h264, none, q=2-31, 128 kb/s, SAR 32:33 DAR 0:0, 23.98 fps
    Metadata:
      encoder         : Lavc56.20.100 h264_qsv
    Stream #0:1: Audio: aac, 0 channels, 128 kb/s (default)
    Metadata:
      encoder         : Lavc56.20.100 aac
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> h264 (h264_qsv))
  Stream #0:1 -> #0:1 (dts (dca) -> aac (native))
Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height

 

 

 

Any Idea?

Link to comment
Share on other sites

mjb2000

I also tried your modification but without success:

This is what I have done:

 

Machine: Intel Core i5-2500 updated to latest Intel drivers

 

MB: Installed latest DEV (Version 3.0.5493.2287), downloaded your binary and MBAPI.dll and followed all instructions.

If it comes to h264 transcoding it fails. This is the logfile:

 

Any Idea?

 

Hi Tranquil - Could you take a look at this test with ffmpeg and this test with another QuickSync encoder to see how you get on and post any log files?

  • Like 1
Link to comment
Share on other sites

Tranquil

Results of first test, which also failed:

 

 

 

ffmpeg started on 2015-01-16 at 21:36:20
Report written to "ffmpeg-20150116-213620.log"
Command line:
ffmpeg -t 30 -i "E:\\testmovie.mkv" -map 0:0 -c:v h264_qsv -b: 800000 -s 640x480 -report -loglevel debug QSV
ffmpeg version N-68994-g713e3bb Copyright © 2000-2015 the FFmpeg developers
  built on Jan 14 2015 19:47:03 with gcc 4.9.2 (Rev2, Built by MSYS2 project)
  configuration: --enable-libmfx --enable-libnvenc --enable-nonfree --enable-iconv --arch=x86 --disable-debug --disable-shared --disable-doc --disable-w32threads --enable-gpl --enable-version3 --enable-runtime-cpudetect --enable-avfilter --enable-bzlib --enable-zlib --enable-decklink --enable-librtmp --enable-gnutls --enable-avisynth --enable-frei0r --enable-filter=frei0r --enable-libbluray --enable-libcaca --enable-libopenjpeg --enable-fontconfig --enable-libfreetype --enable-libass --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-amrwbenc --enable-libschroedinger --enable-libsoxr --enable-libtwolame --enable-libspeex --enable-libtheora --enable-libutvideo --enable-libvorbis --enable-libvo-aacenc --enable-libopus --enable-libvidstab --enable-libvpx --enable-libwavpack --enable-libxavs --enable-libx264 --enable-libx265 --enable-libxvid --enable-libzvbi
  libavutil      54. 16.100 / 54. 16.100
  libavcodec     56. 20.100 / 56. 20.100
  libavformat    56. 18.100 / 56. 18.100
  libavdevice    56.  3.100 / 56.  3.100
  libavfilter     5.  7.100 /  5.  7.100
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  1.100 /  1.  1.100
  libpostproc    53.  3.100 / 53.  3.100
Splitting the commandline.
Reading option '-t' ... matched as option 't' (record or transcode "duration" seconds of audio/video) with argument '30'.
Reading option '-i' ... matched as input file with argument 'E:\testmovie.mkv'.
Reading option '-map' ... matched as option 'map' (set input stream mapping) with argument '0:0'.
Reading option '-c:v' ... matched as option 'c' (codec name) with argument 'h264_qsv'.
Reading option '-b:' ... matched as option 'b' (video bitrate (please use -b:v)) with argument '800000'.
Reading option '-s' ... matched as option 's' (set frame size (WxH or abbreviation)) with argument '640x480'.
Reading option '-report' ... matched as option 'report' (generate a report) with argument '1'.
Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument 'debug'.
Reading option 'QSV' ... matched as output file.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option report (generate a report) with argument 1.
Applying option loglevel (set logging level) with argument debug.
Successfully parsed a group of options.
Parsing a group of options: input file E:\testmovie.mkv.
Applying option t (record or transcode "duration" seconds of audio/video) with argument 30.
Successfully parsed a group of options.
Opening an input file: E:\testmovie.mkv.
[matroska,webm @ 009d2ec0] Format matroska,webm probed with size=2048 and score=100
st:0 removing common factor 1000000 from timebase
st:1 removing common factor 1000000 from timebase
st:2 removing common factor 1000000 from timebase
[matroska,webm @ 009d2ec0] Before avformat_find_stream_info() pos: 5722 bytes read:32768 seeks:0
[h264 @ 009e46e0] no picture
[matroska,webm @ 009d2ec0] All info found
[matroska,webm @ 009d2ec0] After avformat_find_stream_info() pos: 25305 bytes read:32768 seeks:0 frames:20
Input #0, matroska,webm, from 'E:\testmovie.mkv':
  Metadata:
    title           : Modern.Family.S04E19.Die.Dunphys.der.Zukunft.GERMAN.DUBBED.DL.720p.BluRay.x264-TVP
    encoder         : libebml v1.2.2 + libmatroska v1.3.0
    creation_time   : 2015-01-08 20:54:08
  Duration: 00:20:42.27, start: 0.000000, bitrate: 5015 kb/s
    Stream #0:0(ger), 4, 1/1000: Video: h264 (High), yuv420p(left), 1280x720 [sAR 1:1 DAR 16:9], 104271/5000000, 25 fps, 25 tbr, 1k tbn, 47.95 tbc (default) (forced)
    Metadata:
      title           : tvp-modernfamily-s04e19-720p
    Stream #0:1(ger), 8, 1/1000: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s (default) (forced)
    Stream #0:2(eng), 8, 1/1000: Audio: ac3, 48000 Hz, 5.1(side), fltp, 384 kb/s
Successfully opened the file.
Parsing a group of options: output file QSV.
Applying option map (set input stream mapping) with argument 0:0.
Applying option c:v (codec name) with argument h264_qsv.
Applying option b: (video bitrate (please use -b:v)) with argument 800000.
Applying option s (set frame size (WxH or abbreviation)) with argument 640x480.
Successfully parsed a group of options.
Opening an output file: QSV.
[NULL @ 00a67460] Unable to find a suitable output format for 'QSV'
QSV: Invalid argument
[AVIOContext @ 009db700] Statistics: 32768 bytes read, 0 seeks
 

 

 

 

Second test, answers to your questions first:

 

  • What CPU model number do you have? -> Core i5 2500
  • Do you have the latest Intel display drivers installed (not old drivers or default drivers provided by Microsoft). -> Yes
  • Do you have any other graphics cards in your computer (such as nVidia or ATI?) -> AMD Radeon 7850 Series
  • What version of Windows are you using? -> Windows 7 64 Bit
  • Are you using the computer directly, or through remote desktop / VNC -> VNC and Teamviewer installed, VNC used while making test 1 and 2 but streaming also do not work if I'm not connected with a remote desktop

 

 

 

c:\Program Files (x86)\q264>q264 -i "E:\testmovie.mkv" -nFrames 1000 -v -o test.
mp4
2015-01-16 21:47:30.916: Info: Main: q264 Version 0.3.9 (beta)   Built: Sep 22 2
014 10:01:04
2015-01-16 21:47:30.916: Debug: Main: Scene cut detection is disabled.
2015-01-16 21:47:30.916: Info: Main: No Intel display adapter, or it is not the
primary display adapter, so using DirectX 11.
2015-01-16 21:47:30.963: Debug: Main: Auto-detecting characteristics of input fi
le.
2015-01-16 21:47:30.963: Debug: Main: Codec name: h264
2015-01-16 21:47:30.963: Info: Main: H.264 input is currently decoded using ffmp
eg libraries rather than Quick Sync hardware.
2015-01-16 21:47:30.963: Debug: Main: Read frame rate 25.000 from input file.
2015-01-16 21:47:30.963: Debug: Main: Read input size 1280x720 from input file.
2015-01-16 21:47:30.963: Info: Main: Automatically calculated bitrate 3161
2015-01-16 21:47:30.963: Debug: Main: Using AVBR apparently requires SDK API ver
sion 1.6
2015-01-16 21:47:31.025: Debug: Main: Found non-Intel graphics driver: VNC Mirro
r Driver
2015-01-16 21:47:31.025: Debug: Main: Found non-Intel graphics driver: AMD Radeo
n HD 7800 Series
2015-01-16 21:47:31.025: Error: Main: No Intel HD graphics driver found. This re
quires an Intel CPU with Quick Sync capability and an Intel HD graphics driver.

 

 

As for the 2nd test, it seems that my GPU can not be accessed for encoding. Will now check BIOS settings and report back...

 

EDIT 3rd:

Now noticed that I dont have an on-board graphic card. I thourght it has. Does that mean I can not access this part of the CPU for encoding on my board? Can that be the reason? There are no settings for graphics in my BIOS.

 

EDIT 4th:

Yes, thats the reason. I thought using the Intel driver Update checker from Intel website would ensure the installation of all importend drivers but it does not. It did not check for graphic drivers as my board does not support it. Because of this I'm not able to install latest graphic drivers. Sad. :-(

Edited by Tranquil
Link to comment
Share on other sites

mjb2000

Hi Tranquil - Just realised you have a SandyBridge chip. The chip itself does have a GPU and can do QuickSync - The question is whether the motherboard supports it. I remember in the earlydays of SandyBridge you had to choose between using a motherboard which used the onboard graphics, with no option to add an external graphics card. Or choose a motherboard which could use (and required) a dedicated graphics card - but these motherboards effectively disabled the GPU on the chip - meaning it cannot be used.

 

The logic was, if you have a dedicated graphics you are interested in performance and probably going to want to overclock your CPU, so it makes sense to disable the GPU to maximise power and reduce heat.

 

Later chipsets and subsequent Ivybridge processors can simultaneously use a dedicated graphics card as well as the onboard GPU

Link to comment
Share on other sites

JunkStar

Great work guys! I am truly impressed by the amount of dedication to this project.

 

The reason im lookin at this thread is that i have a puny little HP N40L that works flawless at the moment but i dread it when the time comes where i need to transcode anything since the CPU in this one is very weak. I am thinking about adding a GPU to offload the CPU for transcoding but i am not really keen of getting a Nvidia card since the motherboard has some AMD components and i think it could cause driver issues. So my question boils down to this.

 

Any plan on adding support for AMD VCE?

Link to comment
Share on other sites

Tranquil

Atm I can't find a ffmpeg fork that support amd technology so I think this will not be realised in the near future.

 

@mjb: from your point of view, what do you think which technology would you recommend? I'm thanking about buying an nvidia card which supports hardware encoding.

Link to comment
Share on other sites

mjb2000

Atm I can't find a ffmpeg fork that support amd technology so I think this will not be realised in the near future.

 

@mjb: from your point of view, what do you think which technology would you recommend? I'm thanking about buying an nvidia card which supports hardware encoding.

 

If you're happy with your current set-up then the cheapest nVidia card that supports NVENC seems a sensible way to go. Remember that on the cheaper GeForce cards there is a limit of 2 simultaneous streams (not sure of the limit for Quadro or Titan card). I'm not entirely sure that the cheapest card that supports NVENC is - My GTX 660 is pretty old, but it still costs around £170 (more than buying a new Intel chip and motherboard)

 

I'm also not sure about the number of simultaneous streams that QuickSync can support. My box is going to run 24x7 so power consumption was a concern when building the original machine, hence I favoured the 10W Intel J1900. nVidia graphics cards are very powerful but will draw a fair amount of current, even at idle, which is what would put me off. Despite my preference for QuickSync there are some issues with the current implementation which need fixing once the guys working on the Libav project have found the solution.

 

 

Any plan on adding support for AMD VCE?

 

The AMD VCE does seem to be similar hardware to QS and NVENC - so there should be no reason it can't work. But as Trnquil says I've not seen any implementation of it in ffmpeg yet. I've also not seen it included in any opensource video conversion software (such as handbrake). I think if we started to see it in those tools then I suppose it wouldn't be long until it appeared in ffmpeg (or more accurately libav - whcih is incorporated in to ffmpeg)

Link to comment
Share on other sites

I try with my NUC CPU i5 4250u

 

Without qsync : cpu 95% video display smooth

 

With qsync : cpu 95% video is very bad :/

 

I change encoding.xml and ffmepg.exe, did i forget something ?

Link to comment
Share on other sites

mjb2000

If you attach your transcode log I'll take a look. In theory could could stay the same if it's busy with other things like subtitles or audio processing, but hopefully you'd see the fps increase 10x (so although cpu usage is still high, performance has increased substantially)

 

But I doubt this is what's happening, and actually what you've described is a problem. Look over the other tests I've also asked peopleto do and let me know the results of those

Link to comment
Share on other sites

mjb2000

Hi pork. This is the application log. Can you please provide the transcode log. You can find it in the same folder.

 

Normal for Web to work, see discussion of webm vs h264 in previous posts.

Link to comment
Share on other sites

mjb2000

Error on android client:

 

http://pastebin.com/6xwDhv9c

 

OK on mediabrowser addon on xbmc:

 

http://pastebin.com/HaCgXcKR

 

OK on android client: (software transcoding libx264):

 

http://pastebin.com/ZqC1yXGj

 

Please take a look at the Wiki which explains how to set everything up. You need to use a replacement MediaBrowser.Api.dll (for now) which changes the rounding factor for QuickSync based encodes. Your log files show this has not been done correctly.

 

It would also be handy to see the results of the other tests I have asked people to conduct.

 

Let me know how you get on

 

M

Link to comment
Share on other sites

dark_slayer

A general "specific" question . . .

 

If I go with nvenc and have a need for three transcodes at a time . . . will the third go back to libx264 with the brute CPU method?

Link to comment
Share on other sites

mjb2000

At the moment no. I certainly think this is something we should look in to in the future, but I think @@Luke and others will need to consider how they integrate such a feature in to the code and the UI.

 

So far MB does a lot of 'thinking' for you, which means you don't have to choose anything particularly difficult when setting up your server. I'm not sure how we can reliably test for NVENC and QS support and then automatically offer it through a simple "Use GPU" tick box. Personally, I think we might need to consider this an advanced feature, and have quite a few configuration options, some of which may not work at all if you set them incorrectly (for example, selecting NVENC when you actually don't have an NVENC compatible card).

 

I'm not sure if it would be best for this advanced config just to prioritise your preferred encoding methods, or to actually put a numeric limit on each one. If we just prioritise, we'll need to do some work to look at the ffmpeg process, if it is failing, then roll-over to the next method. This would probably be best, say for example you have a non-MB process using NVENC, the second stream MB launches would fail.

Link to comment
Share on other sites

jabbera

 

I'm not sure if it would be best for this advanced config just to prioritise your preferred encoding methods, or to actually put a numeric limit on each one. If we just prioritise, we'll need to do some work to look at the ffmpeg process, if it is failing, then roll-over to the next method. This would probably be best, say for example you have a non-MB process using NVENC, the second stream MB launches would fail.

 

In an ideal world you would first prioritize each hardware method supported with CPU at the bottom. Each option should have a # next to it for how many simultaneous encodes supported. MB would then track encodes running per method. This is a significant amount of work. Getting the changes in to support these methods will be the first step so people can start using them. Making them "easy" to use as suggested comes later.

 

 

*** This is just my opinion. Someone else probably has a better idea.

Edited by jabbera
Link to comment
Share on other sites

dark_slayer

Hmm, well I have an nvidia 660 in my gaming box, but I'm moving it to my server soon. I'm behind the times on this, but I just recently discovered how awesome limelight and steam in home steaming are, however this will put nvenc to work a lot of the time anyway

 

I'll probably end up running the QS enable-when-using-dGPU "hack" and run QS for mediabrowser transcoding.

 

I guess now the question goes the same for QS. Does it have a recognizable max simultaneous

 

If we look just theoretically at the concepts of "prioritize" and "fail-safe" (fail-over or roll-over) a lot of complexity and questions have to follow -

--is there an easy check that can be implemented to see how many transcodes are running?

--can they be counted?

--how would you prevent a failing/locked-out method on the fly?

 

As usual I have questions without answers

Link to comment
Share on other sites

mjb2000

IEach option should have a # next to it for how many simultaneous encodes supported. MB would then track encodes running per method. This is a significant amount of work. Getting the changes in to support these methods will be the first step so people can start using them. 

 

The problem with this is that for some reason one of the sessions is being used by another process MB doesn't control then MB might try to use some GPU hardware thinking it should be available, when in reality it isn't. This is why we either need a reliable way of testing for availability, or just try it and catch any errors and launch another process if the primary method fails.

 

 

Hmm, well I have an nvidia 660 in my gaming box, but I'm moving it to my server soon. I'm behind the times on this, but I just recently discovered how awesome limelight and steam in home steaming are, however this will put nvenc to work a lot of the time anyway

 

I'll probably end up running the QS enable-when-using-dGPU "hack" and run QS for mediabrowser transcoding.

 

I guess now the question goes the same for QS. Does it have a recognizable max simultaneous

 

If we look just theoretically at the concepts of "prioritize" and "fail-safe" (fail-over or roll-over) a lot of complexity and questions have to follow -

--is there an easy check that can be implemented to see how many transcodes are running?

--can they be counted?

--how would you prevent a failing/locked-out method on the fly?

 

As usual I have questions without answers

 

These are all great questions, unfortunately I must admit, I don't have an answer to any of them! As I've said a few times on this thread my involvement in this was mainly based on need rather than expertise. I pulled together a few bits of work from GitHub and came to a solution that works pretty well, most of the time - That falls below the usual reliability of MB, but it is probably enough for my low-level needs.

 

If nothing else, I think this has highlighted the possibility of GPU transcoding and with this being one of the most viewed threads in the forum it shows there is a demand for it from the community. Hopefully someone a little more skilled than me can take it to the next level to improve the integration with MB and the reliability of the results?

 

Just briefly, I was able to get three simultaneous transcodes using QS on my J1900 chip - I didn't actually try any more than that since by this point each transcode was at around 33fps - so even if possible, additional transcodes would have been too slow for realtime playback.

  • Like 1
Link to comment
Share on other sites

This is fantastic, so much of greatness has been built out of necessity and M you've done a fantastic job here.

 

I've been following the QuickSync feature request on ffmpeg for a while but quite disappointed in its progress, Plex continually state that their waiting for quicksync support to be included in the release version of ffmpeg before including it in their release software.

Great to see another viable option may now be available to me.

 

I've followed the steps in the wiki but cannot get ffmpeg working on my laptop i3 3217u but have successfully used q264 with the script mentioned earlier  :D

Confusingly while testing your dll got overwritten by automatic updates a couple of times.

 

Manually running the command: ffmpeg -t 30 -i "D:\MyVideo.avi" -map 0:0 -c:v h264_qsv -b: 800000 -s 640x480 -report -loglevel debug QSV-Test.mkv

Results in this error (log attached), I've googled for similar errors with no success: 

 

[h264_qsv @ 051f21a0] MFXVideoCORE_SyncOperation(): -17

Video encoding failed

 

http://pastebin.com/embed_js.php?i=rj7X6nPU

 

 

Does anyone know what this error message represents?

 

Cheers,

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