如何捕获Youtube视频的图像并在网站上显示

时间:2014-02-20 20:04:26

标签: video youtube screenshot video-capture

我有兴趣创建一个在屏幕上显示一些“屏幕截图”的网站。这些“屏幕截图”可以是任何图像文件类型(例如:jpeg,png等)我希望能够显示Youtube视频的第一帧截屏。当用户点击此按钮时,用户将被重定向到Youtube网址。

如果是网址,如何检索Youtube视频的屏幕截图或第一帧图像?例如:http://www.youtube.com/watch?v=gbcmYbMB9mo使用此功能,我想要一张GoPro相机的图像。是否有用于捕获Youtube视频的第一张图像的API?

由于

1 个答案:

答案 0 :(得分:4)

您可以使用 YouTube IFrame API (请参阅https://developers.google.com/youtube/iframe_api_reference)。

以下是播放问题(gbcmYbMB9mo)中提供的视频的示例:

<body onload="LoadYouTubeIframeAPI()">
    <script type="text/javascript">
        var player = null;
        var playerParams =
        {
            playerVars:
            {
                "enablejsapi":1,
                "origin":document.domain,
                "rel":0
            },
            events:
            {
                "onReady":onPlayerReady,
                "onError":onPlayerError,
                "onStateChange":onPlayerStateChange
            }
        };
        function LoadYouTubeIframeAPI()
        {
            var scriptElement = document.createElement("script");
            scriptElement.src = "http://www.youtube.com/iframe_api";
            var firstScriptElement = document.getElementsByTagName("script")[0];
            firstScriptElement.parentNode.insertBefore(scriptElement,firstScriptElement);
        }
        function onYouTubeIframeAPIReady()
        {
            player = new YT.Player("player",playerParams);
        }
        function onPlayerReady(event)
        {
            player.loadVideoById("gbcmYbMB9mo");
        }
        function onPlayerError(event)
        {
            ...
        }
        function onPlayerStateChange(event)
        {
            if (event.data == YT.PlayerState.ENDED)
            {
                ...
            }
        }
    </script>
</body>

您可能需要使用此代码“播放一点”以防止视频自动启动...