Когда я снова попытался закодировать URL-адрес YouTube в base64, значение после знака = не изменилось, за исключением первых двух букв. Последняя часть уже в base64? 
Минус знак = переводится в %3D , да, CvUN8qg9lsk уже закодирован в Base64.
  Почему они одинаковы?
Как указывает @LPChip, используемая вами функция - это кодировщик URL, который переводит только специальные символы в URL (: , / , ? , + И =) в их шестнадцатеричные эквиваленты (не нормальные буквы).
  Base64 также включает в себя другую кодировку, верно?
Хотя URL-кодирование считается формой кодирования Base64, стоит отметить, что этот термин потенциально перегружен. В Википедии (выделение добавлено):
  «Base64 - это группа похожих схем кодирования двоичного текста, которые представляют двоичные данные в строковом формате ASCII, переводя их в представление radix-64».
Короче говоря, используемая вами функция base64 не предназначена для кодирования / декодирования CvUN8qg9lsk .
В качестве небольшого примечания: если вы добавите = (заполнение) и попытаетесь перевести, например, CvUN8qg9lsk= с "обычным" кодером / декодером Base64, это может сработать. Тем не менее, вряд ли вы получите что-то стоящее (то есть значимое для людей). Вполне вероятно, что значения, которые YouTube использует для получения своих идентификаторов, являются продуктом очень специфического алгоритма, который, вероятно, не имеет отношения ни к чему, кроме Google / YouTube.