What about
#!/bin/bash
find . -type f -name '*.mp4' -exec sh -c 'ffmpeg -i "$0" -c:v libx265 "${0%.mp4}-conv.mp4""' {} \;
1. Posts must be related to the discussion of digital piracy
2. Don't request invites, trade, sell, or self-promote
3. Don't request or link to specific pirated titles, including DMs
4. Don't submit low-quality posts, be entitled, or harass others
📜 c/Piracy Wiki (Community Edition):
💰 Please help cover server costs.
Ko-fi | Liberapay |
What about
#!/bin/bash
find . -type f -name '*.mp4' -exec sh -c 'ffmpeg -i "$0" -c:v libx265 "${0%.mp4}-conv.mp4""' {} \;
Kind of. But this is encoded using CPU and will be time consuming. Search for FFMPEG GPU acceleration. The installation (building) will take some time but the time saved during mass conversion of videos will be worth it. I believe FFMPEG supports RCOM on Amd and Cuda on Nvidia . So any gpu should be fine.
I generally think that for storage/archiving you should use CPU encoding and only use GPU for things like transcoding where real-time results are crucial.
GPU encoding is a lot worse quality than CPU, and you can’t change the settings to what you want. Better to just accept the extra time requirement to get a better result.
This. Also unless you have raw BluRay sources recompressing already compressed video isn't exactly a great idea either way. The space savings will never be worth the loss in visual quality. If you were to retain the quality the space used would probably be similar even with a more efficient / newer codec.
GPU decoding is the way to go, it frees up the CPU to do the encoding so you're still cutting down time without adding GPU weirdness to the output.
I agree with you. With GPU encoding the options to tweak are less and the quality drop is noticeable if the source ain't that great. But if you try to encode a full movie on a weak CPU it's going to take ages.
So, I should not look into enabling hardware acceleration?
I personally would not use it for anything that is being saved on your drive. Using cpu encoder is slower but I just let it run over night or whatever and it will be done later.
Save GPU encoding for when you need it smaller right now like when you are transcoding on the fly.
Thxn i'll have another look into it!
That looks promising. Just keep in mind that this will take a very long time to run. I believe there is a *arr out there that can manage this / show progress, but the name escapes me
I think it's Tdarr you're thinking of.
Or use A FFMPEG script to sort all the x264 videos and keep it in a separate folder and use handbrake with GPU and mass convert all the videos in that particular folder. AV1 is also good but as some other user said, your hardware needs to support it.
I guess newer hardware is cheaper than drives
Just keep in mind you're going to lose quality. Any time you compress something in a lossy format is going to get worse.
Another note, if you're not worried about quality loss, you might look into AV1 over h265. Much better compression. Though, that might not work with your setup.
Thx for reminding me.
Is it ready for prime time already?
Short answer yes. Much longer. More complex answer. Mostly. If you're planning on your devices being able to support hardware decoding and large resolutions/ high frame rates. Sit-top boxes and appliances are not quite there right now. I believe the newer Chromecast HD absolutely supports av1. But most of the older Chromecast including Chromecast TV do not support it directly. So it will have to be re-encoded to be streamed.
That said, the codec itself is fantastic. As an example for animated content, especially. I have some super high quality rips of the old old cartoon from the '80s of the Ghostbusters franchise. We're talking nearly a gigabyte encoded in h264 for a 22 minute episode. At SD resolution. Upscaling them to 720p and encoding them with av1. And a constant rate factor of about 40. They've been coming in between 80 and 200 MB in episode depending upon how much movement there is etc. The one thing with av1 is That as it degrades it sort of smooths everything which works out perfectly for animation most of the time. It can work for live action etc. As well. But you will encounter smoothing as detail is lost. But overall, it is much more preferable to the H style codex so far
I would try making one video into the format you want and see if it plays where you want it.
I use a handbrake container and a watch folder. Just move what you want converted to the watch folder and handbrake does the rest.
That's a great idea!! Thanks!
That's more work at the first glance since it's not just a couple of videos
Check out Tdarr
Agreed. I've converted my library all to 265 using Tdarr, I'm up to 11.5 TB of saved space. I like having all my media be uniform for my Plex server, and Tdarr is a nice and easy tool to achieve it
I did that a long time ago and I was more pleased with unmanic but I've got one job and that's just to convert 264 to 265 which should be straightforward and easy and many people should want this as ee all have limited storage
I use tdarr for my large scale conversions to AV1 but I use shutterencoder for everything else. It's like handbrake but friendly for working in large batches and the UI is really nice https://www.shutterencoder.com/en/ It will add H265 to the end of the name too
Thx, I guess I move to av1 then since many recommend it and say it's ready for prime time
If whatever you're doing works with av1 then I'd say go for it. I do AV1 for Plex since all of my devices can hardware decode, however I keep my own videos at h264 software encoded (for smaller filesizes) since Synology photos doesn't support AV1.
Maybe a script using ffmpeg can be made. For further time saving, do it using ffmpeg hardware acceleration using gpu.
Like this? https://lemmy.ml/comment/7587233
I can't use hardware acceleration as I've got an nvidia card and I wasted already many hours on it. Buying another card and smashing the old one against the wall would be better
Why exactly can't you use hardware acceleration with an nvidia card? We have Arch Linux with a Quadro P400 and using the nvidia driver Tdarr runs super smoothly. The way to get all your content in x265 is just by decoding and encoding, which Tdarr, Handbrake etc can do. But it's one stream per nvenc/nvdec at a time so it takes time.
Thx, i'll have another look into it! I just couldn't make it work
You can use hardware acceleration with nvidia cards and ffmpeg with a 980 or better (YUV420), more info here
Thx, this whole thread tells me to have another look into it. It may have been just me or the wrong guides but I was desperatly searching for a way and couldn't find one.
I have several media libraries so I set up file flows to only perform compression based on a few specific rules. I never used to compress, but 2 years ago I ran out of space and had no money to upgrade disks, so I started compressing, intending for it to be temporary until I could add space. but it became part of my servers automatic setup and it works great.
TV show episodes between 3 and 5gb that aren't already H265 get compressed with RF21 H265, but files over 5gb get RF22. only files older than 6 weeks get compressed to give people a chance to watch them in original quality. the compression flow also includes making a stereo aac downmix audio track for added compatibility. so anything that is already H265 or low bitrate is left untouched to avoid unnecessary compression.
Movies get a similar treatment and H264 files under 5gb are ignored, 5-20gb gets RF21 and 20gb plus gets RF22. All of this is done with 10bit H265 as it tends to look a little better. the amount of compression I;m doing is pretty small, a 3gb TV show for example might end up being 2gb or so, and a 30gb movie will usually end up around 12-15gb at most. I could push harder, particularly for movies but I don't see a need as i've saved 13TB so far with this setup.
If sonarr/radarr download new versions of something (a TV show gets released on bluray for example) it will go back into the loop and get compressed again, but now it will be a higher quality.
4K shows and movies are always left untouched, they are in a separate library and are only accessible to certain clients.
I use ffmpeg batch AV converter, you can convert multiple files automatically, its great for that.
I've made several, what are your needs?
Got one ready made for that but I'm not where the script is atm, I'll post it later tonight. It can be used directly or as a gnome/cinnamon context menu script, one or many files at once.
You can do that fairly easy with a simple bash script and ffmpeg or bat