80fps with vce_h264 normal?

Post your testing results with HandBrake.
Post Reply
AlBundy
Bright Spark User
Posts: 377
Joined: Mon Dec 31, 2012 4:47 am

80fps with vce_h264 normal?

Post by AlBundy »

command:

Code: Select all

HandBrakeCLI --input "bbb_sunflower_1080p_60fps_normal.mp4" --output "test.mkv" --encoder vce_h264 2>test.log
hardware:

Code: Select all

[15:41:29] CPU: Intel(R) Core(TM) i7-4770K CPU @ 3.50GHz
[15:41:29]  - Intel microarchitecture Haswell
[15:41:29]  - logical processor count: 8
[15:41:29] Intel Quick Sync Video support: yes
[15:41:29]  - Intel Media SDK hardware: API 1.20 (minimum: 1.3)
[15:41:29]  - H.264 encoder: yes
[15:41:29]     - preferred implementation: hardware (any) via D3D11
[15:41:29]     - capabilities (hardware):  breftype icq+la+i+downs vsinfo opt1 opt2+mbbrc+extbrc+trellis+ib_adapt+nmpslice
[15:41:29]  - H.265 encoder: no
graphiccard: GigaByte R9 280x

with this settings I have an average of 80fpsbut this sounds really low to me.
User avatar
s55
HandBrake Team
Posts: 10350
Joined: Sun Dec 24, 2006 1:05 pm

Re: 80fps with vce_h264 normal?

Post by s55 »

To give you an idea: OBS did some performance metrics: https://github.com/Xaymar/obs-studio_am ... are-VCE1.0

So, as you can see, the the FPS range for 1080p is around 46 ~ 88 depending on settings.

VCE 1.0 hardware really isn't fast. Even the latest hardware from AMD isn't that impressive. Benefits more are reduced power draw, or freeing up the CPU to run slower / complex filters.

To be honest, I'd be inclided to use QuickSync on your system. It's better in pretty much every way compared to VCE 1.0
AlBundy
Bright Spark User
Posts: 377
Joined: Mon Dec 31, 2012 4:47 am

Re: 80fps with vce_h264 normal?

Post by AlBundy »

I used qsv a very long time but as you know according to github 660 this works only with an older version of handbrake.

Same command with qsv_h264 shows an avg of 60fps

Same command with HandBrake-0.10.5-x86_64-Win_CLI (qsv_h264) shows an avg of 145fps.
AlBundy
Bright Spark User
Posts: 377
Joined: Mon Dec 31, 2012 4:47 am

Re: 80fps with vce_h264 normal?

Post by AlBundy »

Do you think a GTX 1060 or RX 580 would show better results?
User avatar
s55
HandBrake Team
Posts: 10350
Joined: Sun Dec 24, 2006 1:05 pm

Re: 80fps with vce_h264 normal?

Post by s55 »

If raw performance is your primary goal, go Nvidia. Their NVEnc is pretty Ridiculous in this regard.

AMD's newer cards are better, but still nothing to write home about. I don't have Vega to test but I hear they are pretty reasonable for VCE. My RX Pro 460 was pretty meh.

QuickSync is far better balanced in terms of quality / Speed / Filesize.

p.s if your getting 60fps with QuickSync, you have a slow process in chain (i.e a filter) with it. Even on my older 4770K I get around 180fps with current version. Older 0.10.5 is 10~15% quicker (but that will be fixed in the future)

For reference, a 1060 is a little over 500fps with 1080p content again although I'm not a real fan of it's output.

You have to be careful comparing speed between versions. The defaults today are very different than previous releases. Mostly tuned towards quality / filesize, thus slower)
AlBundy
Bright Spark User
Posts: 377
Joined: Mon Dec 31, 2012 4:47 am

Re: 80fps with vce_h264 normal?

Post by AlBundy »

But where can I see the chain?
As you can see I have used a minimum set of arguments.
rollin_eng
Veteran User
Posts: 4840
Joined: Wed May 04, 2011 11:06 pm

Re: 80fps with vce_h264 normal?

Post by rollin_eng »

AlBundy wrote: Sun Jul 15, 2018 5:04 pm But where can I see the chain?
As you can see I have used a minimum set of arguments.
Can you please post your full log.
User avatar
s55
HandBrake Team
Posts: 10350
Joined: Sun Dec 24, 2006 1:05 pm

Re: 80fps with vce_h264 normal?

Post by s55 »

Minimum sets of arguments is actually the opposite of what you want. It means your not turning stuff off, that's *on* by default.
The log tells you the job configuration.
AlBundy
Bright Spark User
Posts: 377
Joined: Mon Dec 31, 2012 4:47 am

Re: 80fps with vce_h264 normal?

Post by AlBundy »

Code: Select all

Cannot load nvEncodeAPI64.dll
Cannot load nvEncodeAPI64.dll
[19:36:20] hb_init: starting libhb thread
[19:36:20] thread 6388fe0 started ("libhb")
HandBrake 20180713220901-3c303e2-master (2018071401) - MinGW x86_64 - https://handbrake.fr
8 CPUs detected
Opening bbb_sunflower_1080p_60fps_normal.mp4...
[19:36:20] CPU: Intel(R) Core(TM) i7-4770K CPU @ 3.50GHz
[19:36:20]  - Intel microarchitecture Haswell
[19:36:20]  - logical processor count: 8
[19:36:20] Intel Quick Sync Video support: yes
[19:36:20]  - Intel Media SDK hardware: API 1.20 (minimum: 1.3)
[19:36:20]  - H.264 encoder: yes
[19:36:20]     - preferred implementation: hardware (any) via D3D11
[19:36:20]     - capabilities (hardware):  breftype icq+la+i+downs vsinfo opt1 opt2+mbbrc+extbrc+trellis+ib_adapt+nmpslice
[19:36:20]  - H.265 encoder: no
[19:36:20] hb_scan: path=bbb_sunflower_1080p_60fps_normal.mp4, title_index=1
udfread ERROR: ECMA 167 Volume Recognition failed
src/libbluray/disc/disc.c:323: failed opening UDF image bbb_sunflower_1080p_60fps_normal.mp4
src/libbluray/disc/disc.c:424: error opening file BDMV\index.bdmv
src/libbluray/disc/disc.c:424: error opening file BDMV\BACKUP\index.bdmv
[19:36:20] bd: not a bd - trying as a stream/file instead
libdvdnav: Using dvdnav version 5.0.3
libdvdread: Encrypted DVD support unavailable.
libdvdread:DVDOpenFileUDF:UDFFindFile /VIDEO_TS/VIDEO_TS.IFO failed
libdvdread:DVDOpenFileUDF:UDFFindFile /VIDEO_TS/VIDEO_TS.BUP failed
libdvdread: Can't open file VIDEO_TS.IFO.
libdvdnav: vm: failed to read VIDEO_TS.IFO
[19:36:20] dvd: not a dvd - trying as a stream/file instead
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'bbb_sunflower_1080p_60fps_normal.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 1
    compatible_brands: isomavc1
    creation_time   : 2013-12-16T17:59:32.000000Z
    title           : Big Buck Bunny, Sunflower version
    artist          : Blender Foundation 2008, Janus Bager Kristensen 2013
    comment         : Creative Commons Attribution 3.0 - http://bbb3d.renderfarming.net
    genre           : Animation
    composer        : Sacha Goedegebure
  Duration: 00:10:34.53, start: 0.000000, bitrate: 4486 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 4001 kb/s, 60 fps, 60 tbr, 60k tbn, 120 tbc (default)
    Metadata:
      creation_time   : 2013-12-16T17:59:32.000000Z
      handler_name    : GPAC ISO Video Handler
    Stream #0:1(und): Audio: mp3 (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 160 kb/s (default)
    Metadata:
      creation_time   : 2013-12-16T17:59:37.000000Z
      handler_name    : GPAC ISO Audio Handler
    Stream #0:2(und): Audio: ac3 (ac-3 / 0x332D6361), 48000 Hz, 5.1(side), fltp, 320 kb/s (default)
    Metadata:
      creation_time   : 2013-12-16T17:59:37.000000Z
      handler_name    : GPAC ISO Audio Handler
    Side data:
      audio service type: main
[19:36:20] scan: decoding previews for title 1
[19:36:20] scan: audio 0x1: mp3float, rate=48000Hz, bitrate=160000 Unknown (MP3) (2.0 ch)
[19:36:20] scan: audio 0x2: ac3, rate=48000Hz, bitrate=320000 Unknown (AC3) (5.1 ch)

Scanning title 1 of 1, preview 4, 40.00 %
Scanning title 1 of 1, preview 9, 90.00 %[19:36:20] scan: 10 previews, 1920x1080, 60.000 fps, autocrop = 0/0/0/0, aspect 16:9, PAR 1:1
[19:36:20] scan: supported video decoders: avcodec qsv
[19:36:20] libhb: scan thread found 1 valid title(s)
+ Using preset: CLI Default
+ title 1:
  + stream: bbb_sunflower_1080p_60fps_normal.mp4
  + duration: 00:10:34
  + size: 1920x1080, pixel aspect: 1/1, display aspect: 1.78, 60.000 fps
  + autocrop: 0/0/0/0
  + chapters:
    + 1: cells 0->0, 0 blocks, duration 00:10:34
  + audio tracks:
    + 1, Unknown (MP3) (2.0 ch) (iso639-2: und)
    + 2, Unknown (AC3) (5.1 ch) (iso639-2: und), 48000Hz, 320000bps
  + subtitle tracks:
[19:36:21] 1 job(s) to process
[19:36:21] json job:
{
    "Audio": {
        "AudioList": [
            {
                "Bitrate": 128,
                "CompressionLevel": -1.0,
                "DRC": 0.0,
                "DitherMethod": "auto",
                "Encoder": "av_aac",
                "Gain": 0.0,
                "Mixdown": "stereo",
                "NormalizeMixLevel": false,
                "PresetEncoder": "av_aac",
                "Quality": -3.0,
                "Samplerate": 0,
                "Track": 0
            }
        ],
        "CopyMask": [
            "copy:aac",
            "copy:ac3",
            "copy:eac3",
            "copy:dtshd",
            "copy:dts",
            "copy:mp3",
            "copy:truehd",
            "copy:flac"
        ],
        "FallbackEncoder": "av_aac"
    },
    "Destination": {
        "AlignAVStart": false,
        "ChapterList": [
            {
                "Name": ""
            }
        ],
        "ChapterMarkers": false,
        "File": "test.mkv",
        "InlineParameterSets": false,
        "Mp4Options": {
            "IpodAtom": false,
            "Mp4Optimize": false
        },
        "Mux": "mkv"
    },
    "Filters": {
        "FilterList": [
            {
                "ID": 6,
                "Settings": {
                    "mode": 0
                }
            },
            {
                "ID": 11,
                "Settings": {
                    "crop-bottom": 0,
                    "crop-left": 0,
                    "crop-right": 0,
                    "crop-top": 0,
                    "height": 1080,
                    "width": 1920
                }
            }
        ]
    },
    "Metadata": {
        "Artist": "Blender Foundation 2008, Janus Bager Kristensen 2013",
        "Comment": "Creative Commons Attribution 3.0 - http://bbb3d.renderfarming.net",
        "Composer": "Sacha Goedegebure",
        "Genre": "Animation",
        "Name": "Big Buck Bunny, Sunflower version"
    },
    "PAR": {
        "Den": 1,
        "Num": 1
    },
    "SequenceID": 0,
    "Source": {
        "Angle": 0,
        "Path": "bbb_sunflower_1080p_60fps_normal.mp4",
        "Range": {
            "End": 1,
            "Start": 1,
            "Type": "chapter"
        },
        "Title": 1
    },
    "Subtitle": {
        "Search": {
            "Burn": true,
            "Default": false,
            "Enable": false,
            "Forced": false
        },
        "SubtitleList": []
    },
    "Video": {
        "ColorMatrixCode": 0,
        "Encoder": "qsv_h264",
        "QSV": {
            "AsyncDepth": 4,
            "Decode": false
        },
        "Quality": 22.0,
        "Turbo": false,
        "TwoPass": false
    }
}
[19:36:21] starting job
[19:36:21] job configuration:
[19:36:21]  * source
[19:36:21]    + bbb_sunflower_1080p_60fps_normal.mp4
[19:36:21]    + title 1, chapter(s) 1 to 1
[19:36:21]    + container: mov,mp4,m4a,3gp,3g2,mj2
[19:36:21]    + data rate: 4486 kbps
[19:36:21]  * destination
[19:36:21]    + test.mkv
[19:36:21]    + container: Matroska (libavformat)
[19:36:21]  * video track
[19:36:21]    + decoder: h264
[19:36:21]      + bitrate 4001 kbps
[19:36:21]    + filters
[19:36:21]      + Framerate Shaper (mode=0)
[19:36:21]        + frame rate: same as source (around 60.000 fps)
[19:36:21]      + Crop and Scale (width=1920:height=1080:crop-top=0:crop-bottom=0:crop-left=0:crop-right=0)
[19:36:21]        + source: 1920 * 1080, crop (0/0/0/0): 1920 * 1080, scale: 1920 * 1080
[19:36:21]    + Output geometry
[19:36:21]      + storage dimensions: 1920 x 1080
[19:36:21]      + pixel aspect ratio: 1 : 1
[19:36:21]      + display dimensions: 1920 x 1080
[19:36:21]    + encoder: H.264 (Intel Media SDK)
[19:36:21]      + quality: 22.00 (ICQ)
[19:36:21]  * audio track 1
[19:36:21]    + decoder: Unknown (MP3) (2.0 ch) (track 1, id 0x1)
[19:36:21]      + bitrate: 160 kbps, samplerate: 48000 Hz
[19:36:21]    + mixdown: Stereo
[19:36:21]    + dither: triangular
[19:36:21]    + encoder: AAC (libavcodec)
[19:36:21]      + bitrate: 128 kbps, samplerate: 48000 Hz
[19:36:21] sync: expecting 38071 video frames
[19:36:21] encavcodecaInit: Unknown avcodec option stereo_mode
[19:36:21] encqsvInit: using encode-only path
[19:36:21] encqsvInit: H.264/AVC High profile @ level 4.2
[19:36:21] encqsvInit: TargetUsage 2 AsyncDepth 4
[19:36:21] encqsvInit: GopRefDist 3 GopPicSize 60 NumRefFrame 3
[19:36:21] encqsvInit: BFramesMax 2 BRefType off
[19:36:21] encqsvInit: RateControlMethod LA_ICQ ICQQuality 22 LookAheadDepth 40
[19:36:21] sync: first pts audio 0x1 is 0
[19:36:21] sync: first pts video is 3000
[19:36:21] sync: Chapter 1 at frame 1 time 3000
[19:36:21] qsv_enc_init: using 'hardware (2) via D3D11' implementation, API: 1.20
[19:48:22] reader: done. 1 scr changes
[19:48:24] work: average encoding speed for job is 52.705921 fps
[19:48:24] vfr: lost time: 0 (0 frames)
[19:48:24] vfr: gained time: 0 (0 frames) (0 not accounted for)
[19:48:24] mp3float-decoder done: 26425 frames, 0 decoder errors
[19:48:24] h264-decoder done: 38072 frames, 0 decoder errors
[19:48:24] sync: got 38072 frames, 38071 expected
[19:48:24] sync: framerate min 60.000 fps, max 60.000 fps, avg 60.000 fps
[19:48:24] mux: track 0, 38072 frames, 1263863630 bytes, 15933.15 kbps, fifo 2048
[19:48:24] mux: track 1, 29729 frames, 10202707 bytes, 128.62 kbps, fifo 2048
[19:48:24] libhb: work result = 0

Encode done!
HandBrake has exited.
User avatar
s55
HandBrake Team
Posts: 10350
Joined: Sun Dec 24, 2006 1:05 pm

Re: 80fps with vce_h264 normal?

Post by s55 »

Huh, that's different. I have the same hardware and get nearly 3.5x the performance out of it with those settings and same source. Something is clearly interacting badly with it on your system.
AlBundy
Bright Spark User
Posts: 377
Joined: Mon Dec 31, 2012 4:47 am

Re: 80fps with vce_h264 normal?

Post by AlBundy »

Do you habe any idea?
Because 0.10.5 seems to be faster on the same system.
rollin_eng
Veteran User
Posts: 4840
Joined: Wed May 04, 2011 11:06 pm

Re: 80fps with vce_h264 normal?

Post by rollin_eng »

Could be a HDD issue, can you try reading and writing to different disks?
User avatar
s55
HandBrake Team
Posts: 10350
Joined: Sun Dec 24, 2006 1:05 pm

Re: 80fps with vce_h264 normal?

Post by s55 »

Not 100% sure to be honest. Could be slow, maybe single channel Ram? or simply not enough.
Audio track shouldn't be causing it, but you could always remove it to check.

Even then, your 0.10.5 is also running a bit on the slow side too. That should be hitting around the 210 mark.
AlBundy
Bright Spark User
Posts: 377
Joined: Mon Dec 31, 2012 4:47 am

Re: 80fps with vce_h264 normal?

Post by AlBundy »

Hmm - I have 16GB RAM.
User avatar
s55
HandBrake Team
Posts: 10350
Joined: Sun Dec 24, 2006 1:05 pm

Re: 80fps with vce_h264 normal?

Post by s55 »

It's not running single channel is it? (i.e have a single dimm, or 2 dimms in the opposing channels?)
User avatar
s55
HandBrake Team
Posts: 10350
Joined: Sun Dec 24, 2006 1:05 pm

Re: 80fps with vce_h264 normal?

Post by s55 »

hmm, May actually be because your running "Quality" preset on the encoder it seems. IT's a fair whack slower than Balanced.
You may actually be using balanced on 0.10.5 vs not on current.

Worth sticking with quality. Set --encoder-preset=quality on 0.10.5 and hopefully it'll slow down.
AlBundy
Bright Spark User
Posts: 377
Joined: Mon Dec 31, 2012 4:47 am

Re: 80fps with vce_h264 normal?

Post by AlBundy »

According to CPU-Z I'm running in dual channel mode.

fps are still the same even with --encoder-preset=quality.

Here is a comparison of old and new init arguments according to log.
arguments in both cases:

Code: Select all

--input "bbb_sunflower_1080p_60fps_normal.mp4" --output "test.mkv" --encoder qsv_h264
handbrake 0.10.5

Code: Select all

[06:16:40] encqsvInit: using full QSV path
[06:16:40] encqsvInit: TargetUsage 2 AsyncDepth 4
[06:16:40] encqsvInit: GopRefDist 3 GopPicSize 60 NumRefFrame 3
[06:16:40] encqsvInit: BFrames on BPyramid off
[06:16:40] encqsvInit: AdaptiveI off AdaptiveB off
[06:16:40] encqsvInit: RateControlMethod LA TargetKbps 2148 LookAheadDepth 40
[06:16:40] encqsvInit: LookAheadDS off
[06:16:40] encqsvInit: CAVLC off
[06:16:40] encqsvInit: Trellis off
[06:16:40] encqsvInit: H.264 profile High @ level 4.2
nigthly

Code: Select all

[06:17:23] encqsvInit: using encode-only path
[06:17:23] encqsvInit: H.264/AVC High profile @ level 4.2
[06:17:23] encqsvInit: TargetUsage 2 AsyncDepth 4
[06:17:23] encqsvInit: GopRefDist 3 GopPicSize 60 NumRefFrame 3
[06:17:23] encqsvInit: BFramesMax 2 BRefType off
[06:17:23] encqsvInit: RateControlMethod LA_ICQ ICQQuality 22 LookAheadDepth 40
User avatar
s55
HandBrake Team
Posts: 10350
Joined: Sun Dec 24, 2006 1:05 pm

Re: 80fps with vce_h264 normal?

Post by s55 »

Few differences there, but there may also be differences in logging too.
Also, different rate control is there.
Post Reply