获取 URL 个 BrightCove 视频以供下载和流式传输
Get URL of BrightCove video for download and Stream
我正在创建一个 android 应用程序,我想在其中播放以及从 BrightCove 下载视频,现在问题是 BrightCove 有自己的播放器,即 com.brightcove.player.view.BrightcoveExoPlayerVideoView
我无法使用。我必须在 Android Native MediaPlayer 中播放视频。
我检查了所有的文档,他们只一次又一次地提供这样的东西
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().
@Override
public void onVideo(Video video) {
brightcoveVideoView.add(video);
brightcoveVideoView.start();
}
@Override
public void onError(String s) {
throw new RuntimeException(s);
}
});
我怎样才能获得播放和下载的准确 url?
当使用 servercalls/API_tester 在 BrightCove 上搜索视频时,它 returns 一些
{ "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":
"http://support.brightcove.com/en/docs/accessing-video-content-media-api",
"linkText": "Accessing Video Content with the Media API", "tags": [
"newtag" ], "videoStillURL": "http://brightcove.vo.llnwd.net/e1/pd/57838016001/57838016001_1520916808001_vs-1520911645001.jpg?pubId=57838016001",
"thumbnailURL":
"http://brightcove.vo.llnwd.net/e1/pd/57838016001/57838016001_1520916809001_th-1520911645001.jpg?pubId=57838016001",
"referenceId": "1520880903001", "length": 20000, "economics":
"AD_SUPPORTED", "playsTotal": 102, "playsTrailingWeek": 0,
"FLVURL":
"rtmp://brightcove.fcod.llnwd.net/a500/e1/uds/rtmp/ondemand/&mp4:57838016001/57838016001_1520916807001_Space-Galaxy.mp4&1460095200000&a99dcabb0f88cdf8d21b3a5778da8e06",
"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://brightcove.fcod.llnwd.net/a500/e1/uds/rtmp/ondemand/&mp4:57838016001/57838016001_1520959065001_Space-Galaxy.mp4&1460095200000&a99dcabb0f88cdf8d21b3a5778da8e06",
"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://brightcove.fcod.llnwd.net/a500/e1/uds/rtmp/ondemand/&mp4:57838016001/57838016001_1520962209001_Space-Galaxy.mp4&1460095200000&a99dcabb0f88cdf8d21b3a5778da8e06",
"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://brightcove.fcod.llnwd.net/a500/e1/uds/rtmp/ondemand/&mp4:57838016001/57838016001_1520962169001_Space-Galaxy.mp4&1460095200000&a99dcabb0f88cdf8d21b3a5778da8e06",
"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://brightcove.fcod.llnwd.net/a500/e1/uds/rtmp/ondemand/&mp4:57838016001/57838016001_1520959023001_Space-Galaxy.mp4&1460095200000&a99dcabb0f88cdf8d21b3a5778da8e06",
"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://brightcove.fcod.llnwd.net/a500/e1/uds/rtmp/ondemand/&mp4:57838016001/57838016001_1520916807001_Space-Galaxy.mp4&1460095200000&a99dcabb0f88cdf8d21b3a5778da8e06",
"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://brightcove.fcod.llnwd.net/a500/e1/uds/rtmp/ondemand/&mp4:57838016001/57838016001_1520953533001_Space-Galaxy.mp4&1460095200000&a99dcabb0f88cdf8d21b3a5778da8e06",
"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://brightcove.fcod.llnwd.net/a500/e1/uds/rtmp/ondemand/&mp4:57838016001/57838016001_1520916807001_Space-Galaxy.mp4&1460095200000&a99dcabb0f88cdf8d21b3a5778da8e06",
"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://brightcove.fcod.llnwd.net/a500/e1/uds/rtmp/ondemand/&mp4:57838016001/57838016001_1520916807001_Space-Galaxy.mp4&1460095200000&a99dcabb0f88cdf8d21b3a5778da8e06",
"videoCodec": "H264",
"videoContainer": "MP4",
"videoDuration": 20000 } }
它有一些链接,例如
rtmp://brightcove.fcod.llnwd.net/a500/e1/uds/rtmp/ondemand/&mp4:57838016001/57838016001_1520959023001_Space-Galaxy.mp4&1460095200000&a99dcabb0f88cdf8d21b3a5778da8e06
但是MediaPlayer上没有播放任何东西。可能是因为 rtmp
和 rmtp
我可能不得不使用 Vitamio 但我不能,因为我被限制使用原生 MediaPlayer。
在 IOS 我可以使用 url 获得 BCOVPlaybackService
但是 android 中没有这样的 class .
谢谢
好的,这就是我得到的方式 URL
EventEmitter eventEmitter = player.getEventEmitter();
Catalog catalog = new Catalog(eventEmitter, account, privacy);
catalog.findVideoByID(video_brightcove_id, new VideoListener() {
@Override
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
}
@Override
public void onError(String s) {
Log.e("Error ", s);
}
});
谢谢:)
我正在创建一个 android 应用程序,我想在其中播放以及从 BrightCove 下载视频,现在问题是 BrightCove 有自己的播放器,即 com.brightcove.player.view.BrightcoveExoPlayerVideoView
我无法使用。我必须在 Android Native MediaPlayer 中播放视频。
我检查了所有的文档,他们只一次又一次地提供这样的东西
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().
@Override
public void onVideo(Video video) {
brightcoveVideoView.add(video);
brightcoveVideoView.start();
}
@Override
public void onError(String s) {
throw new RuntimeException(s);
}
});
我怎样才能获得播放和下载的准确 url?
当使用 servercalls/API_tester 在 BrightCove 上搜索视频时,它 returns 一些
{ "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": "http://support.brightcove.com/en/docs/accessing-video-content-media-api", "linkText": "Accessing Video Content with the Media API", "tags": [ "newtag" ], "videoStillURL": "http://brightcove.vo.llnwd.net/e1/pd/57838016001/57838016001_1520916808001_vs-1520911645001.jpg?pubId=57838016001", "thumbnailURL": "http://brightcove.vo.llnwd.net/e1/pd/57838016001/57838016001_1520916809001_th-1520911645001.jpg?pubId=57838016001", "referenceId": "1520880903001", "length": 20000, "economics": "AD_SUPPORTED", "playsTotal": 102, "playsTrailingWeek": 0,
"FLVURL": "rtmp://brightcove.fcod.llnwd.net/a500/e1/uds/rtmp/ondemand/&mp4:57838016001/57838016001_1520916807001_Space-Galaxy.mp4&1460095200000&a99dcabb0f88cdf8d21b3a5778da8e06", "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://brightcove.fcod.llnwd.net/a500/e1/uds/rtmp/ondemand/&mp4:57838016001/57838016001_1520959065001_Space-Galaxy.mp4&1460095200000&a99dcabb0f88cdf8d21b3a5778da8e06", "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://brightcove.fcod.llnwd.net/a500/e1/uds/rtmp/ondemand/&mp4:57838016001/57838016001_1520962209001_Space-Galaxy.mp4&1460095200000&a99dcabb0f88cdf8d21b3a5778da8e06", "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://brightcove.fcod.llnwd.net/a500/e1/uds/rtmp/ondemand/&mp4:57838016001/57838016001_1520962169001_Space-Galaxy.mp4&1460095200000&a99dcabb0f88cdf8d21b3a5778da8e06", "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://brightcove.fcod.llnwd.net/a500/e1/uds/rtmp/ondemand/&mp4:57838016001/57838016001_1520959023001_Space-Galaxy.mp4&1460095200000&a99dcabb0f88cdf8d21b3a5778da8e06", "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://brightcove.fcod.llnwd.net/a500/e1/uds/rtmp/ondemand/&mp4:57838016001/57838016001_1520916807001_Space-Galaxy.mp4&1460095200000&a99dcabb0f88cdf8d21b3a5778da8e06", "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://brightcove.fcod.llnwd.net/a500/e1/uds/rtmp/ondemand/&mp4:57838016001/57838016001_1520953533001_Space-Galaxy.mp4&1460095200000&a99dcabb0f88cdf8d21b3a5778da8e06", "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://brightcove.fcod.llnwd.net/a500/e1/uds/rtmp/ondemand/&mp4:57838016001/57838016001_1520916807001_Space-Galaxy.mp4&1460095200000&a99dcabb0f88cdf8d21b3a5778da8e06", "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://brightcove.fcod.llnwd.net/a500/e1/uds/rtmp/ondemand/&mp4:57838016001/57838016001_1520916807001_Space-Galaxy.mp4&1460095200000&a99dcabb0f88cdf8d21b3a5778da8e06", "videoCodec": "H264", "videoContainer": "MP4", "videoDuration": 20000 } }
它有一些链接,例如
rtmp://brightcove.fcod.llnwd.net/a500/e1/uds/rtmp/ondemand/&mp4:57838016001/57838016001_1520959023001_Space-Galaxy.mp4&1460095200000&a99dcabb0f88cdf8d21b3a5778da8e06
但是MediaPlayer上没有播放任何东西。可能是因为 rtmp
和 rmtp
我可能不得不使用 Vitamio 但我不能,因为我被限制使用原生 MediaPlayer。
在 IOS 我可以使用 url 获得 BCOVPlaybackService
但是 android 中没有这样的 class .
谢谢
好的,这就是我得到的方式 URL
EventEmitter eventEmitter = player.getEventEmitter();
Catalog catalog = new Catalog(eventEmitter, account, privacy);
catalog.findVideoByID(video_brightcove_id, new VideoListener() {
@Override
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
}
@Override
public void onError(String s) {
Log.e("Error ", s);
}
});
谢谢:)