YouTube re-encoding degrades the image at "regular" time intervals


#1

Hello to all,

Unfortunately, I has to highlight a problem with the re-encoding of Youtube that degrades the image at “regular” time intervals.
Practically every 3 or 4 seconds a sequence of grainy frames is displayed to then resume the video stream with the “normal” compression.

I have already tried to change the export parameters but without success (GOP number, Bitrate, Interpolation etc …).

The source video was made with a GoPro with 1920x1080p @ 25 fps with image stabilizer.
Outgoing video is always 1920x1080p @ 25fps (16: 9) (presets standard of Shotcut for YouTube !!)

NB. I know perfectly the settings required by Youtube and then I ask you not to limit yourself to indicate the support page do Google …

Some of you who have the same problem, how did you solve it?
Which settings have changed compared to the presets standard of Shotcut for YouTube?

Thanks 1000, R


#2

It’s seems to be more due to your computer Ram than the preset.


#3

Is GPU Effects turned on?
Can you share your computer specs?


#4

You are downloading a YouTube video and using that in a project? That is going to be low quality to start with.

Did you try using the Shotcut Export preset named “YouTube”?


#5

Thansk to all.

The PC specs are:

  • Windows 7 Pro 64bit
  • Dell Precision 7510 (i7-6820HQ@27.70GHz, 16GB Ram and 2 graphic card: Intel 530 & AMD FirePro w5170M).
  • Shotcut runs with Intel 530 (I can select the Graphic card for each program)

I use the Shotcut export preset named “YouTube” and the problem is here!!

When Shotcut export the MP4 file (whith youtube settings) the video on PC is good. When I upload the file on YouTube, It introduces the “distortion”.

(I tried to change some settings but I never found the cause…)

If you need an example, this is one video that has the problem:

https://youtu.be/LxULrp-UCn8

NB. GoPro Studio (on the same source file) export an MP4 with lower file dimensions and lower quality but when I upload it on YouTube, it doesn’t distorces the video.

Thanks, Rocco


#6

Ok, so that’s not your computer.
Maybe you should produce an example video and send them original + their video treated. they will tell you why…


#7

Have you already seen the video I just linked you in the previous post?


#8

No need to see the video on Youtube in thsis case. It’s means that Youtube degrades it.


#9

Your video footage is naturally very challenging for YouTube to encode because it is complex and noisy due to moving terrain. This means you need to export from Shotcut with higher quality and suffer longer upload times. After selecting the YouTube preset, click Codec tab and change Quality to 80%. Then, click the Other tab and change “preset=fast” to “preset=slow”. Fast means it must sacrifice some quality but this encoder (x264) is so good most people are willing to make that sacrifice in order to get things done quicker. In your case, that is not really a good option. I do not know why GoPro Studio’s MP4 with lower size does not have the same problem, but I can tell you that x264 that Shotcut uses is considered the world’s best H.264 encoder.


#10

Thanks fou your suggestions.

I tested your settings.

Source video specs:
1920x1080 25fps (stabilized by GoPro), duration 58 seconds and file size 212 MB.

Output video specs #1:
1920x1080 25fps, duration 58 seconds and file size 275 MB (@ Shotcut YouTube standard settings)

Output video specs #2:
1920x1080 25fps, duration 58 seconds and file size 604 MB (@ Shotcut YouTube settings with 80% quality and slow preset)

This is the link of video #2:
Sample video

(NB. the test video will be removed next week)

The problem is reduced during the “normal” video flow but when the scenario changes very quickly (for example sun/shadow transition) the “pixel distortion” is the same.

I think it’s not just a problem of “quality” of encoding but also a specific setting because the GoPro studio, with lower quality does not do that.
I want to use Shotcut (because is very good product) but I need to solve this problem!

Regards, Rocco


#11

This is a curious problem. I ride dual sport and have similar footage from GoPro; however, I have never used their software to stabilize. I will see if I can reproduce it.


#12

I made some test today. I found that the YouTube preset from GoPro Studio gives low output quality. It is only 8 Mb/s baseline H.264 (using x264 as well) with a fixed GOP of 30 frames. I did not find a stabilize function in it, but I think you mean in the camera. I have a Session 5, which has that, but I think this detail might not be important unless you did what some online tutorials have you do: upload the video to YouTube, stabilize it in YouTube, and then download that to use in the editor! Are you doing that?

In any case, the heavy compression out of GoPro Studio is going to reduce much noise, detail, and image complexity, which might reduce the work or sensitivity of YouTube’s encoder.

I made a test with a 1 minute clip using the YouTube presets of GoPro Studio (2.5 according to the installed manual, unable to locate version info in the app) and Shotcut v18.08. I do not think I reproduced the problem, but the GoPro upload is worse quality in general:

Shotcut: https://youtu.be/CXbesiPqwD8
GoPro Studio: https://youtu.be/S9OimQXwqR8

You can make a custom export preset in Shotcut that closely resembles GoPro’s setting to see if it works better for you. Click + below the Export presets, give it a name like “GoPro Studio YouTube” and paste the following into the multi-line text box:

preset=medium
vprofile=baseline
coder=0
flags2=-wpred-dct8x8
wpredp=0
movflags=+faststart
f=mp4
acodec=aac
channels=2
ar=48000
ab=192k
vcodec=libx264
vb=8M
g=30
bf=0
sc_threshold=0
threads=0

I suppose another thing to try is to use the Shotcut export defaults but change GOP to 1 and B frames to 0. This might prevent any GOP-related pulsing in the Shotcut output from being compounded by YouTube’s encoding.


#13

Hi Dan,

Thanks for your support.

I use GoPro 5 Session 1920x1080@25 fps with embedded stabilizer.
I will try your suggested preset on Shotcut 18.07.02.

Only for information, I have tested on Shotcut standard YouTube preset,:

  • GOP 12
  • GOP 12 Fixed checkbox checked
  • GOP 15 Fixed checkbox checked
  • Any other interpolation @ GOP 15

and the result on YouTube are more or less the same.

When I whatch other video (at same resolution) on YouTube I never found this problem.
Mi objective is to reach a similar video quality and better then GoPro Studio:

Sample video @ 60 fps

Regards, Rocco


#14

Hi there,

I struggle with YouTube quality too and it really makes me ehm…sad. Local mp4 output from Shotcut is great though.

As my little investigation I cut a short clip out of my 1080p GoPro 6 video as a test sample and then uploaded over 50 various tests in almost any possible combination of quality output, fps, interpolation, codec, gop, bf, preset, used filters etc etc… I used the same clip to see if there is any difference after upload but sadly there is NO improvement at all as YouTube compression is probably unbeatable.

Is there anybody who found out anything that has any positive effect on final YouTube quality? Any export settings, filter that helps YouTube to be more gentle to the clips or anything?

The only workaround I did was to export as fake 4k or at least 1440p to reach the higher bandwidth limit. My 1080p screen then resamples is back while playing but the bandwidth (and quality) is higher.

Many thanks for any ideas!
Jan


#15

According to this old thread I bookmarked, a 4K export (even with 1080p source clips) at a very high bitrate is the trick: Why I transcode to 4K and fast bit rate
(Note that “fast” bitrate is a strange description.)

Consider to use HEVC or VP9 WebM to reduce bitrate/file-size some (60% of H.264 bitrate is a safe level). Previously, I had suggested 80% VBR, and I think that may still apply regardless of video codec choice.

In Shotcut you can make a project at 1080 and export it at 4K as long as you do not use any filters that involve coordinate positions and sizes such as Rotate and Scale, Size and Position, Overlay HTML, Text, or 3D Text (Crop is OK). If you need to use those, then export at 1080 using an intermediate or lossless preset, open the result in the Source player (double-click the completed job to open it), choose it in Export > From, choose a preset, and change the resolution in the Video tab as well as any other export options.


#16

Thanks for your quick reply. I tried x265 and VP9 clips too but YouTube successfully managed to decrease them the same way as any x264.

I googled somewhere the YouTube quality is better when they process your video with VP9 coded…this should be enforced by uploading a video resolution > 1080p…so basically confirms the previous “4K hack” idea.

Personally I feel slightly (very slightly but still…) better quality when exporting as Constant Bitrate at rather high bitrate (30Mbs for 1080p, 50Mbs for 1440p or 70Mbs for 4k). This might be personal feeling though as the difference is barely noticeable.

Anyway I really hope YT will increase the bandwith in the future and will support 265 or something even better