2024-04-15, 04:54 PM
Handbrake is fine? It's not nearly as flexible as raw ffmpeg and you have the additional overhead of a GUI if you run it that way (there is a Handbrake CLI).
With ffmpeg I can run a short test clip with a couple of flags (-ss 300 -to 10 would seek to 300s in the file and encode to the 10-minute mark), batches are much easier IMO, and I went from wanting to blast my media with a shotgun encoder (e.g., tdarr, Unmanic, automated Handbrake) to carefully considering each piece of media. For example, I've had AV1 encodes where the final file size of a 4K HDR film is less than 8 GB and that's easy for me to catch when I don't automate. For me, flexibility and clear information about what you're doing are huge wins for ffmpeg, but the learning curve for Handbrake is WAY lower. You have to read the documentation for ffmpeg, it's often wrong (e.g., pretty much the entire av1_qsv encoder section is wrong), and it's ALWAYS less information than you need when learning...even with those shortcomings, I have been able to accomplish more with ffmpeg than I ever have with Handbrake.
Additionally, I can change metadata and mux with ffmpeg (although MKVToolnix is better for both) or set metadata while I'm encoding. With Handbrake, you're tied to the settings they choose to expose as well as the version of encoder/decoder they include. In the meantime, I wrote a quick and dirty bash script to compile any version of ffmpeg I want with the flags and dependencies I need, which has come in handy while troubleshooting QuickSync AV1 encoding.
With ffmpeg I can run a short test clip with a couple of flags (-ss 300 -to 10 would seek to 300s in the file and encode to the 10-minute mark), batches are much easier IMO, and I went from wanting to blast my media with a shotgun encoder (e.g., tdarr, Unmanic, automated Handbrake) to carefully considering each piece of media. For example, I've had AV1 encodes where the final file size of a 4K HDR film is less than 8 GB and that's easy for me to catch when I don't automate. For me, flexibility and clear information about what you're doing are huge wins for ffmpeg, but the learning curve for Handbrake is WAY lower. You have to read the documentation for ffmpeg, it's often wrong (e.g., pretty much the entire av1_qsv encoder section is wrong), and it's ALWAYS less information than you need when learning...even with those shortcomings, I have been able to accomplish more with ffmpeg than I ever have with Handbrake.
Additionally, I can change metadata and mux with ffmpeg (although MKVToolnix is better for both) or set metadata while I'm encoding. With Handbrake, you're tied to the settings they choose to expose as well as the version of encoder/decoder they include. In the meantime, I wrote a quick and dirty bash script to compile any version of ffmpeg I want with the flags and dependencies I need, which has come in handy while troubleshooting QuickSync AV1 encoding.
Jellyfin 10.10.0 LSIO Docker | Ubuntu 24.04 LTS | i7-13700K | Arc A380 6 GB | 64 GB RAM | 79 TB Storage