Audio Crackle AAC Audio (mp4) Video Exports

What is your operating system?
Windows 10 Enterprise

What is your Shotcut version (see Help > About Shotcut)? Is it 32-bit?
22.06.23 (not 32 bit)

Can you repeat the problem? If so, what are the steps?
(Please be specific and use the names as seen in Shotcut, preferably English. Include a screenshot or screen recording if you can. Also, you can attach logs from either View > Application Log or right-click a job and choose View Log.)

Repeatable every time.

Bug: The exported file contains audio which contains systemic low level distortion. Not clip distortion, but low level crackles during any period of medium to high signal level. The video when played in the program does not have the crackle.

Steps:

  1. Export any video with imported mp3 audio source into the project.
  2. Mp4 file using AAC audio, 192 kbps; variable rate
    (To be clear, the issue happens at higher bitrates and fixed bit rates)
    (Furthermore to be clear, I am an audio professional and have previously mixed the audio in Audition, leaving 1 dB of headroom. This is not a clipping issue. The fader in Shotcut also shows the audio peaking at precisely -1 dB)
  3. Listen to the exported video file’s audio. It will contain completely unexplainable noise coupled into the signal, as well as degradation of quality and a loss of low end.

Log:
[libx264 @ 0000026d40524f00] using SAR=1/1

[libx264 @ 0000026d40524f00] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2 AVX512

[libx264 @ 0000026d40524f00] profile High, level 4.0, 4:2:0, 8-bit

[libx264 @ 0000026d40524f00] 264 - core 164 r3094M bfc87b7 - H.264/MPEG-4 AVC codec - Copyleft 2003-2022 - x264, the best H.264/AVC encoder - VideoLAN - options: cabac=1 ref=2 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=6 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=24 lookahead_threads=4 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=1 keyint=150 keyint_min=15 scenecut=40 intra_refresh=0 rc_lookahead=30 rc=crf mbtree=1 crf=18.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00

[mov,mp4,m4a,3gp,3g2,mj2 @ 0000026d641a8040] st: 0 edit list: 1 Missing key frame while searching for timestamp: 3003

[mov,mp4,m4a,3gp,3g2,mj2 @ 0000026d641a8040] st: 0 edit list 1 Cannot find an index entry before timestamp: 3003.

[h264 @ 0000026d641b8fc0] Reinit context to 1920x1088, pix_fmt: yuv420p

[mov,mp4,m4a,3gp,3g2,mj2 @ 0000026d6433dcc0] st: 0 edit list: 1 Missing key frame while searching for timestamp: 3003

[mov,mp4,m4a,3gp,3g2,mj2 @ 0000026d6433dcc0] st: 0 edit list 1 Cannot find an index entry before timestamp: 3003.

[h264 @ 0000026d641af3c0] Reinit context to 1920x1088, pix_fmt: yuv420p

[mov,mp4,m4a,3gp,3g2,mj2 @ 0000026d64ab6040] st: 0 edit list: 1 Missing key frame while searching for timestamp: 3003

[mov,mp4,m4a,3gp,3g2,mj2 @ 0000026d64ab6040] st: 0 edit list 1 Cannot find an index entry before timestamp: 3003.

[h264 @ 0000026d64af23c0] Reinit context to 1920x1088, pix_fmt: yuv420p

[producer avformat] audio: total_streams 1 max_stream 1 total_channels 2 max_channels 2

[AVIOContext @ 0000026d50220580] Statistics: 2287412 bytes read, 1 seeks

[chain avformat-novalidate] c:/Users/mroberto/Downloads/PHLN Ep2 Kayci/P1090009.MP4

checking VFR: pkt.duration 3003

[h264 @ 0000026d6447db80] Reinit context to 1920x1088, pix_fmt: yuv420p

[in @ 0000026d64f9c780] w:1920 h:1080 pixfmt:rgb24 tb:1001/30000 fr:30000/1001 sar:1/1001

[hue @ 0000026d64f9bf80] H_expr:(null) h_deg_expr:0 s_expr:1.25 b_expr:0

[scale @ 0000026d64f9e580] w:1920 h:1080 flags:‘bicubic+accurate_rnd+full_chroma_int+full_chroma_inp’ interl:0

[auto_scale_0 @ 0000026d64f9d080] w:iw h:ih flags:‘bicubic+accurate_rnd+full_chroma_int+full_chroma_inp’ interl:0

[hue @ 0000026d64f9bf80] auto-inserting filter ‘auto_scale_0’ between the filter ‘in’ and the filter ‘hue’

[auto_scale_0 @ 0000026d64f9d080] w:1920 h:1080 fmt:rgb24 sar:1/1001 → w:1920 h:1080 fmt:yuv444p sar:1/1001 flags:0x46004

[scale @ 0000026d64f9e580] w:1920 h:1080 fmt:yuv444p sar:1/1001 → w:1920 h:1080 fmt:rgb24 sar:1/1001 flags:0x46004

[pad @ 0000026d64f9e280] w:1920 h:1080 → w:1920 h:1080 x:0 y:0 color:0x000000FF

[auto_scale_0 @ 0000026d64f9d080] w:1920 h:1080 fmt:rgb24 sar:1/1001 → w:1920 h:1080 fmt:yuv444p sar:1/1001 flags:0x46004

[auto_scale_0 @ 0000026d64f9d080] w:1920 h:1080 fmt:rgb24 sar:1/1001 → w:1920 h:1080 fmt:yuv444p sar:1/1001 flags:0x46004

[auto_scale_0 @ 0000026d64f9d080] w:1920 h:1080 fmt:rgb24 sar:1/1 → w:1920 h:1080 fmt:yuv444p sar:1/1 flags:0x46004

[scale @ 0000026d64f9e580] w:1920 h:1080 fmt:yuv444p sar:1/1001 → w:1920 h:1080 fmt:rgb24 sar:1/1001 flags:0x46004

[scale @ 0000026d64f9e580] w:1920 h:1080 fmt:yuv444p sar:1/1001 → w:1920 h:1080 fmt:rgb24 sar:1/1001 flags:0x46004

[scale @ 0000026d64f9e580] w:1920 h:1080 fmt:yuv444p sar:1/1 → w:1920 h:1080 fmt:rgb24 sar:1/1 flags:0x46004

[mp3 @ 0000026d7cdde6c0] Skipping 0 bytes of junk at 6478.

[mp3 @ 0000026d7cdde6c0] Estimating duration from bitrate, this may be inaccurate

[mp3 @ 0000026d7cddf4c0] Skipping 0 bytes of junk at 6478.

[mp3 @ 0000026d7cddf4c0] Estimating duration from bitrate, this may be inaccurate

[producer avformat] audio: total_streams 1 max_stream 0 total_channels 2 max_channels 2

[AVIOContext @ 0000026d784f6200] Statistics: 98304 bytes read, 1 seeks

[mov,mp4,m4a,3gp,3g2,mj2 @ 0000026d7cde0880] st: 0 edit list: 1 Missing key frame while searching for timestamp: 3003

[mov,mp4,m4a,3gp,3g2,mj2 @ 0000026d7cde0880] st: 0 edit list 1 Cannot find an index entry before timestamp: 3003.

[h264 @ 0000026d641e0dc0] Reinit context to 1920x1088, pix_fmt: yuv420p

[mov,mp4,m4a,3gp,3g2,mj2 @ 0000026d7cde0000] st: 0 edit list: 1 Missing key frame while searching for timestamp: 3003

[mov,mp4,m4a,3gp,3g2,mj2 @ 0000026d7cde0000] st: 0 edit list 1 Cannot find an index entry before timestamp: 3003.

[h264 @ 0000026d641e1d80] Reinit context to 1920x1088, pix_fmt: yuv420p

[mov,mp4,m4a,3gp,3g2,mj2 @ 0000026d7cdde6c0] st: 0 edit list: 1 Missing key frame while searching for timestamp: 3003

[mov,mp4,m4a,3gp,3g2,mj2 @ 0000026d7cdde6c0] st: 0 edit list 1 Cannot find an index entry before timestamp: 3003.

[h264 @ 0000026d641e2180] Reinit context to 1920x1088, pix_fmt: yuv420p

[producer avformat] audio: total_streams 1 max_stream 1 total_channels 2 max_channels 2

[AVIOContext @ 0000026d784f5ac0] Statistics: 2287412 bytes read, 1 seeks

[mp3 @ 0000026d7cde13c0] Skipping 0 bytes of junk at 6478.

[mp3 @ 0000026d7cde13c0] Estimating duration from bitrate, this may be inaccurate

[mp3 @ 0000026d7cde0300] Skipping 0 bytes of junk at 6478.

[mp3 @ 0000026d7cde0300] Estimating duration from bitrate, this may be inaccurate

[producer avformat] audio: total_streams 1 max_stream 0 total_channels 2 max_channels 2

[AVIOContext @ 0000026d784f6080] Statistics: 98304 bytes read, 1 seeks

[chain avformat-novalidate] c:/Users/mroberto/Downloads/PHLN Ep2 Kayci/P1090009.MP4

checking VFR: pkt.duration 3003

[h264 @ 0000026d641e2540] Reinit context to 1920x1088, pix_fmt: yuv420p

[mov,mp4,m4a,3gp,3g2,mj2 @ 0000026d7cde21c0] st: 0 edit list: 1 Missing key frame while searching for timestamp: 3003

[mov,mp4,m4a,3gp,3g2,mj2 @ 0000026d7cde21c0] st: 0 edit list 1 Cannot find an index entry before timestamp: 3003.

[h264 @ 0000026d29cfe5c0] Reinit context to 1920x1088, pix_fmt: yuv420p

[mov,mp4,m4a,3gp,3g2,mj2 @ 0000026d7cde1f00] st: 0 edit list: 1 Missing key frame while searching for timestamp: 3003

[mov,mp4,m4a,3gp,3g2,mj2 @ 0000026d7cde1f00] st: 0 edit list 1 Cannot find an index entry before timestamp: 3003.

[h264 @ 0000026d29cfe1c0] Reinit context to 1920x1088, pix_fmt: yuv420p

[mov,mp4,m4a,3gp,3g2,mj2 @ 0000026d7cddef40] st: 0 edit list: 1 Missing key frame while searching for timestamp: 3003

[mov,mp4,m4a,3gp,3g2,mj2 @ 0000026d7cddef40] st: 0 edit list 1 Cannot find an index entry before timestamp: 3003.

[h264 @ 0000026d29d01500] Reinit context to 1920x1088, pix_fmt: yuv420p

[producer avformat] audio: total_streams 1 max_stream 1 total_channels 2 max_channels 2

[AVIOContext @ 0000026d784f5ac0] Statistics: 2287412 bytes read, 1 seeks

[chain avformat-novalidate] c:/Users/mroberto/Downloads/PHLN Ep2 Kayci/P1090009.MP4

checking VFR: pkt.duration 3003

[h264 @ 0000026d29cfed80] Reinit context to 1920x1088, pix_fmt: yuv420p

[mov,mp4,m4a,3gp,3g2,mj2 @ 0000026d7cde05c0] st: 0 edit list: 1 Missing key frame while searching for timestamp: 3003

[mov,mp4,m4a,3gp,3g2,mj2 @ 0000026d7cde05c0] st: 0 edit list 1 Cannot find an index entry before timestamp: 3003.

[h264 @ 0000026d3bcb6280] Reinit context to 1920x1088, pix_fmt: yuv420p

[mov,mp4,m4a,3gp,3g2,mj2 @ 0000026d7cde21c0] st: 0 edit list: 1 Missing key frame while searching for timestamp: 3003

[mov,mp4,m4a,3gp,3g2,mj2 @ 0000026d7cde21c0] st: 0 edit list 1 Cannot find an index entry before timestamp: 3003.

[h264 @ 0000026d3bcb52c0] Reinit context to 1920x1088, pix_fmt: yuv420p

[mov,mp4,m4a,3gp,3g2,mj2 @ 0000026d7cde1680] st: 0 edit list: 1 Missing key frame while searching for timestamp: 3003

[mov,mp4,m4a,3gp,3g2,mj2 @ 0000026d7cde1680] st: 0 edit list 1 Cannot find an index entry before timestamp: 3003.

[h264 @ 0000026d29cff980] Reinit context to 1920x1088, pix_fmt: yuv420p

[producer avformat] audio: total_streams 1 max_stream 1 total_channels 2 max_channels 2

[AVIOContext @ 0000026d784f6200] Statistics: 2287412 bytes read, 1 seeks

[chain avformat-novalidate] c:/Users/mroberto/Downloads/PHLN Ep2 Kayci/P1090009.MP4

checking VFR: pkt.duration 3003

[h264 @ 0000026d385d0080] Reinit context to 1920x1088, pix_fmt: yuv420p

[mov,mp4,m4a,3gp,3g2,mj2 @ 0000026d7cde0b40] st: 0 edit list: 1 Missing key frame while searching for timestamp: 3003

[mov,mp4,m4a,3gp,3g2,mj2 @ 0000026d7cde0b40] st: 0 edit list 1 Cannot find an index entry before timestamp: 3003.

[h264 @ 0000026d2a9488c0] Reinit context to 1920x1088, pix_fmt: yuv420p

[mov,mp4,m4a,3gp,3g2,mj2 @ 0000026d7cde1c40] st: 0 edit list: 1 Missing key frame while searching for timestamp: 3003

[mov,mp4,m4a,3gp,3g2,mj2 @ 0000026d7cde1c40] st: 0 edit list 1 Cannot find an index entry before timestamp: 3003.

[h264 @ 0000026d2a948c80] Reinit context to 1920x1088, pix_fmt: yuv420p

[mov,mp4,m4a,3gp,3g2,mj2 @ 0000026d7cddec80] st: 0 edit list: 1 Missing key frame while searching for timestamp: 3003

[mov,mp4,m4a,3gp,3g2,mj2 @ 0000026d7cddec80] st: 0 edit list 1 Cannot find an index entry before timestamp: 3003.

[h264 @ 0000026d2a949480] Reinit context to 1920x1088, pix_fmt: yuv420p

[producer avformat] audio: total_streams 1 max_stream 1 total_channels 2 max_channels 2

[AVIOContext @ 0000026d784f6200] Statistics: 2287412 bytes read, 1 seeks

[chain avformat-novalidate] c:/Users/mroberto/Downloads/PHLN Ep2 Kayci/P1090009.MP4

checking VFR: pkt.duration 3003

[h264 @ 0000026d2a9488c0] Reinit context to 1920x1088, pix_fmt: yuv420p

[mov,mp4,m4a,3gp,3g2,mj2 @ 0000026d7cddfa80] st: 0 edit list: 1 Missing key frame while searching for timestamp: 3003

[mov,mp4,m4a,3gp,3g2,mj2 @ 0000026d7cddfa80] st: 0 edit list 1 Cannot find an index entry before timestamp: 3003.

[h264 @ 0000026d87b2d340] Reinit context to 1920x1088, pix_fmt: yuv420p

[mov,mp4,m4a,3gp,3g2,mj2 @ 0000026d7cde0880] st: 0 edit list: 1 Missing key frame while searching for timestamp: 3003

[mov,mp4,m4a,3gp,3g2,mj2 @ 0000026d7cde0880] st: 0 edit list 1 Cannot find an index entry before timestamp: 3003.

[h264 @ 0000026d87b30280] Reinit context to 1920x1088, pix_fmt: yuv420p

[mov,mp4,m4a,3gp,3g2,mj2 @ 0000026d7cde0b40] st: 0 edit list: 1 Missing key frame while searching for timestamp: 3003

[mov,mp4,m4a,3gp,3g2,mj2 @ 0000026d7cde0b40] st: 0 edit list 1 Cannot find an index entry before timestamp: 3003.

[h264 @ 0000026d87b2d740] Reinit context to 1920x1088, pix_fmt: yuv420p

[producer avformat] audio: total_streams 1 max_stream 1 total_channels 2 max_channels 2

[AVIOContext @ 0000026d397dfbc0] Statistics: 2287412 bytes read, 1 seeks

[chain avformat-novalidate] c:/Users/mroberto/Downloads/PHLN Ep2 Kayci/P1090009.MP4

checking VFR: pkt.duration 3003

[h264 @ 0000026d87b2fe80] Reinit context to 1920x1088, pix_fmt: yuv420p

[chain avformat-novalidate] c:/Users/mroberto/Downloads/PHLN Ep2 Kayci/P1090009.MP4

WILD TIMESTAMP: pkt.pts=[-9223372036854775808], pkt.dts=[-9223372036854775808], req_position=[51059], current_position=[51058], int_position=[0], pts=[-9223372036854775808]

[chain avformat-novalidate] c:/Users/mroberto/Downloads/PHLN Ep2 Kayci/P1090009.MP4

WILD TIMESTAMP: pkt.pts=[-9223372036854775808], pkt.dts=[-9223372036854775808], req_position=[51060], current_position=[51059], int_position=[0], pts=[-9223372036854775808]

[chain avformat-novalidate] c:/Users/mroberto/Downloads/PHLN Ep2 Kayci/P1090009.MP4

WILD TIMESTAMP: pkt.pts=[-9223372036854775808], pkt.dts=[-9223372036854775808], req_position=[51061], current_position=[51060], int_position=[0], pts=[-9223372036854775808]

[chain avformat-novalidate] c:/Users/mroberto/Downloads/PHLN Ep2 Kayci/P1090009.MP4

WILD TIMESTAMP: pkt.pts=[-9223372036854775808], pkt.dts=[-9223372036854775808], req_position=[51062], current_position=[51061], int_position=[0], pts=[-9223372036854775808]

[chain avformat-novalidate] c:/Users/mroberto/Downloads/PHLN Ep2 Kayci/P1090009.MP4

WILD TIMESTAMP: pkt.pts=[-9223372036854775808], pkt.dts=[-9223372036854775808], req_position=[51063], current_position=[51062], int_position=[0], pts=[-9223372036854775808]

[chain avformat-novalidate] c:/Users/mroberto/Downloads/PHLN Ep2 Kayci/P1090009.MP4

WILD TIMESTAMP: pkt.pts=[-9223372036854775808], pkt.dts=[-9223372036854775808], req_position=[51064], current_position=[51063], int_position=[0], pts=[-9223372036854775808]

[chain avformat-novalidate] c:/Users/mroberto/Downloads/PHLN Ep2 Kayci/P1090009.MP4

WILD TIMESTAMP: pkt.pts=[-9223372036854775808], pkt.dts=[-9223372036854775808], req_position=[51065], current_position=[51064], int_position=[0], pts=[-9223372036854775808]

[chain avformat-novalidate] c:/Users/mroberto/Downloads/PHLN Ep2 Kayci/P1090009.MP4

WILD TIMESTAMP: pkt.pts=[-9223372036854775808], pkt.dts=[-9223372036854775808], req_position=[51066], current_position=[51065], int_position=[0], pts=[-9223372036854775808]

[chain avformat-novalidate] c:/Users/mroberto/Downloads/PHLN Ep2 Kayci/P1090009.MP4

WILD TIMESTAMP: pkt.pts=[-9223372036854775808], pkt.dts=[-9223372036854775808], req_position=[51067], current_position=[51066], int_position=[0], pts=[-9223372036854775808]

[chain avformat-novalidate] c:/Users/mroberto/Downloads/PHLN Ep2 Kayci/P1090009.MP4

WILD TIMESTAMP: pkt.pts=[-9223372036854775808], pkt.dts=[-9223372036854775808], req_position=[51068], current_position=[51067], int_position=[0], pts=[-9223372036854775808]

[chain avformat-novalidate] c:/Users/mroberto/Downloads/PHLN Ep2 Kayci/P1090009.MP4

WILD TIMESTAMP: pkt.pts=[-9223372036854775808], pkt.dts=[-9223372036854775808], req_position=[51069], current_position=[51068], int_position=[0], pts=[-9223372036854775808]

[chain avformat-novalidate] c:/Users/mroberto/Downloads/PHLN Ep2 Kayci/P1090009.MP4

WILD TIMESTAMP: pkt.pts=[-9223372036854775808], pkt.dts=[-9223372036854775808], req_position=[51070], current_position=[51069], int_position=[0], pts=[-9223372036854775808]

[chain avformat-novalidate] c:/Users/mroberto/Downloads/PHLN Ep2 Kayci/P1090009.MP4

WILD TIMESTAMP: pkt.pts=[-9223372036854775808], pkt.dts=[-9223372036854775808], req_position=[51071], current_position=[51070], int_position=[0], pts=[-9223372036854775808]

[chain avformat-novalidate] c:/Users/mroberto/Downloads/PHLN Ep2 Kayci/P1090009.MP4

WILD TIMESTAMP: pkt.pts=[-9223372036854775808], pkt.dts=[-9223372036854775808], req_position=[51072], current_position=[51071], int_position=[0], pts=[-9223372036854775808]

[chain avformat-novalidate] c:/Users/mroberto/Downloads/PHLN Ep2 Kayci/P1090009.MP4

WILD TIMESTAMP: pkt.pts=[-9223372036854775808], pkt.dts=[-9223372036854775808], req_position=[51073], current_position=[51072], int_position=[0], pts=[-9223372036854775808]

[chain avformat-novalidate] c:/Users/mroberto/Downloads/PHLN Ep2 Kayci/P1090009.MP4

WILD TIMESTAMP: pkt.pts=[-9223372036854775808], pkt.dts=[-9223372036854775808], req_position=[51074], current_position=[51073], int_position=[0], pts=[-9223372036854775808]

[AVIOContext @ 0000026d6450be40] Statistics: 56793322 bytes read, 2 seeks

[AVIOContext @ 0000026d642003c0] Statistics: 64997638 bytes read, 2 seeks

[mov,mp4,m4a,3gp,3g2,mj2 @ 0000026d7cde0e40] st: 0 edit list: 1 Missing key frame while searching for timestamp: 3003

[mov,mp4,m4a,3gp,3g2,mj2 @ 0000026d7cde0e40] st: 0 edit list 1 Cannot find an index entry before timestamp: 3003.

[h264 @ 0000026d947b5d00] Reinit context to 1920x1088, pix_fmt: yuv420p

[mov,mp4,m4a,3gp,3g2,mj2 @ 0000026d7cddf7c0] st: 0 edit list: 1 Missing key frame while searching for timestamp: 3003

[mov,mp4,m4a,3gp,3g2,mj2 @ 0000026d7cddf7c0] st: 0 edit list 1 Cannot find an index entry before timestamp: 3003.

[h264 @ 0000026d947b9400] Reinit context to 1920x1088, pix_fmt: yuv420p

[mov,mp4,m4a,3gp,3g2,mj2 @ 0000026d7cddfa80] st: 0 edit list: 1 Missing key frame while searching for timestamp: 3003

[mov,mp4,m4a,3gp,3g2,mj2 @ 0000026d7cddfa80] st: 0 edit list 1 Cannot find an index entry before timestamp: 3003.

[h264 @ 0000026d947b8440] Reinit context to 1920x1088, pix_fmt: yuv420p

[producer avformat] audio: total_streams 1 max_stream 1 total_channels 2 max_channels 2

[AVIOContext @ 0000026d397dfe80] Statistics: 1353211 bytes read, 2 seeks

[chain avformat-novalidate] C:/Users/mroberto/Downloads/PHLN Ep2 Kayci/P1090010.MP4

checking VFR: pkt.duration 3003

[h264 @ 0000026d947b7c80] Reinit context to 1920x1088, pix_fmt: yuv420p

[in @ 0000026d38736180] w:1920 h:1080 pixfmt:rgb24 tb:1001/30000 fr:30000/1001 sar:1/1001

[hue @ 0000026d38734d80] H_expr:(null) h_deg_expr:0 s_expr:1.23 b_expr:0

[scale @ 0000026d38734e80] w:1920 h:1080 flags:‘bicubic+accurate_rnd+full_chroma_int+full_chroma_inp’ interl:0

[auto_scale_0 @ 0000026d38735180] w:iw h:ih flags:‘bicubic+accurate_rnd+full_chroma_int+full_chroma_inp’ interl:0

[hue @ 0000026d38734d80] auto-inserting filter ‘auto_scale_0’ between the filter ‘in’ and the filter ‘hue’

[auto_scale_0 @ 0000026d38735180] w:1920 h:1080 fmt:rgb24 sar:1/1001 → w:1920 h:1080 fmt:yuv444p sar:1/1001 flags:0x46004

[scale @ 0000026d38734e80] w:1920 h:1080 fmt:yuv444p sar:1/1001 → w:1920 h:1080 fmt:rgb24 sar:1/1001 flags:0x46004

[pad @ 0000026d38737380] w:1920 h:1080 → w:1920 h:1080 x:0 y:0 color:0x000000FF

[auto_scale_0 @ 0000026d38735180] w:1920 h:1080 fmt:rgb24 sar:1/1001 → w:1920 h:1080 fmt:yuv444p sar:1/1001 flags:0x46004

[auto_scale_0 @ 0000026d38735180] w:1920 h:1080 fmt:rgb24 sar:1/1001 → w:1920 h:1080 fmt:yuv444p sar:1/1001 flags:0x46004

[auto_scale_0 @ 0000026d38735180] w:1920 h:1080 fmt:rgb24 sar:1/1 → w:1920 h:1080 fmt:yuv444p sar:1/1 flags:0x46004

[scale @ 0000026d38734e80] w:1920 h:1080 fmt:yuv444p sar:1/1001 → w:1920 h:1080 fmt:rgb24 sar:1/1001 flags:0x46004

[scale @ 0000026d38734e80] w:1920 h:1080 fmt:yuv444p sar:1/1001 → w:1920 h:1080 fmt:rgb24 sar:1/1001 flags:0x46004

[scale @ 0000026d38734e80] w:1920 h:1080 fmt:yuv444p sar:1/1 → w:1920 h:1080 fmt:rgb24 sar:1/1 flags:0x46004

[AVIOContext @ 0000026d784f5dc0] Statistics: 23396352 bytes read, 1 seeks

[wav @ 0000026d796ef9c0] Discarding ID3 tags because more suitable tags were found.

[wav @ 0000026d796ef9c0] parser not found for codec pcm_s16le, packets or times may be invalid.

[wav @ 0000026d796ee900] Discarding ID3 tags because more suitable tags were found.

[wav @ 0000026d796ee900] parser not found for codec pcm_s16le, packets or times may be invalid.

[producer avformat] audio: total_streams 1 max_stream 0 total_channels 2 max_channels 2

[AVIOContext @ 0000026d397e0d00] Statistics: 327764 bytes read, 4 seeks

[AVIOContext @ 0000026d784f5f00] Statistics: 2015938269 bytes read, 2 seeks

[AVIOContext @ 0000026d784f5680] Statistics: 2022148570 bytes read, 2 seeks

[mov,mp4,m4a,3gp,3g2,mj2 @ 0000026d796eebc0] st: 0 edit list: 1 Missing key frame while searching for timestamp: 15015

[mov,mp4,m4a,3gp,3g2,mj2 @ 0000026d796eebc0] st: 0 edit list 1 Cannot find an index entry before timestamp: 15015.

[h264 @ 0000026d947b68c0] Reinit context to 3840x2160, pix_fmt: yuv420p

[mov,mp4,m4a,3gp,3g2,mj2 @ 0000026d796eff80] st: 0 edit list: 1 Missing key frame while searching for timestamp: 15015

[mov,mp4,m4a,3gp,3g2,mj2 @ 0000026d796eff80] st: 0 edit list 1 Cannot find an index entry before timestamp: 15015.

[h264 @ 0000026d01fabc40] Reinit context to 3840x2160, pix_fmt: yuv420p

[mov,mp4,m4a,3gp,3g2,mj2 @ 0000026d796f1340] st: 0 edit list: 1 Missing key frame while searching for timestamp: 15015

[mov,mp4,m4a,3gp,3g2,mj2 @ 0000026d796f1340] st: 0 edit list 1 Cannot find an index entry before timestamp: 15015.

[h264 @ 0000026d01fa9100] Reinit context to 3840x2160, pix_fmt: yuv420p

[producer avformat] audio: total_streams 1 max_stream 1 total_channels 2 max_channels 2

[AVIOContext @ 0000026d397e12c0] Statistics: 3397113 bytes read, 2 seeks

[chain avformat-novalidate] C:/Users/mroberto/Downloads/PHLN Ep1 Grant/flowerinwind.MP4

checking VFR: pkt.duration 15015

[h264 @ 0000026d01faa880] Reinit context to 3840x2160, pix_fmt: yuv420p

[in @ 0000026d64f9d980] w:1920 h:1080 pixfmt:yuyv422 tb:1001/30000 fr:30000/1001 sar:1/1001

[hue @ 0000026d64f9bd80] H_expr:(null) h_deg_expr:0 s_expr:1.25 b_expr:0

[scale @ 0000026d64f9e680] w:1920 h:1080 flags:‘bicubic+accurate_rnd+full_chroma_int+full_chroma_inp’ interl:0

[auto_scale_0 @ 0000026d64f9af80] w:iw h:ih flags:‘bicubic+accurate_rnd+full_chroma_int+full_chroma_inp’ interl:0

[out @ 0000026d64f9aa80] auto-inserting filter ‘auto_scale_0’ between the filter ‘pad’ and the filter ‘out’

[auto_scale_1 @ 0000026d64f9cd80] w:iw h:ih flags:‘bicubic+accurate_rnd+full_chroma_int+full_chroma_inp’ interl:0

[hue @ 0000026d64f9bd80] auto-inserting filter ‘auto_scale_1’ between the filter ‘in’ and the filter ‘hue’

[auto_scale_1 @ 0000026d64f9cd80] w:1920 h:1080 fmt:yuyv422 sar:1/1001 → w:1920 h:1080 fmt:yuv422p sar:1/1001 flags:0x46004

[scale @ 0000026d64f9e680] w:1920 h:1080 fmt:yuv422p sar:1/1001 → w:1920 h:1080 fmt:yuv422p sar:1/1001 flags:0x46004

[pad @ 0000026d64f9c980] w:1920 h:1080 → w:1920 h:1080 x:0 y:0 color:0x000000FF

[auto_scale_0 @ 0000026d64f9af80] w:1920 h:1080 fmt:yuv422p sar:1/1001 → w:1920 h:1080 fmt:yuyv422 sar:1/1001 flags:0x46004

[auto_scale_1 @ 0000026d64f9cd80] w:1920 h:1080 fmt:yuyv422 sar:1/1001 → w:1920 h:1080 fmt:yuv422p sar:1/1001 flags:0x46004

[auto_scale_1 @ 0000026d64f9cd80] w:1920 h:1080 fmt:yuyv422 sar:1/1001 → w:1920 h:1080 fmt:yuv422p sar:1/1001 flags:0x46004

[auto_scale_1 @ 0000026d64f9cd80] w:1920 h:1080 fmt:yuyv422 sar:1/1 → w:1920 h:1080 fmt:yuv422p sar:1/1 flags:0x46004

[scale @ 0000026d64f9e680] w:1920 h:1080 fmt:yuv422p sar:1/1001 → w:1920 h:1080 fmt:yuv422p sar:1/1001 flags:0x46004

[scale @ 0000026d64f9e680] w:1920 h:1080 fmt:yuv422p sar:1/1001 → w:1920 h:1080 fmt:yuv422p sar:1/1001 flags:0x46004

[scale @ 0000026d64f9e680] w:1920 h:1080 fmt:yuv422p sar:1/1 → w:1920 h:1080 fmt:yuv422p sar:1/1 flags:0x46004

[auto_scale_0 @ 0000026d64f9af80] w:1920 h:1080 fmt:yuv422p sar:1/1001 → w:1920 h:1080 fmt:yuyv422 sar:1/1001 flags:0x46004

[auto_scale_0 @ 0000026d64f9af80] w:1920 h:1080 fmt:yuv422p sar:1/1001 → w:1920 h:1080 fmt:yuyv422 sar:1/1001 flags:0x46004

[auto_scale_0 @ 0000026d64f9af80] w:1920 h:1080 fmt:yuv422p sar:1/1 → w:1920 h:1080 fmt:yuyv422 sar:1/1 flags:0x46004

[mp4 @ 0000026d3e3de700] Timestamps are unset in a packet for stream 1. This is deprecated and will stop working in the future. Fix your code to set the timestamps properly

[mp4 @ 0000026d3e3de700] Encoder did not produce proper pts, making some up.

[mp4 @ 0000026d3e3de700] Starting second pass: moving the moov atom to the beginning of the file

[AVIOContext @ 0000026d397e0440] Statistics: 3460511099 bytes read, 0 seeks

[libx264 @ 0000026d40524f00] frame I:391 Avg QP:15.39 size:615171

[libx264 @ 0000026d40524f00] frame P:14728 Avg QP:18.52 size:178299

[libx264 @ 0000026d40524f00] frame B:40712 Avg QP:24.18 size: 13394

[libx264 @ 0000026d40524f00] consecutive B-frames: 1.4% 2.8% 4.3% 91.5%

[libx264 @ 0000026d40524f00] mb I I16…4: 2.2% 87.7% 10.1%

[libx264 @ 0000026d40524f00] mb P I16…4: 0.1% 3.0% 0.4% P16…4: 49.8% 23.2% 19.1% 0.0% 0.0% skip: 4.3%

[libx264 @ 0000026d40524f00] mb B I16…4: 0.1% 0.4% 0.1% B16…8: 19.5% 5.5% 0.6% direct: 9.8% skip:64.0% L0:36.4% L1:40.5% BI:23.1%

[libx264 @ 0000026d40524f00] 8x8 transform intra:81.5% inter:78.0%

[libx264 @ 0000026d40524f00] coded y,uvDC,uvAC intra: 88.2% 95.5% 68.1% inter: 28.9% 25.9% 6.7%

[libx264 @ 0000026d40524f00] i16 v,h,dc,p: 24% 13% 20% 43%

[libx264 @ 0000026d40524f00] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 14% 18% 17% 7% 9% 9% 10% 7% 10%

[libx264 @ 0000026d40524f00] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 16% 16% 10% 8% 12% 11% 11% 8% 9%

[libx264 @ 0000026d40524f00] i8c dc,h,v,p: 48% 25% 16% 11%

[libx264 @ 0000026d40524f00] Weighted P-Frames: Y:2.6% UV:1.7%

[libx264 @ 0000026d40524f00] ref P L0: 68.7% 31.3%

[libx264 @ 0000026d40524f00] ref B L0: 84.3% 15.7%

[libx264 @ 0000026d40524f00] ref B L1: 95.6% 4.4%

[libx264 @ 0000026d40524f00] kb/s:14651.76

[aac @ 0000026d404fb5c0] Qavg: 440.167

[AVIOContext @ 0000026d50220400] Statistics: 6921087013 bytes written, 30 seeks, 26422 writeouts

Completed successfully in 00:26:40

A few thoughts:

  1. Would it be possible to export from Audition as WAV instead of MP3? Aside from the lossy vs lossless benefits, WAV also helps because MP3 is not a seek-friendly format at the sample level. If Shotcut exports with Parallel Processing turned on (and sometimes even when off), this seek inaccuracy can cause sync problems.

  2. I assume the Audition mix targets 1 dB headroom because you know the side effects of quantization used by lossy formats like MP3. The lossy audio approximates the original source in a way that compresses better, but the approximation will sometimes be a little louder or softer than the original by virtue of being an approximation. When the approximation is louder, any original sound mixed to 0 dB goes into the clipping range, hence the need for 1 dB headroom. However, the workflow we see so far is an MP3 source being recompressed to an AAC target. That is double lossy compression and approximation, which means the MP3 headroom needs to be at least 1.5 dB. Or, the video project needs an output (stereo bus) limiter at 1 to 1.5 dB to protect the AAC approximation from clipping.

  3. AAC is far from perfect. Would AC-3 or MP3 be an option, or Opus in a Matroska container? Those codecs tend to be more faithful to the original sound. Here’s a discussion with distortion graphs that you may find interesting:

1 Like

Hey Austin,

Thanks for your reply.

I have more than enough quality at 192 kbit mp3 to AAC. The issue is not clipping. My ~1 dB headroom is still intact. With my long podcasts, I avoid wav files as I do not need files consuming that much data.

AC3 is an older standard and technically lower quality than AAC. Oddly, when I change the setting in the export settings for Audio Codec from ‘AAC’ to ‘Default for format’ the issue is resolved.

Prior, I was also exporting with the video disabled, and with parallel processing disabled and enabled. The issue was persistent. I was trying these to see if any kind of processing was to blame. I’m on a powerful machine that is exporting quickly and able to render everything in real time in the timeline without hiccups. These tests confirm to me it’s not an issue in my machine getting bogged down during export.

There appears to be a legit issue with manually selecting AAC audio Codec, even though that should be the default anyway.

The distortion is not clipping, but actually noise coupled into the signal. There’s plenty of headroom left after the conversion is done.

I saved out wav files of the distorted audio with AAC and the undistorted audio with ‘Default for Format’ , but this forum won’t let me upload them.

I’m an electrical engineer in the audio field and I use the AAC codec in all my DAWs for audio testing. I have high confidence there’s a bug when manually selecting AAC codec. Let’s see if the dev’s look into this.

For now I have the workaround.

I am interesting in investigating, but it would save me considerable time if someone would be willing to lay down exact steps for a minimum failure example. Ideally, the steps would not rely on external source media (use the built in audio tone generator and color clips).

Hey Brian,

I would be happy to help you. I suspect one would be most likely to encounter this issue when using a complex signal that has a high amplitude, and especially something that contains hard edges caused by plosives and frictaves. I’m not sure if a tone or multi-tone can cause the behavior.

I’ll give it a test and get back to you. I’m fairly sure this issue is unrelated to video processing and could be seen with a blank video.

I was under the impression tone generator could synthesize and save tones to audio tracks, but it does not appear that way to me.

It would take a combined synthesis of multiple tones in my estimation, at least to repro the issue. This is due to the way mp3 compression works (filterbanks).

It definitely cannot be reproduced with a single tone, I have tried that now. I have the source waveform which causes it. I just wish I could attach it here.

Generally, any voice which is loud, peaking -1 dB in all of my podcasts is constantly causing the distortion when the AAC codec is selected. Also, the distortion is happening for signals less than -1 dB, down to lets say -6 dB, but not for very quiet signal.

Have you tried zipping the file then uploading it? Might be a new user forum thing that is restricting you.

For large files, you might have to use a file sharing service like google drive.