[SOLVED] How to download original Version media uploaded to S3

Per this community post it seems you can download original media uploaded to ShotGrid and control who sees/can download it.

I’d like to be able to download original Version media uploaded to S3, but so far haven’t figured out how to do that.

Might be a question for @jack

Thanks

In Jack’s GIF it shows the cogwheel button menu opening on the Playable Version.
There is an option in that menu called “View Source File” which will open a download to the original media.

2 Likes

@Ricardo_Musch That does it indeed. Thank you! I should looked at that GIF more carefully.

Followup question: Is it possible – using, for instance, a script or by some other means – to add that downloading functionality in the list view. (The more direct / fewer clicks / less friction required to download the more likely team members will adopt it into their workflow)

Yes, you could look at developing an AMI (Action Menu Item) though an SGTK app or a web service to run custom code.

For example you could use an AMI pointing at a custom python script file handler or a web service to receive a post request about what version(s) are selected and then run some APi code to get the download link and then redirect the user to the actual download link (expires every so many minutes for security reasons).

1 Like

2nd Followup question: Download problem – it seems some files don’t load into the browser and therefore can’t be download. The mp4 transcodes are fine, so the original files are legible on the AWS server, but nonetheless can’t be downloaded.

How do you mean?

The button does not allow downloading?
In that case the MP4 was transcoded by some piece of software and uploaded via the API to the MP4 field. This bypasses ShotGrid’s own transcoding service and therefore the original file is not downloadable via that button as it was not uploaded for transcoding.

I am unsure if there is a way to access the MP4 file through the API.

RE “How do you mean”

The button does works to the extent that it opens a browser window with a link to the media, but for reasons TBD sometimes that link shows a ‘can’t play’ media icon (see attached png) and it doesn’t download.

IllegibleMedia

That might be an Apple Safari-specific icon.

Looking it over carefully, it looks like the “download media” page is really a link to a minimal HTML page with a video element with ‘src’ pointing to the S3 container. My guess is the media is browser incompatible (e.g. Avid media) causing the video object to fail, which in turn causes the download to fail.

If that’s the case AND I’m able to figure out the API approach you mentioned above, it should be possible to integrate a download feature into the “Version” list view and set up the download so that it works reliable.

RE MP4 was transcoded by some piece of software
In all cases the original media was uploaded to AWS S3, which in turn handled the transcoding BUT it’s likely a lot of that original media uses browser-incompatible codecs.

RE: I am unsure if there is a way to access the MP4 file through the API.

Yes. The transcoded mp4 screener media is API-accessible, and it uses the same kind of time-sensitive URLs you describe for the original media.

1 Like

Hmm, on windows the “View Source File” button just downloads the file for me in Chrome.
Maybe thats a browser setting.

Indeed if the browser player can’t understand the codec it will not play in browser.

1 Like

It’s entirely possible the “failure to download” is an Apple Safari-related limitation. I’ll test on Apple Chrome and see what happens there. Thanks!

1 Like

Confirmed:

Chrome: The downloads work just fine. They simply download. There’s no attempt to play them.

Safari: Frequently fails. It attempts the play the video and fails when it doesn’t recognize the codec, at which point they don’t download.

1 Like

In the Chrome options there should be a list somewhere where you can specify what to do which with which mime/type of file.

Safari should really have such a setting too.
I’m guessing because it’s mac it will just attempt to play any video file with Quicktime.

1 Like