Skip to content

Latest commit

 

History

History
473 lines (381 loc) · 21.7 KB

measure-quality.asciidoc

File metadata and controls

473 lines (381 loc) · 21.7 KB

measure-quality(1)

NAME

measure-quality - run media delivery quality measure

SYNOPSIS

measure quality [<options>] [--] <folder>|<stream>

DESCRIPTION

Run quality measure via ffmpeg-qsv and/or Intel Media SDK Sample Multi-Transcode. There are 3 modes of operation to highlight.

  1. Run quality measurement on the pre-defined set of workloads

        measure quality <folder>

    In this case <folder> sets the root folder to search for the pre-defined set of streams. Search is done in the root <folder> and all subfolders.

  2. Run quality measurement for a specified stream

        measure quality <stream.mp4>
        measure quality -w <width> -h <height> -f <framerate> <stream.yuv>

    In this case the quality measure is run only for the specified stream. If the stream is in YUV format, then its characteristics must be specified via command line optins (-w, -h, -f, etc.). The script accepts 8-bit YUV4:2:0 (yuv420p) input for AVC, HEVC and AV1. For HEVC, the script also accepts 10-bit YUV4:2:0 (p010le), 8-bit YUV4:2:2 (yuv422p), and 10-bit YUV4:2:2 (yuv422p10le) input, provided that EncTools is enabled for 4:2:2 inputs. If the input stream is uncompressed YUV or elementary compressed bitstream (e.g. standard compliant h264), quality will be measured using both ffmpeg-qsv and Media SDK Sample Multi-Transcode (with the exception of HEVC 4:2:2 raw YUV inputs which are currently only supported through ffmpeg-qsv). On the other hand, a stream encapsulated in a container (e.g. MP4, TS, etc.) will be measured only using ffmpeg-qsv (since Sample Multi-Transcode does not support containers).

  3. Run quality measure for the pre-defined sequence

        measure quality <pre-defined-sequence.yuv>

    This is a simplified variant of the previous mode. If the stream name matches one of the following pre-defined streams you may skip specifying its characteristics:

    Sequence Resolution FPS Frames MD5 Source

    BasketballDrive_1920x1080_50.yuv

    1920x1080

    50

    500

    e18034a26708a3c534a3b03d3bf82d61

    MPEG Test Suite

    BoatNF_1280x720_60.yuv

    1280x720

    60

    300

    45207fbd760394f011cff2af34d59ddc

    https://media.xiph.org/video/derf/

    bq_terrace_1920x1080p_600_60.yuv

    1920x1080

    60

    600

    cc17d5957b732ec5eab9234d6f5318e3

    MPEG Test Suite

    Bunny_1920x1080_24_600.yuv

    1920x1080

    24

    600

    987f1923ccf93d26271324b21c39ec45

    https://media.xiph.org/video/derf/

    Cactus_1920x1080_50.yuv

    1920x1080

    50

    500

    3fddb71486f209f1eb8020a0880ddf82

    MPEG Test Suite

    crowd_run_1280x720_50.yuv

    1280x720

    50

    500

    371e4d129556b27e17b1bc92c16a69d4

    https://media.xiph.org/video/derf/

    crowd_run_1920x1080p_500_50.yuv

    1920x1080

    50

    500

    da34812b5b2c316d40481c7b6c841e41

    https://media.xiph.org/video/derf/

    CSGO_1920x1080_60.yuv

    1920x1080

    60

    600

    5a7575d1c403a08347cffe88bcbc1805

    https://media.xiph.org/video/derf/

    DinnerScene_1920x1080_60.yuv

    1920x1080

    60

    600

    d1260db74160c61b72d7e1cee00e1ec2

    https://media.xiph.org/video/derf/

    DOTA2_1920x1080_60_600.yuv

    1920x1080

    60

    600

    a3a7d5e1c9964e5aa6f5e3e520320c32

    https://media.xiph.org/video/derf/

    FoodMarket2NF_1280x720_60.yuv

    1280x720

    60

    300

    f41cb6ddaaaae9fec392da4e2e47b07e

    https://media.xiph.org/video/derf/

    GTAV_1920x1080_60_600.yuv

    1920x1080

    60

    600

    22ad590c3f624ac0884062a68674ef4a

    https://media.xiph.org/video/derf/

    Hearthstone_1920x1080_60.yuv

    1920x1080

    60

    600

    d5eb7157f37386d5a2df0e789aed8909

    https://media.xiph.org/video/derf/

    Kimono1_1280x720_24.yuv

    1280x720

    24

    240

    e6bbaf876f00fe1709f5e8e1ec8da967

    MPEG Test Suite

    Kimono1_1920x1080_24.yuv

    1920x1080

    24

    240

    4a83005bc719012ac148dd3898e5e4ed

    MPEG Test Suite

    MINECRAFT_1920x1080_60_600.yuv

    1920x1080

    60

    600

    3bc4b5a002b5b4140e45bb0ded4a3620

    https://media.xiph.org/video/derf/

    MrFox_BlueBird_1920x1080_30.yuv

    1920x1080

    30

    300

    30801242685c4ed75c9eb748d5a4d0e7

    VQEG Test Suite

    park_joy_1280x720_50.yuv

    1280x720

    50

    500

    ef5868b66118c7fcbfdca069efdac684

    https://media.xiph.org/video/derf/

    park_joy_1920x1080_500_50.yuv

    1920x1080

    50

    300

    37dc2f9b6a2d1f4e50ac6cc432112733

    https://media.xiph.org/video/derf/

    ParkScene_1280x720_24.yuv

    1280x720

    24

    240

    d56b03ba9bf0afeac2800af9ab18c9eb

    MPEG Test Suite

    PierSeasideNF_1280x720_60.yuv

    1280x720

    60

    600

    ffd18a73e6d694097613cfd5228ec6c1

    https://media.xiph.org/video/derf/

    RedKayak_1920x1080_30.yuv

    1920x1080

    30

    570

    2901bec44d6f43af3e8316b94d8af02b

    https://media.xiph.org/video/derf/

    RushFieldCuts_1920x1080_30.yuv

    1920x1080

    30

    570

    055207f6a5819f3a1dc216a64f8634f9

    https://media.xiph.org/video/derf/

    Sintel_trailer_o537n480_1920x1080_24.yuv

    1920x1080

    24

    480

    1229ca7e98831ca85e6411e1bce12757

    https://media.xiph.org/video/derf/

    TangoNF_1280x720_60.yuv

    1280x720

    60

    294

    8ba856e08c3eefbe495a68f4df7ee0f5

    https://media.xiph.org/video/derf/

    touchdown_pass_1280x720_30.yuv

    1280x720

    30

    570

    db92db55a027922f7ea7276ae680f819

    MPEG Test Suite

    WITCHER3_1920x1080_60.yuv

    1920x1080

    60

    600

    cc082ec495a47085ba1c08b99e4de2e4

    https://media.xiph.org/video/derf/

        measure quality --pix-fmt p010le <pre-defined-sequence.yuv>

    HEVC also supports an additional set of predefined 10-bit sequences when using --pix-fmt p010le:

    Sequence Resolution FPS Frames MD5 Source

    BalloonFestival_1920x1080p_25_10b_pq_709_ct2020_p010le.yuv

    1920x1080

    24

    240

    ad3174f083a5138a9572a3c8d9a58440

    JVET Test Suite

    CrowdRun_1920x1080_50_p010le.yuv

    1920x1080

    50

    500

    b9da42e538b4fb34724da13084b9e399

    JVET Test Suite

    Hurdles_1920x1080p_50_10b_pq_709_ct2020_p010le.yuv

    1920x1080

    50

    500

    28f166b2cf09005eecbf33db03b426d1

    JVET Test Suite

    Market3_1920x1080p_50_10b_pq_709_ct2020_p010le.yuv

    1920x1080

    50

    400

    b74a2813a6b19485b01bf113b978e077

    JVET Test Suite

    MarketPlace_1920x1080_60fps_p010le.yuv

    1920x1080

    60

    600

    ca55c798f502cc860d5ee66772f5ce01

    JVET Test Suite

    Starting_1920x1080p_50_10b_pq_709_ct2020_p010le.yuv

    1920x1080

    50

    500

    7d04491468b82db2ccbb7a4f822a0ef7

    JVET Test Suite

HEVC 4:2:2 formats currently do not feature predefined sequences in this suite.

Script checks whether the input stream is YUV by the following file extensions: .yuv, .YUV. Any other file is considered to be an encoded bitstream (either raw or in a container).

Script default bitrates are given in the following tables:

  • Default bitrates for predefined sequences

    Sequence

    Resolution

    High Quality Bitrates (Mb/s)

    Low Delay Bitrates (Mb/s)

    H.264/AVC

    H.265/HEVC

    AV1

    H.264/AVC

    H.265/HEVC

    AV1

    BasketBallDrive

    1920x1080

    2, 3, 6, 12, 24

    2, 3, 6, 9, 15

    2, 3, 6, 9, 15

    2, 3, 6, 12, 24

    2, 3, 6, 9, 15

    2, 3, 6, 9, 15

    BQTerrace

    1920x1080

    2, 3, 6, 12, 24

    2, 3, 6, 9, 15

    2, 3, 6, 9, 15

    2, 3, 6, 12, 24

    2, 3, 6, 9, 15

    2, 3, 6, 9, 15

    Cactus

    1920x1080

    2, 3, 6, 12, 24

    2, 3, 6, 9, 15

    2, 3, 6, 9, 15

    2, 3, 6, 12, 24

    2, 3, 6, 9, 15

    2, 3, 6, 9, 15

    CrowdRun

    1920x1080

    15, 20, 25, 30, 35

    15, 20, 25, 30, 35

    15, 20, 25, 30, 35

    15, 20, 25, 30, 35

    15, 20, 25, 30, 35

    15, 20, 25, 30, 35

    DinnerScene

    1920x1080

    1, 1.5, 2, 3, 4

    3, 7, 11, 15, 20

    0.5, 1, 2, 7, 11

    1, 1.5, 3, 4.5, 7.5

    1, 1.5, 3, 4.5, 7.5

    1, 1.5, 7, 11, 15

    Kimono

    1920x1080

    2, 3, 6, 12, 24

    2, 3, 6, 9, 15

    2, 3, 6, 9, 15

    2, 3, 6, 12, 24

    2, 3.5, 6, 9, 15

    2, 3, 6, 9, 15

    ParkJoy

    1920x1080

    15, 20, 25, 30, 35

    15, 20, 25, 30, 35

    15, 20, 25, 30, 35

    15, 20, 25, 30, 35

    15, 20, 25, 30, 35

    15, 20, 25, 30, 35

    RedKayak

    1920x1080

    2, 3, 6, 12, 24

    2, 3, 6, 9, 15

    2, 3, 6, 9, 15

    2, 3, 6, 12, 24

    9, 12, 15, 18, 22

    2, 3, 6, 9, 15

    RushFieldCuts

    1920x1080

    2, 3, 6, 12, 24

    2, 3, 6, 9, 15

    2, 3, 6, 9, 15

    2, 3, 6, 12, 24

    2, 3, 6, 9, 15

    2, 3, 6, 9, 15

    Boat

    1280x720

    1, 1.5, 3, 6, 12

    1, 1.5, 3, 4.5, 7.5

    1, 1.5, 3, 4.5, 7.5

    1, 1.5, 3, 6, 12

    1, 1.5, 3, 4.5, 7.5

    1, 1.5, 3, 4.5, 7.5

    CrowdRun

    1280x720

    6, 8, 10, 12, 15

    6, 8, 10, 12, 15

    6, 8, 10, 12, 15

    3, 4.5, 7.5, 10, 12

    3, 4.5, 7.5, 10, 12

    3, 4.5, 7.5, 10, 12

    FoodMarket

    1280x720

    1, 1.5, 3, 6, 12

    1, 1.5, 3, 4.5, 7.5

    1, 1.5, 3, 4.5, 7.5

    1, 1.5, 3, 6, 12

    1, 1.5, 3, 4.5, 7.5

    1, 1.5, 3, 4.5, 7.5

    Kimono

    1280x720

    1, 1.5, 3, 6, 12

    1, 1.5, 3, 4.5, 7.5

    1, 1.5, 3, 4.5, 7.5

    1, 1.5, 3, 6, 12

    1, 1.5, 3, 4.5, 7.5

    1, 1.5, 3, 4.5, 7.5

    ParkJoy

    1280x720

    6, 8, 10, 12, 15

    6, 8, 10, 12, 15

    6, 8, 10, 12, 15

    3, 4.5, 7.5, 10, 12

    3, 4.5, 7.5, 10, 12

    3, 4.5, 7.5, 10, 12

    ParkScene

    1280x720

    1, 1.5, 3, 6, 12

    1, 1.5, 3, 4.5, 7.5

    1, 1.5, 3, 4.5, 7.5

    1, 1.5, 3, 6, 12

    1, 1.5, 3, 4.5, 7.5

    1, 1.5, 3, 4.5, 7.5

    PierSeaSide

    1280x720

    1, 1.5, 3, 6, 12

    1, 1.5, 3, 4.5, 7.5

    1, 1.5, 3, 4.5, 7.5

    1, 1.5, 3, 6, 12

    1, 1.5, 3, 4.5, 7.5

    1, 1.5, 3, 4.5, 7.5

    Tango

    1280x720

    1, 1.5, 3, 6, 12

    1, 1.5, 3, 4.5, 7.5

    1, 1.5, 3, 4.5, 7.5

    1, 1.5, 3, 6, 12

    1, 1.5, 3, 4.5, 7.5

    1, 1.5, 3, 4.5, 7.5

    TouchDownPass

    1280x720

    1, 1.5, 3, 6, 12

    1, 1.5, 3, 4.5, 7.5

    1, 1.5, 3, 4.5, 7.5

    1, 1.5, 3, 6, 12

    1, 1.5, 3, 4.5, 7.5

    1, 1.5, 3, 4.5, 7.5

    Bunny

    1920x1080

    2, 3, 6, 9, 12

    2, 3, 6, 9, 12

    2, 3, 6, 9, 15

    2, 3, 6, 12, 24

    2, 3, 6, 9, 15

    8, 9, 10, 11, 12

    CSGO

    1920x1080

    2, 3, 6, 12, 24

    2, 3, 6, 9, 15

    2, 3, 6, 9, 15

    2, 3, 6, 12, 24

    2, 3, 6, 9, 15

    1.5, 2, 3, 9, 15

    DOTA2

    1920x1080

    2, 3, 6, 12, 24

    2, 3, 6, 9, 15

    2, 3, 6, 9, 15

    2, 3, 6, 12, 24

    2, 3, 6, 9, 15

    2, 3, 6, 9, 15

    GTAV

    1920x1080

    2, 3, 6, 12, 24

    2, 3, 6, 9, 15

    2, 3, 6, 9, 15

    2, 3, 6, 12, 24

    2, 3, 6, 9, 15

    2, 3, 6, 9, 15

    Hearthstone

    1920x1080

    1.125, 2.25, 3, 5.5, 10

    1.125, 2.25, 3, 5.5, 10

    1.125, 2.25, 3, 5.5, 10

    0.75, 1.125, 2.25, 3.25, 5.5

    0.75, 1.125, 2.25, 3.25, 5.5

    0.75, 1.125, 2.25, 3.25, 5.5

    Minecraft

    1920x1080

    2, 3, 6, 12, 24

    2, 3, 6, 9, 15

    2, 3, 6, 9, 15

    2, 3, 6, 12, 24

    2, 3, 6, 9, 15

    2, 3, 6, 9, 15

    MrFox_BlueBird

    1920x1080

    1.125, 2.25, 3, 4, 5.5

    0.75, 1.125, 2.25, 3.25, 5.5

    0.75, 1.125, 2.25, 3.25, 5.5

    0.75, 1.125, 2.25, 3.25, 5.5

    0.75, 1.125, 2.25, 3.25, 5.5

    0.75, 1.125, 2.25, 3.25, 5.5

    Sintel_o537n480

    1920x1080

    0.5, 1, 1.5, 2, 3

    0.25, 0.5, 1, 1.5, 2

    0.25, 0.5, 1, 1.5, 2

    0.25, 0.5, 1, 1.5, 2

    0.25, 0.5, 1, 1.5, 2

    0.25, 0.5, 1, 1.5, 2

    Witcher

    1920x1080

    2, 3, 6, 12, 24

    2, 3, 6, 9, 15

    2, 3, 6, 9, 15

    2, 3, 6, 12, 24

    2, 3, 6, 9, 15

    2, 3, 6, 9, 15

  • Default bitrates for predefined 10-bit sequences

    Sequence Resolution H.265/HEVC

    BalloonFestival_10b

    1920x1080

    2, 3, 6, 9, 15

    CrowdRun_10b

    1920x1080

    15, 20, 25, 30, 35

    Hurdles_10b

    1920x1080

    2, 3, 6, 9, 15

    Market3_10b

    1920x1080

    2, 3, 6, 9, 15

    MarketPlace_10b

    1920x1080

    2, 3, 6, 9, 15

    Starting_10b

    1920x1080

    2, 3, 6, 9, 15

  • Default bitrates for user-defined sequences (High Quality and Low Delay use cases):

    Resolution

    Bitrates (Mb/s)

    H.264/AVC

    H.265/HEVC

    AV1

    width > 1920 && height > 1088

    6, 9, 15, 24, 40

    6, 9, 15, 24, 40

    6, 9, 15, 24, 40

    width > 1280 && height > 720

    2, 3, 6, 12, 24

    2, 3, 6, 9, 15

    2, 3, 6, 9, 15

    other

    1, 1.5, 3, 6, 12

    1, 1.5, 3, 4.5, 7.5

    1, 1.5, 3, 4.5, 7.5

For predefined sequences we have included precomputed golden references for BD-Rate calculation to remove the burden of having to compute them on the fly. The following table lists all currently available precomputed golden references along with the corresponding command line triggers:

  • Precomputed golden references:

    Use case Codec Golden Reference Trigger

    High Quality

    AVC

    x264-medium (default)

    --use-gold-ref

    x264-veryslow

    --use-gold-ref --ref-preset veryslow

    HEVC

    x265-medium (default)

    --use-gold-ref

    x265-medium-10bit

    --use-gold-ref --pix-fmt p010le

    x265-veryslow

    --use-gold-ref --ref-preset veryslow

    x265-veryslow-10bit

    --use-gold-ref --ref-preset veryslow --pix-fmt p010le

    AV1

    x264-medium (default)

    --use-gold-ref

    x264-veryslow

    --use-gold-ref --ref-preset veryslow

    Low Delay

    AVC

    x264-medium-250ms (default)

    --use-gold-ref

    HEVC

    x265-medium-250ms (default)

    --use-gold-ref

    AV1

    x264-medium-500ms (default)

    --use-gold-ref

    x264-medium-250ms

    --use-gold-ref --buffer-delay 250

OUTPUT ARTIFACTS

The script outputs data in the --outdir folder. Artifacts are encoded (transcoded) streams and text files with the calculated metrics. Consider an example below (--nframes=10 is given just for the simplicity).

# measure quality --nframes=10 /opt/data/embedded/WAR_TRAILER_HiQ_10_withAudio.mp4
<...>

# ls -1
WAR_TRAILER_HiQ_10_withAudio.mp4.cbr.ffmpeg-qsv.metrics
WAR_TRAILER_HiQ_10_withAudio.mp4.cbr.sample-multi-transcode.metrics
WAR_TRAILER_HiQ_10_withAudio.mp4.vbr.ffmpeg-qsv.metrics
WAR_TRAILER_HiQ_10_withAudio.mp4.vbr.sample-multi-transcode.metrics
WAR_TRAILER_HiQ_10_withAudio.mp4_12Mbps_CBR_QSV.h264
WAR_TRAILER_HiQ_10_withAudio.mp4_12Mbps_VBR_QSV.h264
WAR_TRAILER_HiQ_10_withAudio.mp4_24Mbps_CBR_QSV.h264
WAR_TRAILER_HiQ_10_withAudio.mp4_24Mbps_VBR_QSV.h264
WAR_TRAILER_HiQ_10_withAudio.mp4_2Mbps_CBR_QSV.h264
WAR_TRAILER_HiQ_10_withAudio.mp4_2Mbps_VBR_QSV.h264
WAR_TRAILER_HiQ_10_withAudio.mp4_3Mbps_CBR_QSV.h264
WAR_TRAILER_HiQ_10_withAudio.mp4_3Mbps_VBR_QSV.h264
WAR_TRAILER_HiQ_10_withAudio.mp4_6Mbps_CBR_QSV.h264
WAR_TRAILER_HiQ_10_withAudio.mp4_6Mbps_VBR_QSV.h264

# cat WAR_TRAILER_HiQ_10_withAudio.mp4.cbr.ffmpeg-qsv.metrics
WAR_TRAILER_HiQ_10_withAudio.mp4_12Mbps_CBR_QSV.h264:33712:99.73896508146471:56.57106818620179:0.9998045802116394:0.9996079494435991
WAR_TRAILER_HiQ_10_withAudio.mp4_24Mbps_CBR_QSV.h264:28605:99.73896508146471:55.73372554473565:0.9997134983539582:0.9994766423998278
WAR_TRAILER_HiQ_10_withAudio.mp4_2Mbps_CBR_QSV.h264:4681:98.18199953840941:49.40211511795687:0.9973068058490753:0.9969961779084621
WAR_TRAILER_HiQ_10_withAudio.mp4_3Mbps_CBR_QSV.h264:6927:99.14454456499617:50.71396113566765:0.9983673691749573:0.9979530665346188
WAR_TRAILER_HiQ_10_withAudio.mp4_6Mbps_CBR_QSV.h264:14923:99.68411421582299:53.147407625088:0.9992096841335296:0.9988773328701932

*.metrics files contain calculated metrics. File names contain 4 parts: <outprefix>.<codec>.<mode>.<application>.metrics. <outprefix> is --outprefix specified on the command line (running pre-defined set of streams default one is always used). <codec> is the video compression standard used in quality measurement (AVC or HEVC or AV1), which can be specified on the command line with --codec option. <mode> is a bitrate mode like cbr (constant bitrate) or vbr (variable bitrate). application is the application being measured for video quality: ffmpeg or Intel Media SDK Sample Multi-Transcode. In addition, when BD-rate calculation is enabled, application is set to ref indicating metrics files obtained from a reference (e.g. x264 or x265) used for BD-rate calculation. Metrics data is in CSV format with colon : separator. The first field is a stream name, the second is the bitrate, and the remaining fields are the metrics. Metrics are published in the following order: VMAF, PSNR-Y, SSIM, MS-SSIM. If any of the --skip-* metrics options are specified, then the corresponding metrics are represented with an empty string between the separators in the output report.

*bdrate files contain calculated BD-rates. Bjøntegaard-Delta bitrate (BD-rate) compares video quality between test and reference codecs by taking into account bitrates and corresponding quality metrics (e.g. PSNR, VMAF, etc.). At least 4 (bitrate, metric) pairs (vector points) are needed for BD-rate calculation. The BD-rate is a percentage indicating how much the bitrate is reduced (negative percent values) or how much the bitrate is increased (positive percent values) for the same value of a quality metric. The script supports 2 different BD-rate modes:

  1. Single BD-rate per sequence mode where a single BD-rate is computed from all available (bitrate, metric) vector points, for all enabled metrics. Minimum number of points required for BD-rate computation is 4.

  2. Dual BD-rate per sequence mode where 2 BD-rates are computed per sequence: one from 4 points corresponding to the 4 highest bitrates (High Bitrates BD-rate), and one from 4 points corresponding to the 4 lowest bitrates (Low Bitrates BD-rate).

Dual mode is used by default. However, users can force Single BD-rate mode with --single-bdrate option. In addition, users are able to override default bitrates with --bitrates option. When overriding default bitrates, at least 4 distinct bitrates need to be specified. If N bitrates are specified (N >= 4) with Dual BD-rate mode, then smallest 4 out of N bitrates are set as Low Bitrates, and the highest 4 out of N bitrates are set as High Bitrates. Setting N < 8 is allowed in which case there will be an overlap between Low and High bitrates. Also,setting N > 8 is allowed, in which case mid-range bitrates will be ignored. On the other hand, if Single BD-rate mode is used, then all N >= 4 bitrates are utilized.

*bdrate file names contain 5 parts: <outprefix>.<codec>.<mode>.<application>.<extension>. The first 4 parts are the same as in *.metrics files. <extension> can be one of the following:

  1. bdrate for Single BD-rate per sequence mode output

  2. hi-bdrate for High Bitrates BD-rate mode output

  3. lo-bdrate for Low Bitrates BD-rate mode output

After *bdrate output files per sequence are generated, the script generates an additional set of output files containing BD-rate averages. This set of output files has the filename structure Average.<codec>.<mode>.<application>.<extension>. Additionally, the grand total average output file is generated for each enabled application and has the filename structure Average.<codec>.<application>.bdrate.

In each *bdrate file, the data is in CSV format with colon : separator. The first field is a stream name, followed by the BD-rate values for available metrics published in the following order: VMAF BD-rate, PSNR-Y BD-rate, SSIM BD-rate, MS-SSIM BD-rate. If any of the --skip-* metrics options are specified, then the BD-rates corresponding these metrics are represented with an empty string between the separators in the output report.

ENCODING OPTIONS

--codec AVC|HEVC|AV1

Sets an encoder to use (default: AVC).

--preset default|best

Sets a quality preset option (default: best).

--bitrates <float>[:<float>…​]

Sets a list of bitrates in Mbps to use (default: use hardcoded bitrates which depend on stream resolution and codec). A minimum of 4 distinct bitrates are needed for calculating BD-rate.

--tu veryslow|slower|slow|medium|fast|faster|veryfast

Sets a target usage preset (default: medium).

--buffer-delay <int>

Sets encoding buffer delay in milliseconds for low-delay mode (default: 250 for AVC/HEVC and 500 for AV1).

--enctools-lad <int>

Sets the EncTools look ahead depth (default: 40). To use EncTools with boosted performance, set depth to 8. Minimum value is 1.

--ref-preset veryslow|slower|slow|medium|fast|faster|veryfast

Sets a target usage preset for the reference encoder (default: veryslow). If low-delay mode is enabled, default is set to medium.

WORKING MODE OPTIONS

--skip-metrics

Do not calculate any metrics.

--skip-psnr

Do not calculate psnr.

--skip-ssim

Do not calculate ssim.

--skip-ms-ssim

Do not calculate msssim.

--skip-vmaf

Do not calculate vmaf.

--skip-encoding

Do not encode anything.

--skip-ffmpeg

Do not run ffmpeg-qsv quality measurement.

--skip-msdk

Do not run Intel Media SDK Sample Multi-Transcode quality measurement.

--skip-cbr

Do not execute Constant Bitrate (CBR) encoding cases.

--skip-vbr

Do not execute Variable Bitrate (VBR) encoding cases.

--skip-reference

Do not run reference codec used for BD-rate calculation.

--skip-bdrate

Do not calculate BD-rate.

--single-bdrate

Force Single BD-rate per sequence mode (default is Dual, i.e. calculate BD-rates for lo- and hi-bitrate ranges).

--use-vdenc

Force using low power VDEnc hardware mode (disabled by default).

--use-gold-ref

Use precomputed golden references for BD-rate computation of predefined sequences (disabled by default).

--use-enctools

Use EncTools BRC for encoding (disabled by default). If enabled, it forces low power VDEnc hardware mode.

--use-lowdelay

Measure quality for low-delay/low-latency mode (disabled by default).

PROCESSING OPTIONS

--nframes|-n <uint>

Process (encode, calculate metrics) this number of frames and stop. If omitted or set to 0, all frames will be processed (default: 0).

--dry-run

Do not execute any commands, but dump them to stdout.

--outdir|-o /path/to/artifacts

Generate output in the specified folder (default: /opt/data/artifacts/measure/quality if ran under docker, $HOME/measure/quality otherwise)

--outprefix <string>

File prefix to append to output artifacts (default: $(basename $inputfile)). Not applicable in <folder> mode.

INPUT STREAM OPTIONS

Only valid for YUV input stream.

--width|-w <uint>

Input width

--height|-h <uint>

Input height

--framerate|-f <uint>

Input framerate

--pix-fmt yuv420p|p010le|yuv422p|yuv422p10le

Input pixel format (default: yuv420p)

PREREQUISITES

ffmpeg

Used for quality measurement of ffmpeg-qsv (--enable-libmfx) and calculation of quality metrics (--enable-libvmaf).

ffprobe

Used for getting information on the input/output stream(s).

sample_multi_transcode

Used for direct quality measurement of Intel MediaSDK/OneVPL library.

python3

Used for generic script purposes.

SEE ALSO