Jump to content

Efficient Encoding for Web NOT streaming.

Go to solution Solved by mariushm,

Use Opus audio, 64-80 kbps stereo will be fine for voice and even music, equivalent of 128 kbps mp3.

 

For lots of static content, even x264 can do a great job, if you use the right command line parameters ex --tune stillimage , using constant quantizer instead of bitrate , etc etc

 

At 1.5 hours, audio alone is 64 kbps x 90 minutes x 60 seconds = 345,600 kbps = 43,200 KiB  , 96 kbps would be around 60 MiB.

 

You may find you get better quality resizing 1920x1080 to 960x540 using the right resize algorithm, instead of 480p, otherwise resizing could introduce rounding artefacts that make the video harder to compress (use more bits to encode those visual artefacts caused by resize)

 

It would be interesting if you could upload a sample as uncompressed / original as possible  as possible to your google drive or somewhere to play with it... maybe something like 10-20 minutes of 1080p content.

 

But seriously ... you're making them at work , for work... don't you have some network share or something, or can't you set up a local server to serve the videos? Buy a 10-15$ domain, set the dns record to a local network IP, and serve the videos from within the network.

 

Loosen the file size, use a standard x264 / VP9 / HEVC codec so users could also watch on mobiles if needed... 

 

The State of Video Codecs in 2024

The State of Video Codecs 2023

 

 

I am trying to make tutorial videos at work. Sometimes they can be up to 2 hours long in 4k. Sometimes 1080p, and on rare occasions lower. Also doing video reviews of work though often those can be quite low quality 480p. They are shared usually on slack and are done in response trying to get team members same day solutions.

This means the videos must fit under 1gb.

What is the best encoder/settings for each of the listed scenario, and then additionally how can I accelerate the encoding?

System:
GPU 3060ti
CPU 5600x
Ram 64gb ram

Main Problem Scenario:
1080p Tutorial 1.5hrs long. UI/Spreadsheet text important.
Current Method:
Handbrake AV1 (SVT) (not 10bit) custom preset
1920x1080 30fps web optimized mp4 preset 4 with variable bitrate multipass with a target of 4k Mono audio at 96 
Results: Excellent but it takes hours.

Bonus Scenario:
Fast review
480p 15-30minutes ui/spreadsheet text NOT important.
Current Method:
Stock .265 480p web preset reduced to 30fps.
Results: good but it feels like it uses up too many MB. Fast to encode at least.

The bonus scenario is fine~ but the 1080p tutorial scenario isnt. Can't wait 4hours to process and get back to work... are there better settings? a better encoder? is getting a cheap arc gpu going to make it fast enough? It's not being streamed its being downloaded off slack so 1gb is a hard limit. I know I can use google drive but I also don't wanna wreck hard drives and buy drive space if I don't have to. Going to youtube isn't an option because its sensitive materials, even on private im not going to do that.

Link to comment
Share on other sites

Link to post
Share on other sites

Use Opus audio, 64-80 kbps stereo will be fine for voice and even music, equivalent of 128 kbps mp3.

 

For lots of static content, even x264 can do a great job, if you use the right command line parameters ex --tune stillimage , using constant quantizer instead of bitrate , etc etc

 

At 1.5 hours, audio alone is 64 kbps x 90 minutes x 60 seconds = 345,600 kbps = 43,200 KiB  , 96 kbps would be around 60 MiB.

 

You may find you get better quality resizing 1920x1080 to 960x540 using the right resize algorithm, instead of 480p, otherwise resizing could introduce rounding artefacts that make the video harder to compress (use more bits to encode those visual artefacts caused by resize)

 

It would be interesting if you could upload a sample as uncompressed / original as possible  as possible to your google drive or somewhere to play with it... maybe something like 10-20 minutes of 1080p content.

 

But seriously ... you're making them at work , for work... don't you have some network share or something, or can't you set up a local server to serve the videos? Buy a 10-15$ domain, set the dns record to a local network IP, and serve the videos from within the network.

 

Loosen the file size, use a standard x264 / VP9 / HEVC codec so users could also watch on mobiles if needed... 

 

The State of Video Codecs in 2024

The State of Video Codecs 2023

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

39 minutes ago, Naveronasis said:

Handbrake AV1 (SVT)

Well there's your problem. 30 series doesn't support AV1 encode. 

5950X/4090FE primary rig  |  1920X/1070Ti Unraid for dockers  |  200TB TrueNAS w/ 1:1 backup

Link to comment
Share on other sites

Link to post
Share on other sites

2 minutes ago, OddOod said:

Well there's your problem. 30 series doesn't support AV1 encode. 

That is a software encoder, so it won't use the GPU not matter the hardware/settings. 

 

What preset are you using in SVT-AV1. Try setting a higher preset for faster speeds.

 

how many fspa re you getting when ecoding?

 

You can try tweaking svt-av1 settings, but if you want high quality and small files the encode is gonna take a while.

 

Why do you need to be exactly 1GB? I'd post it as unlisted on Youtube or host it some other way so that filesize doesn't matter as much.

Link to comment
Share on other sites

Link to post
Share on other sites

Neither of you really read the original post. Ill rephrase. It is a 2 part problem. We need to first solve problem one, which then creates the conditions for problem 2.

Problem 1:
I need to fit the most video quality into 1gb as possible. This is a hard limit, don't suggest a work around like youtube. What is the best encoding settings in handbrake, does not have to be AV1. I don't care how long it takes.

Problem 2:
Okay so the answer to problem one is probably actually "it takes too long" so now that we have the answer to problem 1. How do we keep the solution and change the hardware to make it faster? Better CPU?, better GPU? Companion Encoder? (aka second arc gpu for av1?) More threads? More Ram? etc. At this point things like "well av1 mode -1 is best, but there is only a 5% size difference and 90% speed difference jumping up to mode 3" can be entertained.

Edit: except mari, they read the OP.

Link to comment
Share on other sites

Link to post
Share on other sites

17 hours ago, mariushm said:

Use Opus audio, 64-80 kbps stereo will be fine for voice and even music, equivalent of 128 kbps mp3.

 

For lots of static content, even x264 can do a great job, if you use the right command line parameters ex --tune stillimage , using constant quantizer instead of bitrate , etc etc

 

At 1.5 hours, audio alone is 64 kbps x 90 minutes x 60 seconds = 345,600 kbps = 43,200 KiB  , 96 kbps would be around 60 MiB.

 

You may find you get better quality resizing 1920x1080 to 960x540 using the right resize algorithm, instead of 480p, otherwise resizing could introduce rounding artefacts that make the video harder to compress (use more bits to encode those visual artefacts caused by resize)

 

It would be interesting if you could upload a sample as uncompressed / original as possible  as possible to your google drive or somewhere to play with it... maybe something like 10-20 minutes of 1080p content.

 

But seriously ... you're making them at work , for work... don't you have some network share or something, or can't you set up a local server to serve the videos? Buy a 10-15$ domain, set the dns record to a local network IP, and serve the videos from within the network.

 

Loosen the file size, use a standard x264 / VP9 / HEVC codec so users could also watch on mobiles if needed... 

 

The State of Video Codecs in 2024

The State of Video Codecs 2023

 

 

I used this, along with H.265 to improve encoding time and it seems to be the best balance of speed and quality and file size... for now 😮 I still wonder how much faster av1 would be with an arc gpu laying around... some day maybe ill know.

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×