首页 > 解决方案 > Youtube 生成视频片段的算法是什么?

问题描述

当我们在 YouTube 上打开视频时,我们会在 URL 中看到一些随机字符,例如https://www.youtube.com/watch?v=cpp69ghR1IM.

这项工作是否有算法,或者它只是创建随机字符串并检查它是否在数据库中?既然 YouTube 有大量的视频,那么检查这个生成的随机字符串的唯一性不会浪费时间吗?

另外,为什么 YouTube 不使用由视频标题生成的更好的 slug?例如:https://www.youtube.com/watch/Some-Dummy-Video-Title

提前致谢。

标签: algorithmyoutubeslug

解决方案


11 个字符的 base64 字符串只是一个编码的长整数。

很难确定,但我怀疑它们以序列号开头,并使用类似于我在https://stackoverflow.com/a/34420445/56778中描述的乘法逆运算的东西来混淆它。然后,他们对结果进行 base64 编码。

有关更详细的处理方法,请参阅我的博客文章http://blog.mischel.com/2017/06/20/how-to-generate-random-looking-keys/

至于为什么他们不使用更好看的蛞蝓,你得问他们。我想出了一些可能性。

  1. 很容易确保它们的 base64 编码数字是唯一的。强制标题的唯一性是困难的。
  2. 他们可能不得不对那些看起来更好看的标题运行某种“淘气词”过滤器。这是一个令人惊讶的难题。
  3. 使视频标题的编辑更加困难。
  4. 有时视频标题包含垃圾。
  5. 现有的蛞蝓很容易生成,没有争议,反正没人看。为什么要在他们身上浪费时间?
  6. 因为他们一直都是这样做的。

推荐阅读