【问题标题】:How to capture image of Youtube Video and display on web site如何捕获 Youtube 视频的图像并在网站上显示
【发布时间】:2014-02-20 20:04:25
【问题描述】:

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

如果给定它的 URL,我如何检索 Youtube 视频的屏幕截图或第一帧图像?例如:http://www.youtube.com/watch?v=gbcmYbMB9mo 使用这个,我想要一张 GoPro 相机的图像。是否有 API 可以捕获 Youtube 视频的第一张图片?

谢谢

【问题讨论】:

    标签: video youtube screenshot video-capture


    【解决方案1】:

    您可以使用 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>
    

    您可能需要使用此代码“玩一点”,以防止视频自动开始...

    【讨论】:

    • 感谢巴拉克提供的信息。我有两个问题。 1) 有没有一种方法可以简单地捕获视频图像并将其显示在网站上,而无需将视频/播放器嵌入网站? 2) 如果我选择在网站上嵌入视频,如何使用多个视频?
    • 我已经查看了 api,但它真的有任何内置的东西来捕获图像吗?我什么都找不到。
    • 我认为没有理由接受这个答案。
    猜你喜欢
    • 2012-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-14
    • 2019-09-27
    • 2017-10-02
    • 1970-01-01
    • 2013-05-16
    相关资源
    最近更新 更多