【问题标题】:Multiple YouTube videos in a single embed URL单个嵌入 URL 中的多个 YouTube 视频
【发布时间】:2020-07-24 10:22:15
【问题描述】:

是否可以创建一个包含多个视频的开始和结束时间的嵌入 URL;像下面?

http://www.youtube.com/embed/VTNSdABrKAI?start=134&end=225/embed/I4LoGhyb2uc?start=172&end=257

因此下一个剪辑在同一视频帧中播放,而不是在网页上放置多个嵌入 URL;

http://www.youtube.com/embed/VTNSdABrKAI?start=134&end=225

http://www.youtube.com/embed/I4LoGhyb2uc?start=172&end=257

或者避免创建、编辑和上传全新的 YouTube 视频以及处理以下版权主张?

https://www.youtube.com/watch?v=9DNmc618JwE

【问题讨论】:

  • 您的意思是可以使用嵌入 URL 中的视频 ID 创建自定义播放列表吗?
  • @NewToJS,是的,包含视频 ID 的播放列表以及播放列表中每个视频的自定义开始和结束时间。

标签: url youtube youtube-api embed


【解决方案1】:

Youtube 允许您在自己的频道上programmatically create playlistsadd items to playlistsplaylistItems/insert 调用还允许您为剪辑提供 specifypositionstartAtendAt 属性,这似乎涵盖了您的用例。

使用此 API 的一个注意事项 - 您必须是 registered with them to use it

播放列表可以包含up to 200 videos

UPD 我运行了以下 API 请求并成功创建了a playlist

curl --request POST \
  'https://www.googleapis.com/youtube/v3/playlists?part=snippet%2Cstatus&key=[YOUR_API_KEY]' \
  --header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --data '{"snippet":{"title":"Sample playlist created via API","description":"This is a sample playlist description."},"status":{"privacyStatus":"unlisted"}}' \
  --compressed
curl --request POST \
  'https://www.googleapis.com/youtube/v3/playlistItems?part=snippet%2CcontentDetails&key=[YOUR_API_KEY]' \
  --header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --data '{"snippet":{"playlistId":"PL5W0uIHD5lLZAK1reCuTDFpGMPygNDWvm","position":0,"resourceId":{"kind":"youtube#video","videoId":"PLOPygVcaVE"}},"contentDetails":{"videoId":"PLOPygVcaVE","startAt":"PT4H37M0.000S","endAt":"PT4H38M0.000S"}}' \
  --compressed
curl --request POST \
  'https://www.googleapis.com/youtube/v3/playlistItems?part=snippet%2CcontentDetails&key=[YOUR_API_KEY]' \
  --header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --data '{"snippet":{"playlistId":"PL5W0uIHD5lLZAK1reCuTDFpGMPygNDWvm","position":1,"resourceId":{"kind":"youtube#video","videoId":"L_LUpnjgPso"}},"contentDetails":{"videoId":"L_LUpnjgPso","startAt":"PT8H37M0.000S","endAt":"PT8H38M0.000S"}}' \
  --compressed

但是,YouTube 似乎有 deprecatedcontentDetails.startAtcontentDetails.endAt,我建议你依赖它们:开始时间似乎仍然有效,但剪辑一直播放到结束。

我建议您查看来自 this SO thread 的建议 - 您也许可以从那里的答案中汲取一些想法(例如在播放器中使用 3rd 方或 Javascript 事件)

【讨论】:

  • 您能否分享一个包含 2 个视频的示例播放列表,其中两个视频都指定了开始和结束时间?
  • 感谢分享示例。 http://www.youtubestartend.com/ 无法添加多个视频。也找不到 JavaScript 播放器事件的示例。
猜你喜欢
  • 1970-01-01
  • 2016-01-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-27
  • 1970-01-01
  • 2013-07-11
  • 2015-06-22
相关资源
最近更新 更多