my video quality isnt good at all... is this normal

when i turn an image sequence in to a video format it just ruins it do you guys know of any better ways of doing this
all i do is select the h.264 and render it out


Banding is visible in the first two vids but for the rest it’s truly hard to say if they look ok or not.
A few things to look out for:
#1. the format of the stills you render. PNG is the way to go, wouldn’t recommend jpegs. Tiffs (and even EXRs) are better options than PNGs but that would be over the top really. Of course, it all depends on what you’re going for.
#2. the h.264 codec is not lossless, ergo the stills will be compressed to make the video stream.
#3. the default bitrate for h.264 (i.e. 6 mbps) might be optimal for SD but not for HD which is the resolution you’re using.
#4. when you upload the video to youtube it will re-compress it. You have to take that into consideration when designing your rendering/distribution pipeline. It might be a good idea to turn the bitrate up so as to compensate for the re-compression that your video data will be subjected to for youtube hosting.

I’m wondering if you notice the same quality loss when you play back the video you rendered on your system compared to what you see on youtube.

yeah the quality of the video before i upload it is just ruined… and youtube amplify it just a tiny bit

You can crank bit rate up now much higher (over 6mbp) than standard default. But there is still an issue with the first few frames being more heavily compressed, sadly not all of ffmpegs controls are exposed in Blender.
H264 codec is an older version in Blender I think and is single pass, hence poor quality. Better to recompress elsewhere if quality is main concer

Well, if the quality is low even before you upload, then there’s obviously an issue with the initial compression. There are a couple of ways of approaching this.

First, at least double the bitrate as suggested by 3point above. There is no guarantee that it will solve your problem but it is highly likely. There’s trial and error involved here.

Second, render out to a lossless codec such as HuffyUV. The file size of the output will be huge but it will be uncompressed. Then you can use the system ffmpeg (if you’re on Linux) or WinFF (if you’re on windoze) to compress it however you like.
The following guides give you an overview of the various available ffmpeg encoding options:

You can also use other apps such as handbrake or Avidemux (also FOSS) but you’ll have to make sure that they can import the container/codec combo of the former step.

Again, regardless of which encoding settings you choose, bear in mind that your video will have lower visual quality on youtube at the same resolution (say 720) because it will be re-compressed. It will look ok at lower resolutions though.

my quality before compressed into video is very good i have been using h.264 lately with lossless output and it look great

Glad you could get it to work but could you please elaborate so that others might learn from it?
For example, what do you mean by “h.264 lossless”? HuffyUV?

Lossless h264.

i always turn the bitrate up little to about 10000-20000
this will render out to a .avi file :stuck_out_tongue:

For delivery lossless h264 is a bit of a sledgehammer approach. Encoding using x264 externally would allow use of presets like ‘animation’ for a ‘quick fix’ starting point, then fine tune maybe with far more parameters exposed than in blender.

When was this lossless option added?!
I agree that it might be an overkill for delivery but on the other hand it’s great for archiving so it’s really good that it’s available.
I wonder how it compares to img sequences for masters though.

Better than image seq and lossless avi as you can add sound.

I don’t think blenders ‘lossless’ h264 option is anything to be excited about, it can be a bit misleading in the context of rendering out content because although the compression maybe lossless the process isn’t. Lossless h264 from blender is 8bit 4:2:0 YCbCr not RGB, not 4:4:4, not 10bit, color information and accuracy has been lost from the original RGB rendered frames by chroma subsampling.

I doubt lossless h264 for delivery will even playback smoothly on a lot of hardware if it’s even supported by Apple QT based players out there on the internet or hardware media players, but useful as an intermediate workflow where 4:2:0 is the source and destination. Like in a proper NLE. :slight_smile: jk

And with regard to the idea of getting lossless video edits out of blender is misleading too, because as soon as a YCbCr video is imported into Blender its converted to RGB bt ffmpeg at 8bit and that color space conversion is not lossless and even worse screws with levels giving everything more contrast, crushing shadows to black and compressing highlights to white.

The only consumer camera formats that stand any chance of getting anywhere near lossless workflow in Blender is the Panasonic GH2, GH3 in AVCHD mode not MOV, Canon and Nikon DSLR h264 in a MOV. As the last two are JFIF/jpeg based and therefore treated by blender as ‘RGB’ levels, not YCbCr.

The GH2 / GH3 in AVCHD capture into 16 -235/240 levels so conversion to RGB is ‘standard’ but again not lossless. If you know your camera has a ‘broadcast’ or similar shooting mode capturing into 16 -235/240 levels then ok.

If we want to do ‘lossless’ encoding from RGB rendered frames to an intermediate, backup or archive then blenders FFmpeg ffv1 in a matroska or avi container would be ‘better’, from blender this stays RGB. Although the encoding looks like it’s totally stuffed up from blender at least in the recent build I’m using.

x264 also offers 10bit and 4:4:4 encoding with lossless compression too and might as well add FFmpeg/LibAV’s Prores (HQ, LT and Proxy) in there too, libav certainly does anyway but non are exposed in blenders render interface, no option to create custom render profiles because I think general developer opinion is ‘make it easy, most won’t understand or want to mess with lists of parameters’ , those that do can render to png and encode outside of blender to their hearts content, fair enough but anyone out there that has custom render profiles to offer in order to copy/paste into a custom render profile editor in blender IF SUCH A THING EXISTED would allow others more encoder options.

Blender can also frameserve 8bit RGB out to an external encoder to give far more options.

Hopefully frameserving is still available, there was an over eager dev wanting to remove it because he didn’t use it or know how to or understand the purpose of it. So much easier to remove code than add it, like a custom render profile option for example. jk.

Whether to use image sequences and then png not jpg for similar reasons to above or to use a ‘mezzaine’ like high bitrate lossless intermediate really depends on the user.

For backup whilst project is in progress for scenes completed it would image sequences, OpenEXR, 16bit Tiff, 8bit png. To archive a project when no more is likely to be done then a decent ‘mezzanine’, an encoded YCbCr video whether that be 10bit 4:4:4 lossless or high bitrate 4:2:0 h264, really just need the archive for posterity and or in case any further output for other devices or lower resolutions for web, mobile etc is required. Far quicker to do a decent transcode to lower res/ other format from a decent mezzanine then directly from the blender project, depending on complexity of project.

btw OP posting embedded multiple videos to a thread really slows it down and crashes mobile devices. A link to the files is better for anyone who may be interested.