YouTube/Vimeo API - MP4 files

2019-02-05 09:41发布

问题:

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:

  1. Create a new Vimeo app here: https://developer.vimeo.com/apps/new
  2. Once created, click on the oAuth2 button at the top and copy your access token.
  3. 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();