Yes, there is.
For context, a video's size is determined by its bitrate. Bitrate measures how much visual and audio data the file stores for each second of animation.
You can check a video's bitrate in its properties. That number multiplied by its length in seconds is the biggest contributor to the file size.
You have three options. Two to reduce the rate, one to reduce the length.
Be sure to back the original file up somewhere you won't tamper with it by accident.
Then, two things you can do are to re-encode/re-render it to just below 100 MBs, which is the upload limit. Both would cause a sharp drop in quality, so you would want to reduce its resolution to compensate.
I'd recommend HandBrake for the former and kdenlive for the latter.
This can take Ages, especially if you want to squeeze out as much quality from your file size as you can by setting the encoder slider to placebo mode.
In HandBrake, you will want to turn all the filters off. Then match the framerate to the source file.
You Really do not want to recompress the sound, so set audio to Passthru if possible. If not, that sucks, but you can avoid quality loss by setting it to FLAC, for a worse bitrate, or use some dark magic to pass the original sound on another way.
Finally, set compression to use average bitrate, then do some math to determine how much smaller the rate has to be, and write the resulting number in. It should be around 30% of the original rate.
Note that even the Computer won't exactly know what the output size will be at the end. it will just Aim for the number you set for it he best it can. You may need to do this multiple times.
You can use this site to find compatible resolution sizes:
bneijt.nl/pr/resolution-scale-calculator/And this site, while a bit outdated(the compression and quality is better these days than its projections), can help with understanding how the math adds up.
www.silverjuke.net/public/misc/bitrate-calculatorThe other, and to you, more preferable method would be to cut it into manageable pieces. If done properly, this preserves the quality, and it will be done in seconds.
LosslessCut can help you there. It is usually clean, especially with newer videos, but off-by-one errors are always possible. Double check if each cut occurred at the correct frame. Correct if it did not.
Without knowing what format the video is in, I cannot tell you what the settings for LosslessCut should be. I can tell you to check the keyframes first, using the key-shaped buttons at the bottom.
If there are nice, clean chapter or keyframe spots to cut, over fades to black or scene changes, that sort of thing? Then just set it to keyframe cut mode. Otherwise you might have to fuck around a bit or ask for more advice.
Combine the methods as necessary to get the result you want.