php 以正确的9:16格式显示Youtube视频和缩略图

neekobn8  于 2023-02-11  发布在  PHP
关注(0)|答案(4)|浏览(221)

我可以很容易地得到一个Youtube图像缩略图与链接描述如下:How do I get a YouTube video thumbnail from the YouTube API?
但所有这些缩略图都是3:4格式(或类似的格式),即使视频本身是其他格式。然后一些黑色的水平条只在图片的顶部和底部可见。
我需要一个9:16格式的图像(这是我的视频格式)没有黑条。这是可能的retreive?

    • 更新**

看起来YouTube视频本身的顶部和底部也有黑条,尽管YouTube页面上的视频没有黑条。
有什么方法可以简单地显示缩略图以及视频在正确的格式?

    • 更新**

我发现了这个:Removing black borders 4:3 on youtube thumbnails
提问者想去掉黑色的顶部和底部条。这里最好的答案是通过手动修正来调整高度和"隐藏"黑色条。下面的一些评论也建议这样做。
这是否意味着它不可能避免?

tpgth1q7

tpgth1q71#

YouTube提供的图像没有4:3比例的黑条。若要获得没有黑条的16:9视频缩略图,请尝试以下方法之一:

http://img.youtube.com/vi/<insert-youtube-video-id-here>/mqdefault.jpg
http://img.youtube.com/vi/<insert-youtube-video-id-here>/maxresdefault.jpg

第一个mqdefault是一个320x180像素的图像。
第二个maxresdefault是一个1500x900像素的图像,所以它需要调整大小才能作为缩略图使用。这是一个很好的图像,但它并不总是可用的。如果视频质量很低(我想低于720p,不完全确定),那么这个“maxresdefault”将不可用。所以永远不要依赖它。

ghhaqwfi

ghhaqwfi2#

根据API文档:
yt:name属性值为mqdefault的标签标识了一个320 x180(16:9)的缩略图,这个图像也没有时间戳,可能来自视频中的任何一点。
因此,有一个图像,可用于每一个视频分辨率(我已经测试,至少),这是在16:9格式。当然,这不是最大的图像在这个星球上...
如果尺寸是个问题,而你需要更大的尺寸,那么最好的选择就是选择一个比例为4:3的选项,然后使用CSS.YouTube itself has done this for a long time隐藏多余的尺寸。他们现在在他们的网站上使用多种缩略图尺寸,包括mqdefault.jpg
当所有的尺寸都已知的时候,隐藏图像中多余的宽度和/或高度是很容易的。Here is an example using a 4:3 image from YouTube,隐藏了黑条,留下了16:9的结果。

ryhaxcpt

ryhaxcpt3#

在网上搜索了一段时间后,我什么也没找到,我想我已经尝试了所有的方法,但没有解决我的问题。然后在我的逻辑驱动下,我只是把嵌入式youtube视频的iframe Package 在一个div集溢出中:hidden;到这个div,并使它的高度比iframe的高度小2px(在我的视频中,底部有黑色边框)。所以 Package 器div比iframe小,并将其放置在视频上,您可以隐藏您不想要的黑色边框。我认为这是我迄今为止尝试过的最好的解决方案。
在下面的例子中,尝试只嵌入iframe,你会在底部看到一个黑色的小边框,当你把iframe包在div中时,边框消失了,因为div与iframe重叠,它比视频小,并且有溢出:隐藏,这样所有超出div维度的内容都被隐藏。

<div id="video_cont" style="width: 560px;
                            height: 313px;
                            overflow: hidden;">

    <iframe id="the-video" class="extplayer" width="560" height="315" src="https://www.youtube.com/embed/EErx017kDHQ?&amp;autoplay=0&amp;rel=0&amp;fs=0&amp;showinfo=0&amp;controls=0&amp;hd=1&amp;wmode=transparent&amp;version=2;yt:quality=high;"   frameborder="0" allowfullscreen></iframe>

</div>

在我的例子中,边框的高度大约为2px,所以我将 Package 器div的高度减小了2px以隐藏边框,在您的场景中,如果边框位于视频的顶部或两侧和/或具有不同的尺寸,您必须为 Package 器div设置不同的尺寸,并将其放置在适当的位置,使其与视频的边框重叠,并带有溢出:隐藏;边界被隐藏。
希望这会有帮助。

vmdwslir

vmdwslir4#

官方YouTube嵌入代码尺寸为560px宽和315px高。
虽然,YouTube缩略图大小,你必须使用的尺寸应该是1280x720像素,这是高清大小的缩略图正式使用的YouTube,这种大小的缩略图将帮助您嵌入视频在9:16格式和用户将看到您的缩略图正确和文本将保持清晰的观众。
额外好处:你还可以通过下面的网站下载youtube视频缩略图。
https://www.youtubethumbnaildownloaderonline.com/?id=5NevuA7AaVE
只替换youtube视频ID(5NevuA7AaVE)与代码后(=)符号和你可以检查出不同的youtube缩略图大小可用的视频.它将帮助你更好地理解9:16和3:4缩略图大小.它将帮助用户到读取内容的图像和最终转换在视频视图.

相关问题