YouTube get_video_info 引发限制错误

2024-04-12

我已经为 joomla 创建了(是的另一个)YouTube 播放器模块! 在模块后端我使用了来自的代码这个答案 https://stackoverflow.com/a/5151862/4708062显示视频标题。不幸的是,对于大多数视频 ID,get_video_info 返回的只是嵌入禁止的文本,例如:“此视频包含来自 VEVO 的内容。它被限制在某些网站或应用程序上播放。在 YouTube 上观看”。

实际上,我从 videoinfo 中获取信息并搜索标题或原因(如果存在)模块会回显后端中的值。 我的问题是 - 有人知道为什么 get_video_info 会抛出此错误,即使仍然可以嵌入视频?

一个例子: 视频 ID Y1_VsyLAGuk

如果您尝试从以下位置获取视频信息:http://youtube.com/get_video_info?video_id=Y1_VsyLAGuk http://youtube.com/get_video_info?video_id=Y1_VsyLAGuk你会得到这样的错误:这是不可能的。

但该模块可以在同一主机上的嵌入式 YouTube API v3 播放器中创建和播放视频。

if (isset($formID)){
   $cleanedID = cleanUp($id);
   // Some Magic to get the Video Title, Thanks to Stack Overflow User Cruel for this nice Hint
   $content = file_get_contents("http://youtube.com/get_video_info?video_id=".$cleanedID);
   parse_str($content, $ytarr);
   
   if(array_key_exists('title', $ytarr)){
      return '<div style="width:220px;"><h4>'.$ytarr['title'].'</h4><img style="border-radius:4px;" src="https://img.youtube.com/vi/'.$cleanedID.'/hqdefault.jpg" width="100%" /></div>';
					
      // Credits: https://stackoverflow.com/a/5151862/4708062
   }elseif(array_key_exists('reason', $ytarr)){
      return '<div class="alert alert-danger" style="width:170px;"><p style="text-align:center">'.$ytarr['reason'].'</p></div><img style="border-radius:4px;" src="https://img.youtube.com/vi/'.$cleanedID.'/hqdefault.jpg" width="220px" />';
   }else{
         //print_r($ytarr);
		 return ;
   }
}

解决方案是使用 noembed.com 服务来获取视频信息:

示例网址:“https://noembed.com/embed?url=https://www.youtube.com/watch?v=YXN_lNZZAZA https://noembed.com/embed?url=https://www.youtube.com/watch?v=YXN_lNZZAZA"

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

YouTube get_video_info 引发限制错误 的相关文章

  • YouTubeAndroidPlayerAPI 无法播放某些视频

    更新 09 05 2016 17 10 问题似乎与视频的发布日期有关 在4月的最后一周 我在YouTube上发布了很多视频 在4月27日19 00之前发布的视频可以正常工作 而在4月27日21 15之前发布的视频可以正常使用 当天就讨论了该
  • Firefox:drawImage(视频)失败并显示 NS_ERROR_NOT_AVAILABLE:组件不可用

    尝试打电话drawImage with a video其来源是网络摄像头源似乎在 Firefox 中失败了NS ERROR NOT AVAILABLE Component is not available 我尝试等待视频标签触发的每个事件
  • 用于直播视频的 Youtube iFrame Api?

    我正在尝试使用 youtube iframe api 实现来自 youtube 频道的实时视频 api 中有一个 videoId 属性 它也适用于实时视频 但我们必须在每次流启动时添加视频 id iframe直播视频中有解决方案https
  • ffmpeg 使用 -movflags faststart

    我尝试使用命令 movflags 快速启动 并得到以下错误 Microsoft Windows 版本 6 0 6002 版权所有 c 2006 Microsoft 公司 版权所有 C uploads 1 videos gt ffmpeg i
  • 使用 ffmpeg 转换真实媒体

    我有许多旧的硬壳真实媒体文件需要转换 并希望编写一个脚本来批量处理它们 我可以使用 FFMpegX 进行 Real Media gt AVI 转换 但是当我尝试使用 ffmpeg 复制转换时 它总是会出现如下错误 avi 0x10084fa
  • C++/OpenCV - 用于视频稳定的卡尔曼滤波器

    我尝试使用卡尔曼滤波器稳定视频以进行平滑 但我有一些问题 每次 我都有两帧 一帧是当前帧 另一帧是当前帧 这是我的工作流程 计算 goodFeaturesToTrack 使用 calcOpticalFlowPyrLK 计算光流 只保留优点
  • Android 退出全屏后嵌入式 IFRAME 视频继续在后台播放

    我已经搜索了很多解决这个问题的方法 但显然我找不到 嗯 顾名思义 我有一个简单的 Android 应用程序 它有一个 Webview public class MainActivity extends Activity protected
  • Javascript 随机 YouTube 视频自动播放

    我需要在页面加载时显示所选内容中的随机 YouTube 视频 我发现下面的问题非常有帮助 但我不知道如何让它自动播放 我尝试过添加 自动播放 1 在 videos index 之后 但我无法让它工作 不知道我是否把它放在错误的地方 任何帮助
  • 如何在 iOS 和 macOS 上的 Safari 中使用网络摄像头录制视频?

    我已经发布了几条路径 1 录制视频https caniuse com feat html media capture https caniuse com feat html media capture但它仅适用于 iOS 并且无法自定义 我
  • 对于 .com 电子邮件地址,获取请求失败,因为 Spring 将其解释为扩展名

    参见下面2015年8月20日的编辑部分 我最近也遇到了类似的问题 获取请求仅适用于尾部斜杠 Spring REST 注释 https stackoverflow com questions 31117009 get request only
  • 使用 Servlet 启动 VLC HTTP Stream 时出现问题

    我正在为自己开发一个 VLC 项目 我的目标是创建一个 HTML 前端来启动流 我通过使用 Java Servlet 来完成此操作 概述 乌班图13 04 Java 7 21 冰茶 2 3 9 Eclipse JAVAEE IDE 雄猫7
  • 合并来自 ffmpeg 的两个视频

    我想使用 ffmpeg 将两个 mp4 视频组合成一个 mp4 视频 到目前为止我尝试过的是 ffmpeg i input1 mp4 i input2 mp4 output mp4 但是 每次我获取带有第一个输入的视频编解码器的视频而不是另
  • 在 JavaScript/Node.js 中将 Youtube Data API V3 视频持续时间格式转换为秒

    我正在尝试将 ISO 8601 字符串转换为 JS Node 中的秒 我能想到的最好的办法是 function convert time duration var a duration match d g var duration 0 if
  • HTML 5

    尽管开放视频标准似乎处于某种危险之中 但它是一个好主意 我看到了一些关于运动跟踪的演示 只是概念验证 但仍然很有趣 现在 我想说像这样的概念really如果能够访问用户的网络摄像头 这将是一种收获 想象一下 双手举在半空中浏览 Flickr
  • 使用PHP获取http url参数而不自动解码

    我有一个像这样的网址 test php x hello world y 00h 00e 00l 00l 00o 当我将它写入文件时 file put contents x txt GET x gt hello world file put
  • 在列表视图/滚动视图中自动播放视频,类似于 facebook

    如果视图包含视频 我需要视频在列表视图 滚动视图中自动播放 这与 Facebook 非常相似 如果用户向下滚动并且可见区域包含视频 系统将播放视频 如果仍然滚动 则会自动停止该视频 它应该像一次播放一个视频一样工作 有人可以帮我解决这个问题
  • 没有 api 密钥的 YouTube 视频标题和持续时间

    如何在不使用 api 密钥的情况下获取 youtube 视频标题和时长 我检查过带有 API v3 且没有 API 密钥的 Youtube 视频标题 https stackoverflow com questions 30084140 yo
  • 第301章

    Problem 访客打开网址website com i 133r534 213213 12312312但此网址不再有效 需要将其转发到website com 视频 133r534 213213 12312312 我尝试过的 在过去的几个小时
  • 如何将视频转换为base64数据

    我有一个应用程序 可以从相机或图库中获取视频并将其转换为 Base64 数据 并将该数据发送到服务器 但问题是每当我转换 Base64 数据时 videodata 变量中的数据都不是正确的 为此我使用了下面的代码 FileInputStre
  • ios 将 alpha 通道视频叠加在另一个视频上

    我一直在尝试创建一个视频模板 该模板使用 alpha 通道视频叠加在 mp4 视频和图像上 这就是我需要创建视频的方式http viewptch ptchcdn com rendered 52b28a9f8d4f980f3a3f99c3 c

随机推荐