Displaying a text field for the user to embed media, and then enabling rating (fivestar) for that content; listing all of them as separate writings
Why don't you just let your users create a node with this field and a fivestar widget and then you use node_view() to display these nodes in your page.  

Updated:
To embed the node form in a page, have a look at Embedding CCK content type create form in your page, then create a block and put this code in it (select the php format - you have to activate the php filter module first):

if(!function_exists("node_object_prepare")) {
  include_once(drupal_get_path('module', 'node') . '/node.pages.inc');
}
print node_add('store_review');  //put the content type machine name here.


Then on another page you create a view to retrieve the listing of your videos.  

You can also have a look at the Blockify module it may be useful to embed the node form (I'm not sure it'll do the job but can be easy if you're not comfortable with embedding PHP code in a block).