Get URL of BrightCove video for download and Stream

I am creating an android app in which I want to play as well as download videos from BrightCove now the problem is BrightCove has its own player i.e. com.brightcove.player.view.BrightcoveExoPlayerVideoView Which I could not use. I have to play the video in Android Native MediaPlayer.

I have check all the docs and there they only provide some thing like this again and again

  EventEmitter eventEmitter = brightcoveVideoView.getEventEmitter();
    Catalog catalog = new Catalog(eventEmitter, getString(R.string.account), getString(R.string.policy));

    catalog.findVideoByID(getString(R.string.videoId), new VideoListener() {

      // Add the video found to the queue with add().
      // Start playback of the video with start().
        public void onVideo(Video video) {

        public void onError(String s) {
          throw new RuntimeException(s);

How could I get the exact url for playing and downloading?

When search for a Video on BrightCove using servercalls/API_tester it returns some this

{ "id": 1520880903001, "name": "Space-Galaxy", "adKeys": null, "shortDescription": "Used as sample for Accessing Video Content with the Media API -- DO NOT DELETE", "longDescription": null, "creationDate": "1332264917716", "publishedDate": "1332264917716", "lastModifiedDate": "1441607273772", "linkURL": "", "linkText": "Accessing Video Content with the Media API", "tags": [ "newtag" ], "videoStillURL": "", "thumbnailURL": "", "referenceId": "1520880903001", "length": 20000, "economics": "AD_SUPPORTED", "playsTotal": 102, "playsTrailingWeek": 0, "FLVURL": "rtmp://", "renditions": [ { "audioOnly": false, "controllerType": "DEFAULT", "displayName": "Space-Galaxy.mp4", "encodingRate": 800000, "frameHeight": 360, "frameWidth": 640, "id": 1520959065001, "referenceId": null, "remoteStreamName": null, "remoteUrl": null, "size": 1829449, "uploadTimestampMillis": 1332267195355, "url": "rtmp://", "videoCodec": "H264", "videoContainer": "MP4", "videoDuration": 20000 }, { "audioOnly": false, "controllerType": "DEFAULT", "displayName": "Space-Galaxy.mp4", "encodingRate": 1800000, "frameHeight": 720, "frameWidth": 1280, "id": 1520962209001, "referenceId": null, "remoteStreamName": null, "remoteUrl": null, "size": 4265519, "uploadTimestampMillis": 1332267361480, "url": "rtmp://", "videoCodec": "H264", "videoContainer": "MP4", "videoDuration": 20000 }, { "audioOnly": false, "controllerType": "DEFAULT", "displayName": "Space-Galaxy.mp4", "encodingRate": 1200000, "frameHeight": 404, "frameWidth": 720, "id": 1520962169001, "referenceId": null, "remoteStreamName": null, "remoteUrl": null, "size": 2777863, "uploadTimestampMillis": 1332267330633, "url": "rtmp://", "videoCodec": "H264", "videoContainer": "MP4", "videoDuration": 20000 }, { "audioOnly": false, "controllerType": "DEFAULT", "displayName": "Space-Galaxy.mp4", "encodingRate": 314758, "frameHeight": 224, "frameWidth": 400, "id": 1520959023001, "referenceId": null, "remoteStreamName": null, "remoteUrl": null, "size": 690193, "uploadTimestampMillis": 1332267165343, "url": "rtmp://", "videoCodec": "H264", "videoContainer": "MP4", "videoDuration": 20000 }, { "audioOnly": false, "controllerType": "DEFAULT", "displayName": "Space-Galaxy.mp4", "encodingRate": 500000, "frameHeight": 268, "frameWidth": 480, "id": 1520916807001, "referenceId": null, "remoteStreamName": null, "remoteUrl": null, "size": 1126642, "uploadTimestampMillis": 1332265138822, "url": "rtmp://", "videoCodec": "H264", "videoContainer": "MP4", "videoDuration": 20000 }, { "audioOnly": false, "controllerType": "DEFAULT", "displayName": "Space-Galaxy.mp4", "encodingRate": 129761, "frameHeight": 224, "frameWidth": 400, "id": 1520953533001, "referenceId": null, "remoteStreamName": null, "remoteUrl": null, "size": 227983, "uploadTimestampMillis": 1332266955420, "url": "rtmp://", "videoCodec": "H264", "videoContainer": "MP4", "videoDuration": 20134 } ], "FLVFullLength": { "audioOnly": false, "controllerType": "DEFAULT", "displayName": "Space-Galaxy.mp4", "encodingRate": 500000, "frameHeight": 268, "frameWidth": 480, "id": 1520916807001, "referenceId": null, "remoteStreamName": null, "remoteUrl": null, "size": 1126642, "uploadTimestampMillis": 1332265138822, "url": "rtmp://", "videoCodec": "H264", "videoContainer": "MP4", "videoDuration": 20000 }, "videoFullLength": { "audioOnly": false, "controllerType": "DEFAULT", "displayName": "Space-Galaxy.mp4", "encodingRate": 500000, "frameHeight": 268, "frameWidth": 480, "id": 1520916807001, "referenceId": null, "remoteStreamName": null, "remoteUrl": null, "size": 1126642, "uploadTimestampMillis": 1332265138822, "url": "rtmp://", "videoCodec": "H264", "videoContainer": "MP4", "videoDuration": 20000 } }

It has some links like


but there are not playing any thing on MediaPlayer. May be because of rtmp and for rmtp I may have to use Vitamio but I can't as I am restricted to use native MediaPlayer.

On IOS I am able to get the urls using : BCOVPlaybackService But there is no such class in android .



Okay This is how I am getting URL

 EventEmitter eventEmitter = player.getEventEmitter();
            Catalog catalog = new Catalog(eventEmitter, account, privacy);
            catalog.findVideoByID(video_brightcove_id, new VideoListener() {
                public void onVideo(Video video) {

                    Map<DeliveryType, SourceCollection> map = video.getSourceCollections();
                    Set<DeliveryType> st = map.keySet();
                    SourceCollection sor = map.get(DeliveryType.valueOf("MP4"));
                    Set<Source> se = sor.getSources();
                    Object[] ar = se.toArray();
                    Source hp = (Source) ar[0];
                    Map<String, Object> ma = hp.getProperties();
                    String url = (String) ma.get("url");
               ////this is the video url 


                public void onError(String s) {

                    Log.e("Error ", s);

Thanks :)

Need Your Help

Is this so bad when using MySQL queries in PHP?

php mysql

I need to update a lot of rows, per a user request. It is a site with products.

gm conversion issue in node.js

javascript node.js imagemagick graphicsmagick

I am converting an image from jpg to png, but it is giving the error. Below is the code and error.