Is there a way I can upload a video file (mp4) as a learning object and the students can view it over a player? I would like to restrict the video for the subscribed course only and do not wish to use a URL from vimeo or youtube.
The best option for you is to create an html page and use the integrated tinymce html editor.
It has a button for embedding media, that you can use either to embed URL's or to upload a video file.
The video will then be viewable over the embedded player.
I also suggest you not to dismiss youtube: you can easily set the video as "not listed" and use its url nonetheless for embedding into the html page. Nobody will know that the video exists and it won't be searchable.