Artifacts in the video sequencer

Hello, I’m having an odd issue with making a vertical 4k video (2160x3840)

Whenever i render the image sequence to make the video using mp4 i get those horrible artifacts

But if i create the video using mkv as the container instead of mp4, the artifacts go away, so I’m wondering if this is a bug with the blender video sequencer or does mp4 have issues with vertical 2160x3840 videos?

I don’t know what caused it, but I’m pretty shure I know what it is: Missing I-frames, causing the following P/B-frames to move old image material.

Video compression is an amazing topic, but generally, Each time there is a cut or at set intervals, there will be a Frame containing Image information. The rest of the frames from then on will be only so-called “p”- or"b"- frames, which only have vector information in them, essentially telling the Media Player where to move/warp the image from the I-Frame, loading in extra image information where needed. No I’m not kidding.

If the new I-Frame is missing, or you remove it, this happens:

This is a well-known technique in Glitch-Art, called Datamoshing.

Here are the motion vectors of a p-frame, visualized.
You can tell that where there’s motion blur in the footage, the vectors are the longest, indicating faster movement.

Motion-vectors-on-the-football-test-sequence

So, all in all, blender seems to have trouble correctly encoding the frames for mp4.

Maybe you can check the files you output with a program called AviDemux, however make sure you get Version 2.5.6 or earlier.

With it, you can go through a video frame-by-frame and see whether it’s an I, P, or B-Frame and rule or single out this problem.

Hope this helps a bit along the way

3 Likes

Thanks for the detailed explanation, the video works fine in Avidemux and also seems to fix itself when I upload it to imgur, i guess when they re encode it on imgur the new file gets fixed, but the issue is still there if i play it locally using vlc or mpc,

i have to send those videos to a gallery for local display on TVs so I’ll just play it safe and use mkv, because I don’t have enough time to figure out why mp4 has those missing vectors, here’s the file if you want to troubleshoot it yourself for curiosity

[edit, just as I finished finishing writing this comment one of the mkv files started having the same artifacts, so it’s not only mp4)

1 Like

image

Found a solution, it seems like it is related to keyframe intervals, i set it to 0 and the artifacts were completely gone, the file size become 80mb but I’m willing to sacrifice the size to make sure it has no artifacts

2 Likes

Phew! That’s hefty.
Essentially, 80 1MB images stringed together.

You could try to play with the maximum B-Frame interval to make sure it gets enough new image info at the critical time markers. Setting it to 8 Should make your Video like 12-15 MB, while I’m guessing it would still be working.

I can’t try it out cause I’m at work, but thanks a lot for the file!

1 Like

Yes I could get best of both worlds by playing with those numbers to get the file size to be a more reasonable 20 to 30 mb but I didn’t want to risk it with the display in the gallery so I went with the safe solution of having 0 keyframe intervals, this solution will probably not work with long videos because it would bloat the size to insane numbers but with a short loop 80mb is fine

it’s a very interesting problem and I learned a lot by troubleshooting it, i wonder if it’s worth making a bug report to the blender foundation, i think this issue will appear for everyone making vertical 4k videos

2 Likes

Indeed a “good” find!

Do you know, on the device you will play it at, whether the “uncompressed” 80MB will play with better performance than the compressed version, since the latter technically has to be “more rendered” in realtime?

Technically the 80MB should be less processing but then again the mass of data in such a short time is way bigger…

1 Like

It will be a regular TV, probably plugged into a laptop or any regular media player, i assume 80mp won’t be a major issue since 4k movies usually hit that high bitrate often without problems

here’s the video loop details

image

I also made an official bug report in case someone runs into this issue in the future
https://developer.blender.org/T101432

1 Like

Final update, turns out it’s an issue with my GPU, because if I turn off hardware acceleration the artifacts go away :man_facepalming:

1 Like