I am looking for a way to resume a video upload once it is disrupted (due to a connection error or whatever other reason) using Wistia's upload API. I am using Wistia as a video host/provider and they seem to only offer such a feature using their own Uploader JavaScript plugin (I use blueimp's uploader). Has anyone managed something like that? Thanks for your time.
Well, after contacting their support they told me that up to this date they do not support resumable video uploads. It is in their future plans though.
Related
I'm using Ant Media Server for streaming. My use case requires me to record the Live Streams as VODs so the users can access the content later as well.
Like the live streams, I want to apply adaptive settings to the VODs as well so that users can get the suited resolution as per their network.
I can't find any built in solution for this yet. Can you please tell me any solution as to how can I do this!
I'm using S3 to store the recordings.
Thanks.
Thank you for the question. As far as I understand from the question, it seems that Live Streams are recorded as VoD files.
I think the most efficient way is doing that through HLS. With this way, the VoD files are recorded as HLS and multibitrates is available. No need to transcode again and it'll be played directly. Let me explain this solution step by step.
Set HLS playlist type to event and settings.deleteHLSFilesOnEnded to false . Edit your red5-web.properties for the application and set the following settings
settings.hlsPlayListType=event
settings.deleteHLSFilesOnEnded=false
Restart the server
sudo service antmedia restart
Add adaptive bitrates on the web panel.
Start Live Streaming and let the Ant Media Server create HLS(m3u8 and ts) files for each bitrate.
Stop Live Streaming
Then you can watch the stream by giving the master m3u8 file which is {STREAM_ID}_adaptive.m3u8. It can be even played directly by embedded player even if it's not live.
For more information, take a look at this wiki about HLS Playing
Please let me know if this approach helps you.
antmedia.io
I am using native Safari player implementation to stream video with HLS streaming protocol.
My goal is to get time-based metadata (such as EXT-X-DATERANGE) from a live stream manifest.
As far as I know, it is not possible to retrieve this data because the streaming logic is fully controlled by the Safari player which does not expose this data.
For now, I came to the 2 possible solutions:
Manually download the manifests and parse out the EXT-X-DATERANGE tag. But with this approach, the download timer should be manually managed too. And, of course, the number of requests for the playlists will be increased.
Desktop Safari browser supports MSE. This means it is possible to have full control over manifest retrieving and parsing. There are awesome libraries that already provide this functionality, such as shaka-player or hls.js. It is possible to implement custom response filter for segments(shaka-player) or listen to Hls.Events.FRAG_CHANGED event (hls.js) in order to have access to the playlist. The problem is that Safari in IOS mobile still does not support the MSE. So it is not possible to apply this solution for mobiles.
Are there any other ways to retrieve time-based metadata (such as EXT-X-DATERANGE) using native Safari player implementation?
Thanks a lot in advance!
I am using cloudinary API with JAVA. We have a requirement to upload images with an auto increasing number automatically. Like 1.jpg, 2.jpg, 3.jpg...
When I upload the first image(abc.jpg) so it would become 1.jpg.
When I upload the second image(xyz.jpg) so it would become 2.jpg. Same for others.
does cloudinary provide any kind of solution for this situation?
This is not supported, this is something that you need to manage by yourself.
Maybe you can rename any uploaded image after receiving the notification URL on your server, but you need to keep in mind stuff like async actions...
Best,
Yakir
I want to create an application capable to play YouTube video's audios and also save the downloaded content in a local cache, therefore when the user decides to resume or play the video again, then it doesn't have to download part of video again but only download the remaining part (User can decide what to do with the cache then, and how to organize it).
It is also very convenient for mobiles (it is my main focus) but I'd like to create a desktop one too for experimental purposes.
So, my question itself is, does YouTube provide any API for this? I mean, in order to cache the download content I need that my application download the content and not any embed player (also remember that it is a native application). I have a third-party application in my Android system that plays YouTube videos, so I think it's possible unless that the developers use some sort of hack, again this is what I don't know.
Don't confuse with the web gdata info API and the embed API, this is not what I want, what I want is to handle the video transfer.
As far as I know, there is no official API for that. However, you could use libquvi to look up the URLs of the real video data, or you could have a look at how they do it and reimplement it yourself (see here).
I'm trying to upload a file using the Dropbox API to Ink Filepicker, but I can't find any documentation on doing things like this.
It's done in the backend using Ruby rather than with the Javascript frontend because it needs to automatically upload new photos (Specifically inside the '/Camera_Uploads' folder) as they're added.
Has anyone had experience with doing something like that? One solution I saw was sharing the file, and then uploading them with the Filepicker REST API, but that seems like a bad way to approach this.
I think that your approach of sending a URL to File Picker is a good one, but I would suggest using a media link instead of a share link. Media links expire after four hours, so they're a good alternative to permanently sharing a file.
In Ruby, the method you want is DropboxClient.media.