RandomEngy / VidCoder

A Blu-ray, DVD and video file transcoder for Windows.
http://vidcoder.net
GNU General Public License v2.0
690 stars 42 forks source link

AV1 encoding very slow (handbrake and Vidcoder finish in 10 seconds, Vidcoder allmost 3 minutes #1140

Open JohnDoon opened 1 year ago

JohnDoon commented 1 year ago

Problem Description

When encoding to AV! the encodings process slows down after a while, the fps drops down very much. When using Handbrake and Shutterencoder with the same settings the proces is must faster. (20 times faster) But all the settings are the same (speed 12),i do encoding for many years, and im pretty sure this is a bug. I noticed Handbrake and Vidcoder uses a different version of (Aomedia) AV1 codec. Perhabs that explanes why Vidcoder hangs (and the others dont). Version 8.25 Strange thing is,i tryed many versions, older and beta's they all have the same problem (for me that is). Regards John

What version of VidCoder are you running?

8.25

Encode Log

# VidCoder 8.25
# Starting scan: C:\Users\johnn\Desktop\hisense-tibet-uhd-(www.demolandia.net)_Snijden.mkv
[15:47:25] CPU: Intel(R) Core(TM) i5-8400 CPU @ 2.80GHz
[15:47:25]  - Intel microarchitecture Kaby Lake
[15:47:25]  - logical processor count: 6
[15:47:25] Intel Quick Sync Video support: no
[15:47:25] hb_scan: path=C:\Users\johnn\Desktop\hisense-tibet-uhd-(www.demolandia.net)_Snijden.mkv, title_index=0
udfread ERROR: ECMA 167 Volume Recognition failed
src/libbluray/disc/disc.c:333: failed opening UDF image C:\Users\johnn\Desktop\hisense-tibet-uhd-(www.demolandia.net)_Snijden.mkv
src/libbluray/disc/disc.c:437: error opening file BDMV\index.bdmv
src/libbluray/disc/disc.c:437: error opening file BDMV\BACKUP\index.bdmv
[15:47:25] bd: not a bd - trying as a stream/file instead
libdvdread: DVDOpenFileUDF:UDFFindFile /VIDEO_TS/VIDEO_TS.IFO failed
libdvdnav: vm: vm: failed to read VIDEO_TS.IFO
[15:47:25] dvd: not a dvd - trying as a stream/file instead
Input #0, matroska,webm, from 'C:\Users\johnn\Desktop\hisense-tibet-uhd-(www.demolandia.net)_Snijden.mkv':
  Metadata:
    creation_time   : 2023-05-04T14:24:10.264436Z
    ENCODER         : Lavf60.4.100
  Duration: 00:00:07.04, start: 0.000000, bitrate: 102755 kb/s
  Stream #0:0: Video: h264 (High), yuv420p(progressive), 3840x2160 [SAR 1:1 DAR 16:9], 29.97 fps, 29.97 tbr, 1k tbn (default)
    Metadata:
      BPS             : 98698686
      BPS-eng         : 98698686
      DURATION-eng    : 00:03:35.615000000
      NUMBER_OF_FRAMES: 6462
      NUMBER_OF_FRAMES-eng: 6462
      NUMBER_OF_BYTES : 2660114664
      NUMBER_OF_BYTES-eng: 2660114664
      _STATISTICS_WRITING_APP: mkvmerge v20.0.0 ('I Am The Sun') 64-bit
      _STATISTICS_WRITING_APP-eng: mkvmerge v20.0.0 ('I Am The Sun') 64-bit
      _STATISTICS_WRITING_DATE_UTC: 2018-01-23 18:20:56
      _STATISTICS_WRITING_DATE_UTC-eng: 2018-01-23 18:20:56
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
      DURATION        : 00:00:07.040000000
  Stream #0:1: Audio: ac3, 48000 Hz, stereo, fltp, 448 kb/s (default)
    Metadata:
      BPS             : 448000
      BPS-eng         : 448000
      DURATION-eng    : 00:03:35.680000000
      NUMBER_OF_FRAMES: 6740
      NUMBER_OF_FRAMES-eng: 6740
      NUMBER_OF_BYTES : 12078080
      NUMBER_OF_BYTES-eng: 12078080
      _STATISTICS_WRITING_APP: mkvmerge v20.0.0 ('I Am The Sun') 64-bit
      _STATISTICS_WRITING_APP-eng: mkvmerge v20.0.0 ('I Am The Sun') 64-bit
      _STATISTICS_WRITING_DATE_UTC: 2018-01-23 18:20:56
      _STATISTICS_WRITING_DATE_UTC-eng: 2018-01-23 18:20:56
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
      DURATION        : 00:00:07.011000000
[15:47:25] scan: decoding previews for title 1
[15:47:26] scan: audio 0x1: ac3, rate=48000Hz, bitrate=448000 Unknown (AC3) (2.0 ch) (448 kbps)
[15:47:29] scan: 10 previews, 3840x2160, 29.970 fps, autocrop = 0/0/0/0, aspect 16:9, PAR 1:1, color profile: 1-1-1, chroma location: left
[15:47:29] libhb: scan thread found 1 valid title(s)
# Titles JSON:
{
    "MainFeature": 0,
    "TitleList": [
        {
            "AngleCount": 1,
            "AudioList": [
                {
                    "Attributes": {
                        "AltCommentary": false,
                        "Commentary": false,
                        "Default": true,
                        "Normal": false,
                        "Secondary": false,
                        "VisuallyImpaired": false
                    },
                    "BitRate": 448000,
                    "ChannelCount": 2,
                    "ChannelLayout": 3,
                    "ChannelLayoutName": "stereo",
                    "Codec": 2048,
                    "CodecName": "ac3",
                    "CodecParam": 86019,
                    "Description": "Unknown (AC3) (2.0 ch) (448 kbps)",
                    "LFECount": 0,
                    "Language": "Unknown",
                    "LanguageCode": "und",
                    "SampleRate": 48000,
                    "TrackNumber": 1
                }
            ],
            "ChapterList": [
                {
                    "Duration": {
                        "Hours": 0,
                        "Minutes": 0,
                        "Seconds": 7,
                        "Ticks": 633600
                    },
                    "Name": ""
                }
            ],
            "Color": {
                "ChromaLocation": 1,
                "Format": 0,
                "Matrix": 1,
                "Primary": 1,
                "Range": 0,
                "Transfer": 1
            },
            "Container": "matroska,webm",
            "Crop": [
                0,
                0,
                0,
                0
            ],
            "Duration": {
                "Hours": 0,
                "Minutes": 0,
                "Seconds": 7,
                "Ticks": 633600
            },
            "FrameRate": {
                "Den": 900900,
                "Num": 27000000
            },
            "Geometry": {
                "Height": 2160,
                "PAR": {
                    "Den": 1,
                    "Num": 1
                },
                "Width": 3840
            },
            "Index": 1,
            "InterlaceDetected": false,
            "LooseCrop": [
                0,
                0,
                0,
                0
            ],
            "Metadata": {},
            "Name": "hisense-tibet-uhd-(www.demolandia.net)_Snijden",
            "Path": "C:\\Users\\johnn\\Desktop\\hisense-tibet-uhd-(www.demolandia.net)_Snijden.mkv",
            "Playlist": -1,
            "SubtitleList": [],
            "Type": 3,
            "VideoCodec": "h264"
        }
    ]
}
# Scan completed
# Starting queue
# Starting job 1/1
#   Source path: C:\Users\johnn\Desktop\hisense-tibet-uhd-(www.demolandia.net)_Snijden.mkv
#   Destination path: C:\Users\johnn\Desktop\new\hisense-tibet-uhd-(www.demolandia.net) Snijden.mp4
#   Title: 1
#   Range: All
#   Preset: av1 100mB
# Starting encode: C:\Users\johnn\Desktop\new\hisense-tibet-uhd-(www.demolandia.net) Snijden.mp4
# Starting encode in-process
[15:48:25] hb_init: starting libhb thread
[15:48:25] CPU: Intel(R) Core(TM) i5-8400 CPU @ 2.80GHz
[15:48:25]  - Intel microarchitecture Kaby Lake
[15:48:25]  - logical processor count: 6
[15:48:25] Intel Quick Sync Video support: no
[15:48:25] hb_scan: path=C:\Users\johnn\Desktop\hisense-tibet-uhd-(www.demolandia.net)_Snijden.mkv, title_index=1
udfread ERROR: ECMA 167 Volume Recognition failed
src/libbluray/disc/disc.c:333: failed opening UDF image C:\Users\johnn\Desktop\hisense-tibet-uhd-(www.demolandia.net)_Snijden.mkv
src/libbluray/disc/disc.c:437: error opening file BDMV\index.bdmv
src/libbluray/disc/disc.c:437: error opening file BDMV\BACKUP\index.bdmv
[15:48:25] bd: not a bd - trying as a stream/file instead
libdvdread: DVDOpenFileUDF:UDFFindFile /VIDEO_TS/VIDEO_TS.IFO failed
libdvdnav: vm: vm: failed to read VIDEO_TS.IFO
[15:48:25] dvd: not a dvd - trying as a stream/file instead
Input #0, matroska,webm, from 'C:\Users\johnn\Desktop\hisense-tibet-uhd-(www.demolandia.net)_Snijden.mkv':
  Metadata:
    creation_time   : 2023-05-04T14:24:10.264436Z
    ENCODER         : Lavf60.4.100
  Duration: 00:00:07.04, start: 0.000000, bitrate: 102755 kb/s
  Stream #0:0: Video: h264 (High), yuv420p(progressive), 3840x2160 [SAR 1:1 DAR 16:9], 29.97 fps, 29.97 tbr, 1k tbn (default)
    Metadata:
      BPS             : 98698686
      BPS-eng         : 98698686
      DURATION-eng    : 00:03:35.615000000
      NUMBER_OF_FRAMES: 6462
      NUMBER_OF_FRAMES-eng: 6462
      NUMBER_OF_BYTES : 2660114664
      NUMBER_OF_BYTES-eng: 2660114664
      _STATISTICS_WRITING_APP: mkvmerge v20.0.0 ('I Am The Sun') 64-bit
      _STATISTICS_WRITING_APP-eng: mkvmerge v20.0.0 ('I Am The Sun') 64-bit
      _STATISTICS_WRITING_DATE_UTC: 2018-01-23 18:20:56
      _STATISTICS_WRITING_DATE_UTC-eng: 2018-01-23 18:20:56
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
      DURATION        : 00:00:07.040000000
  Stream #0:1: Audio: ac3, 48000 Hz, stereo, fltp, 448 kb/s (default)
    Metadata:
      BPS             : 448000
      BPS-eng         : 448000
      DURATION-eng    : 00:03:35.680000000
      NUMBER_OF_FRAMES: 6740
      NUMBER_OF_FRAMES-eng: 6740
      NUMBER_OF_BYTES : 12078080
      NUMBER_OF_BYTES-eng: 12078080
      _STATISTICS_WRITING_APP: mkvmerge v20.0.0 ('I Am The Sun') 64-bit
      _STATISTICS_WRITING_APP-eng: mkvmerge v20.0.0 ('I Am The Sun') 64-bit
      _STATISTICS_WRITING_DATE_UTC: 2018-01-23 18:20:56
      _STATISTICS_WRITING_DATE_UTC-eng: 2018-01-23 18:20:56
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
      DURATION        : 00:00:07.011000000
[15:48:26] scan: decoding previews for title 1
[15:48:26] scan: audio 0x1: ac3, rate=48000Hz, bitrate=448000 Unknown (AC3) (2.0 ch) (448 kbps)
[15:48:30] scan: 10 previews, 3840x2160, 29.970 fps, autocrop = 0/0/0/0, aspect 16:9, PAR 1:1, color profile: 1-1-1, chroma location: left
[15:48:30] libhb: scan thread found 1 valid title(s)
[15:48:30] Starting work at: Fri May 05 15:48:30 2023
[15:48:30] 1 job(s) to process
[15:48:30] json job:
{
  "Audio": {
    "AudioList": [
      {
        "Bitrate": 160,
        "CompressionLevel": 2,
        "DRC": 0,
        "Encoder": "copy",
        "Gain": 0,
        "Mixdown": 4,
        "NormalizeMixLevel": false,
        "Samplerate": 48000,
        "Track": 0,
        "DitherMethod": 0
      }
    ],
    "CopyMask": [
      "copy:aac",
      "copy:ac3",
      "copy:eac3",
      "copy:truehd",
      "copy:dts",
      "copy:dtshd",
      "copy:mp2",
      "copy:mp3",
      "copy:flac",
      "copy:opus"
    ],
    "FallbackEncoder": "mp3"
  },
  "Destination": {
    "ChapterList": [],
    "ChapterMarkers": false,
    "AlignAVStart": false,
    "File": "C:\\Users\\johnn\\Desktop\\new\\hisense-tibet-uhd-(www.demolandia.net) Snijden.part.mp4",
    "Mp4Options": {
      "IpodAtom": false,
      "Mp4Optimize": false
    },
    "Mux": "av_mp4"
  },
  "Filters": {
    "FilterList": [
      {
        "ID": 14,
        "Settings": {
          "crop-bottom": "0",
          "crop-left": "0",
          "crop-right": "0",
          "crop-top": "0",
          "height": "2160",
          "width": "3840"
        }
      }
    ]
  },
  "PAR": {
    "Num": 1,
    "Den": 1
  },
  "Metadata": {},
  "SequenceID": 0,
  "Source": {
    "Angle": 1,
    "Range": {
      "Type": "chapter",
      "Start": 1,
      "End": 1
    },
    "Title": 1,
    "Path": "C:\\Users\\johnn\\Desktop\\hisense-tibet-uhd-(www.demolandia.net)_Snijden.mkv"
  },
  "Subtitle": {
    "Search": {
      "Burn": false,
      "Default": false,
      "Enable": false,
      "Forced": false
    },
    "SubtitleList": []
  },
  "Video": {
    "Encoder": "svt_av1",
    "Level": "4.1",
    "TwoPass": false,
    "Turbo": false,
    "ColorMatrixCode": 0,
    "Options": "",
    "Profile": "auto",
    "Quality": 35,
    "QSV": {
      "Decode": false
    },
    "HardwareDecode": 0
  }
}
[15:48:30] Starting Task: Encoding Pass
[15:48:30] Skipping crop/scale filter
[15:48:30] Auto Passthru: allowed codecs are AAC, AC3, E-AC3, TrueHD, DTS, DTS-HD, MP2, MP3, FLAC, Opus
[15:48:30] Auto Passthru: fallback is MP3
[15:48:30] Auto Passthru: using AC3 Passthru for track 1
[15:48:30] job configuration:
[15:48:30]  * source
[15:48:30]    + C:\Users\johnn\Desktop\hisense-tibet-uhd-(www.demolandia.net)_Snijden.mkv
[15:48:30]    + title 1, chapter(s) 1 to 1
[15:48:30]    + container: matroska,webm
[15:48:30]    + data rate: 102755 kbps
[15:48:30]  * destination
[15:48:30]    + C:\Users\johnn\Desktop\new\hisense-tibet-uhd-(www.demolandia.net) Snijden.part.mp4
[15:48:30]    + container: MPEG-4 (libavformat)
[15:48:30]  * video track
[15:48:30]    + decoder: h264 8-bit (yuv420p)
[15:48:30]    + Output geometry
[15:48:30]      + storage dimensions: 3840 x 2160
[15:48:30]      + pixel aspect ratio: 1 : 1
[15:48:30]      + display dimensions: 3840 x 2160
[15:48:30]    + encoder: AV1 (SVT)
[15:48:30]      + profile: auto
[15:48:30]      + level:   4.1
[15:48:30]      + quality: 35.00 (RF)
[15:48:30]      + color profile: 1-1-1
[15:48:30]      + chroma location: left
[15:48:30]  * audio track 1
[15:48:30]    + decoder: Unknown (AC3) (2.0 ch) (448 kbps) (track 1, id 0x1)
[15:48:30]      + bitrate: 448 kbps, samplerate: 48000 Hz
[15:48:30]    + AC3 Passthru
[15:48:30] sync: expecting 210 video frames
[15:48:30] encavcodecInit: AV1 encoder
[15:48:30] encavcodec: encoding at CRF 35.00
[15:48:30] encavcodec: encoding with stored aspect 1/1
Svt[info]: -------------------------------------------
Svt[info]: SVT [version]:   SVT-AV1 Encoder Lib v1.4.1
Svt[info]: SVT [build]  :   GCC 10.2.0   64 bit
Svt[info]: LIB Build date: Jan 23 2023 17:12:39
Svt[info]: -------------------------------------------
Svt[info]: Number of logical cores available: 6
Svt[info]: Number of PPCS 58
Svt[info]: [asm level on system : up to avx2]
Svt[info]: [asm level selected : up to avx2]
Svt[info]: -------------------------------------------
Svt[info]: SVT [config]: main profile   tier (auto) level 4.1
Svt[info]: SVT [config]: width / height / fps numerator / fps denominator       : 3840 / 2160 / 30000 / 1001
Svt[info]: SVT [config]: bit-depth / color format                   : 8 / YUV420
Svt[info]: SVT [config]: preset / tune / pred struct                    : 5 / VQ / random access
Svt[info]: SVT [config]: gop size / mini-gop size / key-frame type          : 304 / 16 / key frame
Svt[info]: SVT [config]: BRC mode / rate factor                     : CRF / 35
Svt[info]: -------------------------------------------
[15:48:32] sync: first pts video is 0
[15:48:32] sync: Chapter 1 at frame 1 time 0
[15:48:32] sync: first pts audio 0x1 is 270
[15:49:40] reader: done. 1 scr changes
[15:51:13] work: average encoding speed for job is 2.021277 fps
[15:51:13] ac3-decoder done: 219 frames, 0 decoder errors
[15:51:13] h264-decoder done: 211 frames, 0 decoder errors
[15:51:13] sync: got 211 frames, 210 expected
[15:51:13] sync: framerate min 29.970 fps, max 29.970 fps, avg 29.970 fps
[15:51:14] mux: track 0, 211 frames, 10336848 bytes, 11690.40 kbps, fifo 256
[15:51:14] mux: track 1, 219 frames, 392448 bytes, 443.84 kbps, fifo 256
[15:51:14] Finished work at: Fri May 05 15:51:14 2023
[15:51:14] libhb: work result = 0
# Job completed (Elapsed Time: 2m 48s)
# Job completed: C:\Users\johnn\Desktop\new\hisense-tibet-uhd-(www.demolandia.net) Snijden.mp4
# Queue completed
JohnDoon commented 1 year ago

I think i found the problem. I have imported the same file in vidcoder and Handbrake, and i saw that the audio settings were very different. I have changed the setting in vidcoder to mirror those in Handbrake, and since than i tryed multiple files, no problem. But this is not correct i thinkt, Should't the program choose the correct audio settings, like Handbrake does? Well anyway, it works now (it seems). Hope it will remain problemfree.

RandomEngy commented 1 year ago

VidCoder actually imports the same built-in preset list that HandBrake uses. Though there is a conversion step so it's conceivable that something went wrong there. Which built-in preset did you see have different settings, and what settings were different?

JohnDoon commented 1 year ago

Hi. It seems i used the wrong settings. Only tomorrow i saw there is a AV1 Matroska setting (yes thats dumb haha), prior i used some other h265 preset and modified videosetting (like choosing av1 etc) When using the AV1 Matroska settings, the problems are gone. everything work perfectly. But (maybe im doing something wrong) i saw when you choose AV1 Matroska in HB and VC preset, the audio settings in HB and VC are different by default. (HB and VC new install, so no customised settings). Maybe you can have a look at that.

By the way, the Dutch translation is outstanding, it really couldn't have been done better, but i noticed a very very tiny thing that could be improved. (yes i'm in nitpicking modus haha)

[image: Rate.jpg]

The Dutch translation from English to Dutch for Max framerate (VFR) is Max framesnelheid (VFR), so thats perfect, no errors there. But Constante framerate ("framerate" is still in English) should be "Constante framesnelheid)" ("framesnelheid" being the Dutch word for framerate).

Well thanks for your time and regards! John

Op vr 5 mei 2023 om 20:35 schreef David Rickard @.***>:

VidCoder actually imports the same built-in preset list that HandBrake uses. Though there is a conversion step so it's conceivable that something went wrong there. Which built-in preset did you see have different settings, and what settings were different?

— Reply to this email directly, view it on GitHub https://github.com/RandomEngy/VidCoder/issues/1140#issuecomment-1536629225, or unsubscribe https://github.com/notifications/unsubscribe-auth/A7UBB2QSKHUDO26QYQTPEULXEVB6VANCNFSM6AAAAAAXXGIEQE . You are receiving this because you authored the thread.Message ID: @.***>

RandomEngy commented 1 year ago

I updated that string, it will come in the next time I pull in translations. You can also directly translate at https://crowdin.com/project/vidcoder .

I checked out the AV1 HandBrake preset and did a test encode with HandBrake and VidCoder and didn't notice any significant speed difference, and the audio settings were just about the same. VidCoder exposes the Compression level UI, which the HandBrake UI does not do. However, VidCoder defaults to "10" as the compression level for this preset, and that's what HandBrake picks as well when no compression level is specified.

What audio preset differences did you notice?