Easy Video Encoding Benchmark - Test your GPU within seconds
 
Notifications
Clear all

Easy Video Encoding Benchmark - Test your GPU within seconds  

 of  4
  RSS

OliverB
(@oliverb)
Noble Member
Joined: 2 years ago
 

An important feature of GPUs is the encoding/transcoding of videos. nVidia, AMD and Intel provide frameworks and own codecs for this. The tool ffmpeg (used by a lot of GUI applications like Avidemex or Handbrake) is very useful for this purpose:
Ffmpeg: https://www.ffmpeg.org

Source video  FHD (1080p) in h264 Codec:
http://file-examples.com/wp-content/uploads/2017/04/file_example_MP4_1920_18MG.mp4

Benchmarks for transcoding into HEVC (h265) Codec on a 15-inch MBP 2018 with i7 2,6GHz:

nVidia GTX1080Ti: 266 FPS (x2)
ffmpeg.exe -i file_example_MP4_1920_18MG.mp4 -c:v hevc_nvenc -c:a copy -quality quality -b:v 3M -bufsize 16M -maxrate 6M outhevcNvidia.mp4
(frame= 901 fps=266 q=15.0 Lsize= 9422kB time=00:00:30.52 bitrate=2528.5kbits/s speed= 9x)

AMD Radeon Pro 560X: 137 FPS
ffmpeg.exe -i file_example_MP4_1920_18MG.mp4 -c:v hevc_amf -c:a copy -quality quality -b:v 3M -bufsize 16M -maxrate 6M outhevcAMD.mp4
frame= 901 fps=137 q=-0.0 Lsize= 11998kB time=00:00:30.50 bitrate=3221.9kbits/s speed=4.64x

Intel i7-8850H 6core: 37 FPS
ffmpeg.exe -i file_example_MP4_1920_18MG.mp4 -c:v libx265 -c:a copy -quality quality -b:v 3M -bufsize 16M -maxrate 6M outputhevcIntel.mp4
frame= 901 fps= 37 q=-0.0 Lsize= 10881kB time=00:00:30.52 bitrate=2919.9kbits/s speed=1.27x

Please test your gpus, too and post your results here! Thank you.

Especially I would like to know the benchmarks of Radeon Vega 64 (or at least Vega 56). That would be very helpful.

----------------------------------------------------------
Some additional Benchmarks for MacOSX:
Intel Graphics UHD 630: 143 FPS (hevc_videotoolbox)
Intel i7-8850H 6core: 41 FPS (libx265)
and for Windows:
nVidia GTX1050: 262 FPS (hevc_nvenc)
nVidia GTX980Ti: 146 FPS (x2) (hevc_nvenc)

Remarks:
- hevc_videotoolbox is clearly inferior in quality at low bitrates,
- usage of AMD or nVidia hardware seems not possible via ffmpeg in MacOSX
- CPU encoding (hevc and h264) performs better in MacOSX than in Windows
- When using AMD hardware the additional option "-gops_per_idr 1" should be used.
- The GTX1080Ti has two cores for video encoding and so it's possible to encode two videos at once at full FPS.
- The GTX1050 performs very simular ot GTX1080Ti (but having just one core)

This topic was modified 1 year ago

2018 15" MBP & 2015 13" MBP connected to RTX2080Ti GTX1080Ti GTX1080 Vega56 RX580 R9-290 GTX680

 
2018 15" MacBook Pro (RP560X) [8th,6C,H] + RX 5700 XT @ 32Gbps-TB3 (ASUS XG Station Pro) + Win10 & macOS 10.15.4 [build link]  


ReplyQuote
mac_editor
(@mac_editor)
Famed Member Moderator
Joined: 3 years ago
 

@oliverb I use ffmpeg on occasion as well. It's rather fantastic. Thank you for posting benches. Arguably, CPU encodes might be of higher quality (but significantly slower - ex. Handbrake on macOS vs. ffmpeg) but real-world difference may be hard to spot unless one deep-dives into the frames. Could you add test for Intel as well?

Update: Handbrake 1.2 now uses ffmpeg.

purge-wranglertbt-flashpurge-nvdaset-eGPU
Insights Into macOS Video Editing Performance

Master Threads:
2014 15-inch MacBook Pro 750M
2018 15-inch MacBook Pro

 
2019 13" MacBook Pro [8th,4C,U] + RX Vega 64 @ 32Gbps-TB3 (Mantiz Venus) + macOS 10.14.6 & Win10 [build link]  


ReplyQuote
OliverB
(@oliverb)
Noble Member
Joined: 2 years ago
 

@mac_editor:
I could only use the Intel iGPU on MacOSX because of the infamous "iGPU-off-policy" for bootcamp:

Intel Graphics UHD 630: 143 FPS
ffmpeg -i file_example_MP4_1920_18MG.mp4 -c:v hevc_videotoolbox -quality quality -b:v 3M -bufsize 16M -maxrate 6M outputhevcIntel.mp4

frame=  901 fps=143 q=-0.0 Lsize=    5194kB time=00:00:30.52 bitrate=1393.9kbits/s speed=4.85x

The quality is inferior to AMD/nVidia on low bitrates. I didn't notice any problems with quality for h264_videotoolbox. This looks more "mature".

2018 15" MBP & 2015 13" MBP connected to RTX2080Ti GTX1080Ti GTX1080 Vega56 RX580 R9-290 GTX680

 
2018 15" MacBook Pro (RP560X) [8th,6C,H] + RX 5700 XT @ 32Gbps-TB3 (ASUS XG Station Pro) + Win10 & macOS 10.15.4 [build link]  


ReplyQuote
OliverB
(@oliverb)
Noble Member
Joined: 2 years ago
 

@mac_editor: Unfortunately I have overwritten my original Thread post.. Can you get it back?

2018 15" MBP & 2015 13" MBP connected to RTX2080Ti GTX1080Ti GTX1080 Vega56 RX580 R9-290 GTX680

 
2018 15" MacBook Pro (RP560X) [8th,6C,H] + RX 5700 XT @ 32Gbps-TB3 (ASUS XG Station Pro) + Win10 & macOS 10.15.4 [build link]  


ReplyQuote
mac_editor
(@mac_editor)
Famed Member Moderator
Joined: 3 years ago
 

@oliverb Not sure if I can do anything about that myself. I checked wayback machine in case there was an archive, but it wasn't saved. Maybe admins could help. I would expect the Intel UHD to do really well while working with H264/265. You can check what GPU is being used via Activity Monitor > CMD + 4 while ffmpeg is doing it's thing.

purge-wranglertbt-flashpurge-nvdaset-eGPU
Insights Into macOS Video Editing Performance

Master Threads:
2014 15-inch MacBook Pro 750M
2018 15-inch MacBook Pro

 
2019 13" MacBook Pro [8th,4C,U] + RX Vega 64 @ 32Gbps-TB3 (Mantiz Venus) + macOS 10.14.6 & Win10 [build link]  


ReplyQuote
OliverB
(@oliverb)
Noble Member
Joined: 2 years ago
 
Posted by: mac_editor

@oliverb Not sure if I can do anything about that myself. I checked wayback machine in case there was an archive, but it wasn't saved. Maybe admins could help. I would expect the Intel UHD to do really well while working with H264/265. You can check what GPU is being used via Activity Monitor > CMD + 4 while ffmpeg is doing it's thing.

Don't worry about that, I reconstructed some parts by myself. For the question about the Intel iGPU: My example is CPU only.
This should do it with the Intel UHD Graphics (QuickSync):

ffmpeg.exe -i file_example_MP4_1920_18MG.mp4 -c:v hevc_qsv -quality quality -usage transcoding -b:v 3M -bufsize 16M -maxrate 6M outputhevcQuickSync.mp4

As to be expected I get an error under windows as my iGPU is switched off by apple firmware on bootcamp (we all know those problems). I will try to find a way or use my 13-inch MPB 2015.

Remark: As you can see with my next post (and was suspected) the Intel iGPU performs very well at this task. So why should Apple switch off the iGPU in Bootcamp?

2018 15" MBP & 2015 13" MBP connected to RTX2080Ti GTX1080Ti GTX1080 Vega56 RX580 R9-290 GTX680

 
2018 15" MacBook Pro (RP560X) [8th,6C,H] + RX 5700 XT @ 32Gbps-TB3 (ASUS XG Station Pro) + Win10 & macOS 10.15.4 [build link]  


ReplyQuote
OliverB
(@oliverb)
Noble Member
Joined: 2 years ago
 

@mac_editor: I got some results for Intel GPU, in this case the Intel Iris 6100 on a 13-inch MacBookPro 2015:

  h264 hevc
Geforce GTX 1080 Ti 241 (x2) 225 (x2)
Intel Iris 6100 Graphics 161 -
Intel i7-5557U 2core 32 13
Radeon R9 290* 44 -

 

Unfortunately the hevc encoding did not work with QuickSync (because Broadwell  doesn't support it), but the FPS for h264 encoding is really very good.
*I added the encoding performance of an AMD Radeon R9 290 (on a 15-inch MBp2018). This shows how strong the Intel GPU is terms of encoding.

This post was modified 2 years ago

2018 15" MBP & 2015 13" MBP connected to RTX2080Ti GTX1080Ti GTX1080 Vega56 RX580 R9-290 GTX680

 
2018 15" MacBook Pro (RP560X) [8th,6C,H] + RX 5700 XT @ 32Gbps-TB3 (ASUS XG Station Pro) + Win10 & macOS 10.15.4 [build link]  


ReplyQuote
OliverB
(@oliverb)
Noble Member
Joined: 2 years ago
 

Note: The GTX1080Ti can encode two separate videos at once at almost full speed (FPS). It's only a little bit slower because the CPU has to do double work now.

2018 15" MBP & 2015 13" MBP connected to RTX2080Ti GTX1080Ti GTX1080 Vega56 RX580 R9-290 GTX680

 
2018 15" MacBook Pro (RP560X) [8th,6C,H] + RX 5700 XT @ 32Gbps-TB3 (ASUS XG Station Pro) + Win10 & macOS 10.15.4 [build link]  


ReplyQuote
Blakeanator
(@blakeanator)
Active Member
Joined: 2 years ago
 

Not sure what I did wrong but I got back this.

[hevc_amf @ 0000024eee4dadc0] DLL amfrt64.dll failed to open
Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height

I used this command:

ffmpeg.exe -i file_example_MP4_1920_18MG.mp4 -c:v hevc_amf -quality quality -b:v 3M -bufsize 16M -maxrate 6M outputhevcAMD.mp4

I also tried adding the "-gops_per_idr 1" to the command. Please advise Smile Using Vega 56 eGPU.

To do: Create my signature with system and expected eGPU configuration information to give context to my posts. I have no builds.

.

ReplyQuote
OliverB
(@oliverb)
Noble Member
Joined: 2 years ago
 

Did you uninstall the AMD Radeon Pro drivers? This may an explanation that it won't work. I have mine installed at this moment, so I can't check right now.

Can you try with codec "h264_amf", if this works?

Note: The "-gops_per_idr 1" command has nothing to do with the error.

This post was modified 2 years ago

2018 15" MBP & 2015 13" MBP connected to RTX2080Ti GTX1080Ti GTX1080 Vega56 RX580 R9-290 GTX680

 
2018 15" MacBook Pro (RP560X) [8th,6C,H] + RX 5700 XT @ 32Gbps-TB3 (ASUS XG Station Pro) + Win10 & macOS 10.15.4 [build link]  


ReplyQuote
 of  4