Alternatively, you could just skip case conversion for whole words that are written entirely in uppercase. The functions don't correctly convert uppercase words right now anyway. If someone has the habit of writing their video file names all in caps, they'll have a problem, but they already do in any case.
Yes, that would work. But I've seen packs where "cg" or "rcg" were lower-case, that's why I thought about a list of "special" words with correct spelling and casing.
If I was writing this function, I would simply iterate through the filename one character at a time until you hit the first valid letter (ie. not a number, punctuation or special symbols. Only the letters A to Z count). Then I'd strip everything up to the iterator from the string. This would handle all cases, but would also require that no file names actually need to start with a number. A perfectly valid name like "69" might have to be re-added by hand after running the function, but that's a small price to pay for a bit of important automation.
I've thought a bit about the problematic packs/positions, if I remember correctly, they only contained digits. But, as you said, let's just have a better overall automation. I'm going to change this.