【发布时间】:2013-06-15 21:58:50
【问题描述】:
假设我有视频 ID,我可以访问视频的静止图像吗?
我已经阅读了媒体 API 以及 thumbnailURL 和 videoStillURL 的读取函数,但不知道如何实现。
是否有使用给定 ID 的资产中的静止图像的示例?
【问题讨论】:
标签: brightcove
假设我有视频 ID,我可以访问视频的静止图像吗?
我已经阅读了媒体 API 以及 thumbnailURL 和 videoStillURL 的读取函数,但不知道如何实现。
是否有使用给定 ID 的资产中的静止图像的示例?
【问题讨论】:
标签: brightcove
提供的 URl 不再有效。
【讨论】:
是的,如果您在 video_fields 中指定了 videoStillURL 和 thumbnailURL,则大多数 Media API 读取方法都将返回它们,或者只返回所有字段。获得 URL 后,您可以将其用作标记的 src 值,或者如果您想下载图像,可以浏览到 URL。 Brightcove 网站上有很多使用这些 URL 填充图像标签 src 值的示例——例如,请参见 http://solutions.brightcove.com/bcls/AnalyticsAPI/most-popular-videos.html。
【讨论】:
是的,您可以从播放器实例中获取 BrightCove 视频的缩略图网址。这意味着当一个播放器被加载并且我们获取播放器的实例对象(例如 playerInstance)时,我们可以从playerInstance.mediainfo.poster 获取缩略图 url。
mediainfo在播放器加载时不能直接调用,因为视频信息是在播放器初始化后加载的,所以我们需要等待mediainfo对象有需要的信息。因此我们需要在loadeddata 事件上调用playerInstance.mediainfo.poster。请参考下面的代码示例。
// After loading BrightCove script
i.e. https://players.brightcove.net/[ACCOUNT_ID]/[PLAYER_ID]_default/index.min.js
// Initialise player using videojs object
let playerInstance;
videojs.getPlayer('[ID_PROVIDED_IN_BRIGHTCOVEPLAYER_ELEMENT]',).ready(() => {
playerInstance = this; // Assigning player instance
playerInstance.on('loadeddata', () => {
console.log(playerInstance.mediainfo.poster); // Thumbnail URL
});
});
但是,如果您在初始化 Brightcove 播放器之前需要缩略图,则无法从同一个 API 中获取它。 Brightcove 提供了另一个 API,请参考。 https://apis.support.brightcove.com/playback/code-samples/thumbnail-grid.html
【讨论】: