Context: I’m currently using an older Samsung phone to convert h264 dashcam videos to HEVC/h265 to save space. These are many, 10 minute long videos, and the process is incredibly labour intensive, since I have to do each one manually.
The conversion itself is really fast (maybe 2-3 minutes), and the results are excellent (usually half the size with the same quality).
Question: Is there software for Linux that can convert at similar speeds, preferably batched? Handbreak has been incredibly slow.
Caveat: I’m using a Framework 13 (11th gen Intel) laptop with an Intel integrated graphics card, so I can’t really leverage that in the same way a dedicated GPU can be. But still, I can only imagine that my laptop should be able to outperform my super old phone! LOL
I’m not really looking to compress the videos (I’ve experimented, and the quality loss from an already “poor” source just doesn’t cut it). HEVC/h265 conversion would be ideal.
Is there anything else I can try?
ffmpeg is usually the tool of choice.
An example for batch converting of all AVI videos in a folder:
for i in *.avi; do ffmpeg -i "$i" "${i%.*}.mp4"; done
Source & further reading here on StackOverflow. The comments to the answer provide examples of how to explicitly tweak the quality level. Inverting what this specific comment suggests, conversion from H264 to H265 could be done by something like this, assuming all your videos’ names end on
.mkv
:for f in *.mkv; do ffmpeg -i "$f" -map 0 -movflags faststart -c:v libx265 -c:a copy -c:s copy "${f/x264/x265}"; done
I wonder: if one wants to make things run in parallel, would that be as easy as adding
" & "
before the last semicolon here? I suspect this could work as long as there are only a few handful of files, but lead to troubles once there’s more.