datahoarder
Who are we?
We are digital librarians. Among us are represented the various reasons to keep data -- legal requirements, competitive requirements, uncertainty of permanence of cloud services, distaste for transmitting your data externally (e.g. government or corporate espionage), cultural and familial archivists, internet collapse preppers, and people who do it themselves so they're sure it's done right. Everyone has their reasons for curating the data they have decided to keep (either forever or For A Damn Long Time). Along the way we have sought out like-minded individuals to exchange strategies, war stories, and cautionary tales of failures.
We are one. We are legion. And we're trying really hard not to forget.
-- 5-4-3-2-1-bang from this thread
view the rest of the comments
I sort of did this for some movies I had to lessen the burden of on the fly encoding since I already know what formats my devices support.
Just something to have in mind, my devices only support HD, so I had a lot of wiggle room on the quality.
Here's the command jellyfin was running and helped me start figuring out what I needed.
From there I played around with several options and ended up with this command (This has several map options since I was actually combining several files into one)
If you want to know other values for each option you can run
ffmpeg -h encoder=h264_nvenc
.I don't have at hand all the sources from where I learnt what each option did, but here's what to have in mind to the best of my memory.
All of these comments are from the point of view of h264 with nvenc.
I assume you know who the video and stream number selectors work for ffmpeg.
-preset
,-profile
and-level
options to your quality and time processing needs.-vf
was to change the data format my original files had to a more common one.-rc
and-cq
options is what controls the variable rate (you have to set-b:v
to zero, otherwise this one is used as a constant bitrate)Try different combinations with small chunks of your files.
IIRC the options you need to use are
-ss
,-t
and/or-to
to just process a chunk of the file and not have to wait for hours processing a full movie.There's no need to have a GPU or a big CPU to run these commands. The only problem will be the time.
Since we're talking about preprocessing the library you don't need real time encoding, your hardware can take one or two hours to process a 30 minutes video and you'll still have the result, so you only need patience.
You can see jellyfin uses
-preset veryfast
and I use-preset p7
which the documentation marks asslowest (best quality)
This is because jellyfin only process the video when you're watching it and it needs to process frames faster than your devices display them.
But my command doesn't, I just run it and whenever it finishes I'll have the files ready for when I want to watch them without a need for an additional transcode.