Have the users create an account first.
Suppose someone puts a lot of effort into an submission, before having created an account. If, for some reason, your server goes down, or they lose internet connection, or their computer catches on fire before they are able to create their account, they have now lost their entire draft. Depending on the amount of effort it took to write the first time, they may choose to simply abandon their pursuit, and your service.
On the other hand, if they are logged in, you may preserve their drafts for them automatically every so often so that should they need to resume their work at a later time or from a different computer, you can recover it for them.
Additionally, users expect to create an account when contributing content online. It's hard for me to think of any services that allow me to submit public content that don't require me to first sign up or log in.
This, incidentally, also has the significant benefit of providing you with control over who has access to that portion of your services, thus reducing your exposure to casual sabotage. You mention video uploads, which can take up quite a bit of bandwidth—if a user doesn't even have to be logged in before requiring those resources from your servers, you may take a performance hit from people who have no intent to ever create an account.