Ability to configure where videos uploaded

Hello, currently in pro plan I would like to offer my users the possibility to upload videos but the storage offered by the plan is no sustainable for video storage so I would like to use mux or any other valid provider of this service without have to leave here and go self - hosted or upgrade plan at the moment too expensive for me. Any help on this?

While you cannot install custom plugins, theme components are allowed on most hosting tiers. I think @Arkshine fixed the Vimeo and YouTube upload theme component. It’s currently still tagged as broken, probably because those changes aren’t yet in the original component. You can try the version from this post.

3 Likes

ok, maybe now works

users to upload videos this way they have to find a small icon is not direct from the main button.. I will see how to fix

Just for information about this TC. I did not made a new topic yet because:

  1. The new vimeo per-user auth — while it works for the owner of the app, it will not on others because it’s gated behind a partnership requirement. “Your app can upload to other Vimeo accounts as part of the Vimeo Partners program.”. I was late to learn this. I don’t know if anyone can apply, I was going to try.

  2. Vimeo with a shared account – With a TC, it might be a security issue since you can extract the token. It was the case before, but with the per-user auth new method, I would have recommended to not use anymore a shared account. However because of 1. I’m thinking I should probably make plugin version instead (a shared account has still real usage case)

For youtube and vimeo per-user (with partnership enabled) only, the TC should work great!

1 Like

yes, but the point for me is to enable other users from my platform to upload without asking them to have an account on vimeo or youtube

Then Vimeo with shared account (so everyone uploads to your account) is likely what you want. However, I would strongly not recommend to use the TC version unless you have a closed/private forum. If you give some time, I will make a plugin version of my TC so the vimeo token won’t be a security issue (edit: though I’m not sure you are allowed to upload custom plugins with discourse hosting plans ::sweat_smile: )

1 Like

They won’t be able to use that on Discourse’ Pro plan.

1 Like

Yes, I was editing my message. Well, we are a in pinch. :sweat_smile:

yes I cannot upload custom plugins with pro plan but .. I hope someone there listen to me and give me at least the Discourse-video one :))

There are technical reasons why custom plugins are only possible on enterprise plans. You cannot even get other official plugins because you kind of share them with other forums. A plugin written by someone else would need to be reviewed even on an enterprise plan, so I think focusing on another option is more likely to lead to a solution.

1 Like

I will do some research to figure out solutions and I will back to you.

4 Likes

We have built some integrations with Mux previously, but it isn’t something we have any plans to make available on lower plans at this time: GitHub - discourse/discourse-video · GitHub

We’ll keep this topic on our radar though.

Also worth noting, you don’t need to upgrade from Pro to Business just for storage. You can purchase “extra storage” on the Pro plan if you exceed your site’s allowed storage. Per our pricing page:

Please contact our team if you want to discuss that option.

2 Likes

@Prempavee

I made some progress.

Ultimately, the only way I found is to use a Cloudflare Worker as broker/backend to handle auth, hide provider credentials and to create upload URL, then uploading the data to CF Stream or Mux. Is it something that you are OK with it?

The way it works (non-technical):

  1. You click Upload.
  2. A quick popup logs you in through Discoures SSO (first time only).
  3. The broker confirms you’re allowed, and remembers you for an hour.
  4. TC asks the broker where to put the video; it opens a private upload spot to the provider (it holds the secret keys).
  5. TC uploads straight to the provider.

Here’s a quick demo.
Don’t mind the processing time. You can use the “insert now” button instead if you prefer.


I think it’s a decent solution and works pretty well considering the limitations of the TC. :grinning_face:

That’s said, I believe that should be only as last alternative. The plugin that Dave linked has a deep integration and it should be the first choice for a clean solution. If you can, I strongly encourage you to contact them!

1 Like