Accessing metadata of video stored in S3 - ruby-on-rails

I have uploaded a video file to S3 using their NodeJS SDK with some metadata. I can see the metadata on the S3 console.
I am recording the timestamp of when in the video a particular event occurs to begin playback from that time when someone renders the video.
This timestamp is what I am storing as part of the metadata in the video file so that I do not need to pass this data to the server through another medium.
I need to use this metadata in my Rails application during render.
When I download the video file, the metadata seems to be lost. I tried using ffprobe to get all meta content but that data visible in S3 is lost.
I read the answer to this question and I seem to be doing the upload right.
Is the metadata I see on the console AWS specific?
How do I access that data through my Rails server?

A "head" operation will allow you to access the metadata without fetching the entire object. Follow this link for more info.
If I were you I would store the metadata in DynamoDB. It is much easier to play with & makes your app more flexible for the future.

Related

Get an image from URL and upload it to Firebase Storage

Is it possible to write a function to get an image from a url such as https://website.com/images/myImage.jpg and then automatically upload it to a Firebase Storage bucket?
I am trying to do it with multiple images in one go but am struggling to get one to work at the moment. My best attempt so far has seen me having to download the images, save them in the Media Library and then send them all up to Firebase, which surely cannot be the most efficient way?
In a nutshell, I have 10 images with URL's like the above and, when the function is fired I need them all to upload to my storage bucket, without the need to save them to the users device library.
Does anyone have any ideas on the most efficient way to do this please?

AWS S3 Metadata iOS

I am developing photo sharing application in iOS using Amazon as backend.
I have uploaded photo to S3 but my problem is how to get metadata of uploaded photo, actually i want lat and lang of that photo. I am using latest sdk version 2.0.2 of aws.
Can you help me? Can you guid me which function I have to use to get meta data information?
The location data, if available, is embedded inside the image file itself and is not part of the file's S3 object metadata. You can define your own custom metadata when the image is uploaded and set the image's coordinates there.
It may be better though to store the coordinates in a DynamoDB table along with the image's S3 object key to provide better lookup and querying.

Loading/Retrieving an image from Photos Library based on metadata in iOS

I have an iOS application that I am working where I am capturing an image, and then storing it in my Photos Album. I realize that I am able to write custom metadata for this image when I store it using the following:
writeImageDataToSavedPhotosAlbum:metadata:completionBlock:
My question is, is it possible for me to somehow retrieve this same image later on, using this metadata as my search criteria (if for example I store this same metadata in CoreData, and use it later in a query)? An example of possible metadata I am planning on using is either a date and time stamp, and/or geolocation. Is retrieval of images possible using metadata and not knowing the exact file name?
If you already have a Core Data store, save all of the metadata and the asset URL (for the default representation). Then you can do all of your querying locally and access the assets only when required (though you should check they haven't been deleted before showing results).
When you have done your search to get the asset URL you can get the image using assetForURL:resultBlock:failureBlock: from the ALAssetsLibrary.

Get info about video that not finished encoding

Where does all meta data about video file comes from? Is it comes from original video or from encoded?
I'm trying to write video duration into database, but i'm not sure if i can get this value during POST on my server
This english is hard to read but I'll take my best shot. I also have zero experience with pandastream but the API looks easy enough. It look like the pandastream requires you to upload the video file first. Then work off an ID.
In the api docs at: https://github.com/pandastream/panda_gem, it looks like
encodings = Panda::Video.find("1234").encodings
means that you have to have encoded it first. They are just sending the attributes down to you over the web API. After you query for the attributes, you can do anything you want with it, like inserting them into a database.
You could even loop through all the videos on your account and get the video duration and bulk insert them.
videos = Panda::Video.all
# loop through videos as |upload|
# find video as video
# insert into database upload.id and video.attributes["duration"]
Good luck!

Youtube upload api duplicated video (get the right ID)

When a video is duplicated (let's say v = GgVH5fXXYSE) , is there a way i can find the videoid of the "good" one (the one that should work) with the duplicated id.
(so with GgVH5fXXYSE i could find eNqZgEgOfsw)
Thanks!
Unfortunately, there's no way to get this information. It's come up as a feature request a number of times in the past, and there are technical reasons why this can't be exposed in the YouTube Data API response.
If you have APP, that solely uploads file to particular (authorized) youtube account(s), then you can get it done using following method. Maintain a hash of all input files and while uploading file, check ,if you have old file having same hash as current file upload, and that old file was uploaded successfully, then don't upload that file and use youtube link = old file's ( having same hash as current file) youtube link.

Resources