You need to do two things. (Note: This is not speculation. I’ve tested it and it works.)
First, you need define
mpv in your
zstyle ':completion:*:mpv:*' file-patterns \
'%p.(mp3|mp4|mpg|avi)(#q^-/):globbed-files:"media file"' '*(-/):directories:directory' '*(#q^-/):all-files:file'
This tells Zsh's completion system that, on the first try, complete only files ending in the extensions specified (with the caption "media file", if you have
group-name enabled). Only if that fails, will it offer directories. And only if that fails, too, offer any other kinds of files. (
(#q^-/) matches only non-directories, whereas
(-/) matches only directories.)
But that's not enough, because the completions supplied with
mpv (and you did install those, right?), also try to offer URLs as completions. To avoid seeing those when there are media files available, add the following:
zstyle ':completion:*:mpv:*' tag-order 'files'
This says that for the command
mpv, it should first try to offer files (which includes everything under
file-patterns above) and only when that fails, offer other things.