I have tested this in Ubuntu, in which rename (using debian alternatives system) is a perl script (prename), comes with perl package.
You can use renameprename with find:
find . -type f -name '*\?*.mp4' -exec renameprename -n 's:(.*/[^?]*)\?(.*$):$1_$2:' {} +
renameprename -n will show the files that will be renamed, if you are satisfied with that run the command with removing -n (i.e. renameprename 's/\?/_/').