Looks like you need to do a lot of customization:-
How and where to store the video files : Store these files in DAM
How to preview the video in RTE? : You need to integrate some available video player in RTE to which you will be passing selected path to video
How to define the video size limit : Once the path is selected by user, you can have ajax call to find it size if its more than what you want you can deny that path.
Question:
Why don't you just use normal fields for video details instead of RTE as it will save your time