Issue When Exporting A Video At 1080p Lossless h.264

What is your operating system?

Windows 10 64 Bits

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

Shotcut version 20.07.11 64Bits install from shotcut-win64-200711.exe

I have an issue, when exporting a video at 1080p lossless h.264. The file size should be muliple gigabytes in size.

Exported Video Details

Video size 161 MB (169,333,187 bytes)

Video

Length 00:10:02
Frame Width 1920
Frame Hieght 1080
Date Rate 1882kbps
Total Bitrate 2241kbps
Frame Rate 25.00 Frames Second

Audio

Bit Rate 358kbps
Channels 2 Stereo
Audio Sample Rate 48.000kHz

Video Used In Project Details

Video Size 9.89 GB (10,623,337,462 bytes)

Video

Length 00:09:16

Frame Width 1920

Frame Height 1080

Data Rate 151442kbps

Total Bitrate 152853kbps

Frame Rate 30.00 Frames Second

Audio

Bit Rate 1411kbps

Channel 2 Stereo

Audio Sample Rate 44.100kHz

Thanks :slight_smile:

Quick Bits

Did you export using hardware acceleration? If so, your hardware probably does not support lossless and it’s substituting with something else.

1 Like

I have tried both with and without hardware acceleration enabled, with the same small file been produced.

I have an NVIDA 1050Ti, I have also tried rolling back to an older version of shotcut, which has resulted in the same issue.

Exporting a .mp4 file at 1080p lossless h.264 did work in the pasted, it just started happening recently.

Interesting, I’m not able to reproduce it. Could you provide screenshots of your export settings on all four Advanced tabs?

This bug report is rejected as file size is not an absolute measure of lossless. The lossless H.264 preset was changed to not be intra-only (only I frames), and now has a GOP size of 25 frames. This allows creating much smaller files while still being lossless. You need to look at the resulting file with MediaInfo and ffprobe and look for the H.264 profile is “High 4:4:4 Predictive”. I just ran a test, and I see it. It also plays fine. Another thing you can do to verify is right-click the completed export job and choose Measure Video Quality, wait for that job to finish, right-click it, and view the report. You should observe 1.0 values for the ssim[Y] column

If you want intra only, change the GOP to 1. If you want a large file size (difficult with only 10 seconds as your video is “Length 00:10:02”) use Ut Video.

Here is a video quality report using Ut Video

This one shows numerically absolute lossless while x264 is so near lossless I guess it is considered close enough (like 99.99%).

Does length of 00:10:02 mean ten minutes or ten seconds? I tried a one minute export of a PowerPoint slideshow (meaning GOP 25 will have a lot of compression gains) and the result was 168 MB. So if you had a ten second video that was 100-ish MB, it would be within reason. The real check is the codec profile as Dan mentioned.

The video length is 10 minutes and 02 seconds.

Here is the application log with additional screenshots.

Thanks For The Help :smile:

Shotcut log.txt (68.5 KB)

Those export settings screenshots look fine. How does the exported video look if brought back into Shotcut? Is there a noticeable problem? File size alone doesn’t tell us anything since the GOP was changed in the export preset compared to previous versions.

The application log is mostly for Shotcut startup. We would need the export job log to detect any problems. Look on the Jobs panel and right-click the finished export to find the job log.

Shotcut Job Log.txt (31.8 KB)

Should I also install version 200412 and give that ago?

Everything looks fine the way it is. From the log:

[libx264 @ 000000000b5826c0] profile High 4:4:4 Predictive, level 4.0, 4:2:0, 8-bit
[libx264 @ 000000000b5826c0] 264 - core 160 r3011 cde9a93 - H.264/MPEG-4 AVC codec - Copyleft 2003-2020 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=0 mixed_ref=1 me_range=16 chroma_me=1 trellis=0 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=0 chroma_qp_offset=0 threads=12 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=2 keyint=25 keyint_min=2 scenecut=40 intra_refresh=0 rc=cqp mbtree=0 qp=0

———

QP (at the end) is zero, meaning lossless. The profile is High 4:4:4 Predictive which is used by lossless. Then we see the statistics when encoding is done:

———

[libx264 @ 000000000b5826c0] frame I:607 Avg QP: 0.00 size:358474
[libx264 @ 000000000b5826c0] frame P:14467 Avg QP: 0.00 size: 14666

The average QP is zero, meaning lossless. Having 14,467 P-frames means this video is getting extremely good compression.

I don’t see anything wrong. The exported file looks legit. Unless there is a visible problem during playback that says otherwise, this file looks perfectly fine.

2 Likes

Playback quality is completely fine, so I’m guessing the compression of the file codec has improved in this version of Shotcut over old ones.

Thanks for the help!