问题
I think YouTube or Vimeo does not have (even paid) any longer API, that will allow me streaming with use of the progressive download the video files (MP4, MPEG-TS or even FLV) I have uploaded there, right?
Is there possibly other platform have such API?
Petr
回答1:
First of all, according to API 3 Link to video not showing Vimeo is now handling API support here with additional support via Email.
For a PRO account, here are the steps to accessing MP4 files for your videos on Vimeo using the new V3 API:
- Create a new Vimeo app here: https://developer.vimeo.com/apps/new
- Once created, click on the oAuth2 button at the top and copy your access token.
- Make a GET request to https://api.vimeo.com/videos/VIDEO_ID and add the Header "Authorization : Bearer ACCESS_TOKEN" where VIDEO_ID is the ID in the standard Vimeo URL and ACCESS_TOKEN is the token from #2.
This will return a "files" key that includes multiple video sizes.
If you're not a PRO user or are attempting to access files uploaded by other users, this link seems to do the trick: http://player.vimeo.com/v2/video/VIDEO_ID/config. This only works if the video is downloadable.
回答2:
On Vimeo, PRO users have direct access to all of their video file links through the New API.
This includes any formats they generate (hd, sd, etc) and an hls stream.
回答3:
In ASP or c# you can use below code, this will return you json string
string url = "https://api.vimeo.com/me/videos/" + videoId;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "GET";
request.Accept = "application/vnd.vimeo.*+json;version=3.0";
request.Headers.Add(HttpRequestHeader.Authorization, "Bearer YOUR_ACCESS_TOKEN");
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream resStream = response.GetResponseStream();
var reader = new StreamReader(resStream);
string jsonResponse = reader.ReadToEnd();
来源:https://stackoverflow.com/questions/22470786/youtube-vimeo-api-mp4-files