Selfhosted
A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.
Rules:
-
Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.
-
No spam posting.
-
Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.
-
Don't duplicate the full text of your blog or github here. Just post the link for folks to click.
-
Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).
-
No trolling.
Resources:
- selfh.st Newsletter and index of selfhosted software and apps
- awesome-selfhosted software
- awesome-sysadmin resources
- Self-Hosted Podcast from Jupiter Broadcasting
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
view the rest of the comments
I converted all my ripped Blu Rays over the past couple of weeks. I just used ffmpeg. It took a a while to find the right options to keep subtitles and multiple audio channels and such, but eventually I got it all perfect.
I found that using my GPU made the quality absolute shit. It was about 3x faster than using my CPU though.
Do you maybe have the command line for it? Looking to do something similar myself.
If you're actually ripping bluerays, I would highly recommend using MakeMKV. It's technically paid software but while it's in beta you can can a free license key from their forums. BluRays can be formatted oddly and include a bunch of crap you probably don't want (preroll ads, etc), so when I tried to rip one with jusy ffmpeg it was a pain, but MakeMKV deals with most of that for you and gets a 1-to-1 copy of the movie files + anything like captions and alternate audip tracks.
I put it in a script, so I'll need to check my server later.
Do we have a remindme bot here?
Not as far as i know, consider this my reminder, I guess? 😅
Your reminder worked! Here is the command I used. I put it in a script, and would pass it the file I wanted to convert.
ffmpeg -i "$1" -vcodec libx265 -crf 28 -map 0 -c:s copy "${1%.*}.h265.mkv" > ./convert_logs 2>&1 < /dev/null &
If I called this script
convert_to_h265.sh
, I would call it withconvert_to_h265.sh some_video.mkv
Here is an explanation for the options I used:
ffmpeg
is the command-i "$1"
is the input file. In this case, the argument to the script-vcodec libx265
is specifying the plugin to use as libx265-crf 28
is specifying the quality/compression rate. I found this one to be pretty acceptable-map 0
makes it select ALL audio tracks and ALL subtitle tracks-c:s copy
copies subtitle tracks"${1%.*}.h265.mkv"
specifies the output file. In this case, everything up to the last dot, then replace the extension with '.h265.mkv'> ./convert_logs 2>&1 < /dev/null
tells the program to output to a log file instead of writing to your terminal. It also sets the input to nothing, and without that, it won't work in a script for some reason.&
tells the whole thing run in the background so it doesn't hold up your terminal. You can even close your terminal and do other things and check back on it later.You can monitor the progress with
tail -f convert_logs
If you want to get fancy, you can even put this in a loop to run on all the files that end in
.mkv
in the current directory:And if you want to get mega fancy, you can have it run recursively for all files that end in
.mkv
in the current directory and all files in all child directories.If you do either of the latter two, I would put it in a script. Let's call the first one
convert_all_to_h265.sh
and the second oneconvert_all_to_h265_recursively.sh
. Call them withconvert_all_to_h265.sh &
andconvert_all_to_h265_recursively.sh &
if you want to run them in the background.You also might want to play around with the
-crf 28
value if you want more compression or more quality. The lower the number, the better the quality. It needs to be a value between 0 and 51.Dude this is the most thorough explanation of a single command line I've ever had!
Thanks for the effort, and the line itself.
I put a hours of research into this, and I felt like documentation was difficult to understand, so I wanted to pass along what I've learned! I hope it works for you.