Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!


Most (cost-)efficient solution for video encoding
New on LowEndTalk? Please Register and read our Community Rules.

All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.

Most (cost-)efficient solution for video encoding

StrypStryp Member

Hello everyone!

I have a rather large archive of personal videos, with varying quality and resolution, and of course codecs. Think dash cam, action camera, very old .3gp phone recordings, rather old .avi-s, interlaced .ts-s and simple OBS screen recordings.

I would like to encode all of these videos into h265 and make some optimizations along the way (altering the frame rate etc), but my current VPS-es are horrrribly slow at encoding these, probably because they just aren't the right tools for the job.

My main question is:
Can you recommend a product, service or provider that would be the most suitable for encoding around 160 GB of video files with ffmpeg into h265 that won't take a year?

Comments

  • MrRadicMrRadic Patron Provider, Veteran

    @Stryp said:
    Hello everyone!

    I have a rather large archive of personal videos, with varying quality and resolution, and of course codecs. Think dash cam, action camera, very old .3gp phone recordings, rather old .avi-s, interlaced .ts-s and simple OBS screen recordings.

    I would like to encode all of these videos into h265 and make some optimizations along the way (altering the frame rate etc), but my current VPS-es are horrrribly slow at encoding these, probably because they just aren't the right tools for the job.

    My main question is:
    Can you recommend a product, service or provider that would be the most suitable for encoding around 160 GB of video files with ffmpeg into h265 that won't take a year?

    You'll need some sort of GPU acceleration to do so. Why not just encode locally?

    Thanked by 1Logano
  • yoursunnyyoursunny Member, IPv6 Advocate

    Start a $300 trial at one of major cloud providers, spin up the largest instance allowed during trial, and do the encoding there.

    Thanked by 2bruh21 DeadlyChemist
  • @MrRadic said:
    You'll need some sort of GPU acceleration to do so. Why not just encode locally?

    Convenience. I use my PC whenever I'm awake, and I want to be able to sleep at night (PC in the same room), so I need somewhere else to run it.

  • Paid and fast

    https://www.coconut.co/

    Thanked by 1niknar1900
  • bruh21bruh21 Member, Host Rep

    @yoursunny said:
    Start a $300 trial at one of major cloud providers, spin up the largest instance allowed during trial, and do the encoding there.

    or abuse the hetzner refund/trial thing

  • jeghjegh Member
    edited October 2021

    @MrRadic said:
    You'll need some sort of GPU acceleration to do so.

    It is my understanding that GPU accelerated video encoders usually compromise on video quality in favour of speed. To me it sounds like OP wants the best possible quality out of the encodes, in which case it is better to use a CPU encoder.

    From https://trac.ffmpeg.org/wiki/HWAccelIntro:

    Hardware encoders typically generate output of significantly lower quality than good software encoders like x264, but are generally faster and do not use much CPU resource. (That is, they require a higher bitrate to make output with the same perceptual quality, or they make output with a lower perceptual quality at the same bitrate.)

  • @jegh said:

    @MrRadic said:
    You'll need some sort of GPU acceleration to do so.

    It is my understanding that GPU accelerated video encoders usually compromise on video quality in favour of speed.

    That tallys with my experience with encoding to 264/265 using Handbrake. My GPU's encoder (I have a 1060, 6Gb) is significantly faster for the same filesize output, but the quality is noticeably lower in some places, compared to the software encoders. I assume the GPU's encoder is optimised for interactive use, when you can live with quality drops more than frame drops or latency, for instance when streaming what you are playing.

  • afnafn Member
    edited October 2021

    You don't really need a GPU.

    Get yourself an AX dedicated server for 34€ with ryzen from Hetzner.
    or 6 dedicated EPYC cores from netcup for 30€

    Upload all your files to the server. Prepare some bash /powershell scripts to loop through files and pass them to the encoder. It won't take so long.

    Make sure your never re-encode interlaced videos blindly to progressive without proper de-interlace (depending on what de-interlace filter is suitable for the source).

    Thanked by 1devp
  • djndjn Member

    Rencoding them to x265 will only save space and lose quality unless you are using filters that will be very cpu/gpu hungry and take lots of time even on good cpus

    Thanked by 1devp
  • It seems like that most of your video material is in compressed state already.

    If you reencode you will loose quality. 160GB is so tiny space that I don't think your motivation is to save storage space.

    What is your goal?

    Thanked by 1vimalware
  • afnafn Member
    edited October 2021

    @Baris said: What is your goal?

    He wrote it in his thread! doing some "optimizations" (probably filtering), altering frame rate (for unknow reason to me, but he's free to do what he wants), and I assume from what he said, de-interlacing.

  • PUSHR_VictorPUSHR_Victor Member, Host Rep
    edited October 2021

    @jegh said: It is my understanding that GPU accelerated video encoders usually compromise on video quality in favour of speed.

    That is not true anymore. They do not compromise on quality, and do not compromise much on bitrate either.

    Edit: I am not talking about NVENC, which is sh*t and have always been.

    Thanked by 1AXYZE
  • Upload them all to YouTube and download them back again.

    You'll lose a bit of quality, but it's free!

  • afnafn Member
    edited October 2021

    @ehhthing said:
    Upload them all to YouTube and download them back again.

    You'll lose a bit of quality, but it's free!

    Nice trick! But please do not suggest it again. At least not unless you know what their sources are. OP is dealing with interlaced videos, which YT handles terribly bad.

    Also YT re-encodes are not quality optimized, they are optimized for streaming/low size.

  • Shittylifetip, Go buy a badass laptop or desktop with GPU, convert everything, return it.

    Thanked by 2yoursunny ariq01
  • dev_vpsdev_vps Member
    edited October 2021

    @rajprakash said:
    Shittylifetip, Go buy a badass laptop or desktop with GPU, convert everything, return it.

    The good customers end up paying cost for this. As it increases cost of doing business.

    And, of course, this is wrong morally as well.

    Thanked by 1yoursunny
  • @Stryp, a few Noctua fans and a 240 GB SSD. The benefits are not only for this project, and you will be able to sleep well at nights knowing your personal videos stayed personal.
    If you live in a hot climate and a small room, and that's why you absolutely can't have your pc on at night, then move your setup to the kitchen for a week.

    Likely both are more cost efficient than a convenient remote editing or encoding service with h265 support (if you find one at all).

    @MrRadic said: You'll need some sort of GPU acceleration to do so.

    It heavily depends on @Stryp's config, upload speed and quality requirements. OP could actually finish encoding with ffmpeg settings -c:v libx265 -crf 26 -preset slow -c:a aac -b:a 128k on a 4 core non-gpu accelerated 10 years old 2nd gen Intel Core i5 faster than someone else could finish transfering with a 1 Mbps upload bandwidth. With that speed it's about 15 days of encoding (~8 with fast preset or 30 if the lazy bastard sleeps 12 hours a day with his pc off).

  • @PUSHR_Victor said:

    @jegh said: It is my understanding that GPU accelerated video encoders usually compromise on video quality in favour of speed.

    That is not true anymore. They do not compromise on quality, and do not compromise much on bitrate either.

    Edit: I am not talking about NVENC, which is sh*t and have always been.

    You sure?

    On Kepler NVENC quality wasnt good, but on my RTX2060 its the same quality as CPU encoding in both h264 and h265. Im using NVENC in DaVinci Resolve for quite some time and theres 0 problems.

    Also you can hack GeForce drivers to make mass transcoding faster than any CPU without sacrificing quality https://github.com/keylase/nvidia-patch

    Thanked by 1jugganuts
  • id try using a rasbery pie from someone like dataideas , cheap af and has a built in gpu that will work well enough.

  • PUSHR_VictorPUSHR_Victor Member, Host Rep

    @AXYZE my opinion is based on cards older than the RTX2060, and so is my experience. When I've had to make a decision, Intel's Quicksync was a very clear winner in both quality per bitrate, and FPS per dollar. Even before the 2 stream limit on Nvidia's cards. It has always been possible to remove the limit ever since it was introduced, but it should have never been there in the first place. I hate it with passion.

  • yoursunnyyoursunny Member, IPv6 Advocate

    @james50a said:
    id try using a rasbery pie from someone like dataideas , cheap af and has a built in gpu that will work well enough.

    Hmm, I should stop idling my Jetson Nano.
    It has 128-core GPU, more powerful than a Raspberry.

  • DataIdeas-JoshDataIdeas-Josh Member, Patron Provider

    @yoursunny said:

    @james50a said:
    id try using a rasbery pie from someone like dataideas , cheap af and has a built in gpu that will work well enough.

    Hmm, I should stop idling my Jetson Nano.
    It has 128-core GPU, more powerful than a Raspberry.

    Speaking of RPIs....
    This was posted on my discord.
    Might see a performance increase for the little boards on video stuff.
    https://www.raspberrypi.com/news/vulkan-update-version-1-1-conformance-for-raspberry-pi-4/

    Thanked by 1yoursunny
  • Raspberry Pi video encoder tops at 55 fps for 1080p video, it's not strong. Intel Quicksync can handle a lot more and it's pretty good. GPU servers are too expensive and not worth the hassle.

    Thanked by 2AXYZE niknar1900
  • @dev_vps said:

    @rajprakash said:
    Shittylifetip, Go buy a badass laptop or desktop with GPU, convert everything, return it.

    The good customers end up paying cost for this. As it increases cost of doing business.

    And, of course, this is wrong morally as well.

    Totally agree it's wrong and I'd never do it, thats why I prefaced it with SLPT :)

  • @rajprakash said:
    Shittylifetip, Go buy a badass laptop or desktop with GPU, convert everything, return it.

    There is also a non-shitty way to go about this. Find a good deal on a used laptop, run it 24/7 in your kitchen/bathroom/closet/under-your-bed, then sell it when you're done. If you're lucky maybe you'll even make $20.

Sign In or Register to comment.