Что такое индификатор видео
Где найти Айди Ютуб канала и видео ролика
Все авторы и размещаемые ими ролики на ютуб имеют особые коды. Это набор символов, который называется идентификатор канала или видео, но как узнать его и зачем он нужен – могут ответить далеко не все блогеры.
Что это такое и для чего используется
Об этом параметре знают не все, однако он был введен достаточно давно, после масштабного обновления YouTube в 2006 году. Это уникальный код, как правило, состоящий из латинских букв, цифр и символов. Механизм его формирования до конца не ясен, как и то, что значит идентификатор ютуб канала: нет никакой зависимости от страны аккаунта, тематики или возрастных ограничений.
Но зато давно известны цели, для которых он может понадобиться:
Как посмотреть
Найти «Код» любого канала:
Перед тем, как узнать id канала на youtube, выберем один из способов, которым можно воспользоваться. Первый универсален, и сможет получить информацию и по своему, и по чужому аккаунту. Второй подойдет для владельцев аккаунтов.
Вариант 1 — По URL-адресу
Внимание: в некоторых случаях вместо слова «channel» используется «user» или просто буква «c».
Вариант 2 — Из меню настроек
Если вам нужна информация по вашему собственному профилю, делаем так:
В телефоне
Итак, мы разобрались, что такое идентификатор ютуб канала и как его получить на ПК, а теперь разберем, как узнать его на телефоне андроид или айфоне.
Способ 1. При помощи приложения
Способ 2. При помощи браузера
На многих смартфонах настроено открытие ютуба через мобильное приложение. Даже если вы хотите открыть видео через браузер, он все равно автоматически открывает его в приложении. Если ваш телефон не имеет такой настройки, вы можете узнать айди любым из способов, описанных в первой части обзора. Для этого:
Изменить его
Наверняка вы заметили, что у некоторых авторов вместо стандартного набора непонятных символов в адресной строке стоит красивый адрес, в котором использовано название или никнейм (например: youtube.com/yourcustomname или youtube.com/c/yourcustomname).
Перед тем, как изменить id канала на youtube, нужно выполнить несколько условий:
Если вы выполнили все это: ↓
ID конкрентного ролика
Все видео также персонально пронумерованы и имеют свои url адреса. Эти данные также не являются секретными, каждый пользователь может посмотреть код любого элемента. Как узнать id видео ролика на youtube:
Для пользователей мобильного приложения, есть еще один способ, как найти id видео на youtube:
Этот способ подходит как для ПК, так и для мобильного приложения. После этого в вашем буфере приложения будет храниться url адрес видеоролика.
Вы можете вставить его в любом приложении, а символы в хвосте ссылки после равно – и есть айди.
Полная информация про ошибку идентификатора youtube
Каждый день на видеохостинг заходят миллионы пользователи: одни являются частыми гостями YouTube, а другие – впервые знакомятся с сервисом……….
Нередко у пользователей возникает множество сложностей, которые могут препятствовать просмотру, поэтому сегодня мы решили освятить достаточно распространенную проблему.
→ Речь идет об ошибке идентификатора воспроизведения YouTube, при этом возникает надпись «Повторите попытку позже».
• Также мы поведаем о тонкостях настройки идентификатора канала и прочее. ↓↓↓
Что нужно знать об этой проблеме
→ Если говорить простыми словами, то идентификатор – это определенная последовательность символов и цифр, присвоенная конкретному разделу, каналу и прочее.
Основная задача этого кода – идентифицировать конкретный объект среди десятков тысяч аналогичных……
На YouTube существует десятки различных идентификаторов, но для повседневной деятельности вам необходимо лишь знать об основных из них.
В частности, ниже мы поговорим о следующих из них : ↓↓↓
Популярные ошибочки
У каждого ролика на YouTube имеется свой идентификатор, позволяющий десяткам тысяч пользователей просматривать популярные видео.
Этот код состоит из цифр и букв, перед которыми находится url (http://youtube.com).
Этот код может просматривать любой пользователь системы.
Нередко зрители сталкиваются с проблемой «Ошибка идентификатора воспроизведения на YouTube». ↓
• Данная ошибка, как правило, не связана с проблемами на сервере, а говорит о том, что имеется несоответствие данных на компьютере пользователя и на хостинге.
Если данная проблема возникает неоднократно, и вы хотите устранить ее, то мы можем посоветовать следующее :
Как показывает практика, чаще всего на YouTube возникает ошибка идентификатора «Повторите попытку позже» в связи с тем, что имеется несоответствие даты и времени на вашем компьютере.
Если вы исправите эту проблему, то видео вновь должно заработать.
Идентификатор канала: все самое важное
Мы уже вкратце упоминали о том, что такое идентификатор канала. По сути, это часть ссылки, находящаяся после параметра «channel» в строке браузера.
Детально изучить идентификатор можно по ссылке — https://www.youtube.com/account_advanced
К слову, здесь вы также можете увидеть идентификатор пользователя.
Для многих пользователей доступна функция «изменить идентификатор канала», благодаря чему можно получить оригинальный адрес, который с легкостью запомнят ваши зрители.
Требования к каналу на данный момент следующие:
Изменить URL канала можно только один раз, поэтому отнеситесь с вниманием к этому вопросу.
Инструкция, как просто изменить идентификатор канала:
ID отслеживания аккаунта на GoogleAnalytics
Google Analytics – популярный сервис, предназначенный для отслеживания активности аудитории на сайтах, в сервисах YouTube и прочее.
→ Для получения таких данных на сайте должен быть размещен специальный Java код сервиса
• Наиболее важные моменты, представляющие интерес для пользователя, — это код отслеживания аккаунта Google Analytics для YouTube, идентификатор, а также номер ресурса.
Каждый из этих параметров можно регулировать с целью запрещения или разрешения доступа сервиса статистики к вашим данным….
Как найти идентификатор отслеживания в Analytics:
→ Что касается идентификатора отслеживания, то он может выглядеть так «UA-000000-04».
• Этот код позволяет системе определить, куда необходимо отсылать нужные данные.
1. Первая часть цифрового кода «000000» — номер аккаунта
2. А вторая часть «04» — соответствует номеру связанного с ним сайта.
Таким образом, мы рассмотрели наиболее популярные виды идентификаторов в системе, а также устранения популярных ошибок, связанных с ними .
YouTube — Ошибка. Повторите попытку позже. Идентификатор воспроизведения:
Чуть больше месяца назад стал замечать, что почти каждая попытка посмотреть видео с YouTube на десктопном компьютере начинается с сообщения об ошибке.
В этом нет ничего фатального, так как видео все же начинает воспроизводится после одного-двух-трех обновлений страницы. По факту, можно и вообще ничего не делать, так как ошибка пропадает «сама собой» через некоторое время. Достаточно просто немного подождать и видео начнет воспроизводиться самостоятельно.
Подобное поведение плеера YouTube, хоть и не выглядит серьезной проблемой, но через какое-то время начинает раздражать. Поэтому, увидев в очередной раз сообщение об ошибке, я решил с этой проблемой следует разобраться.
Под катом — причина возникновения ошибки (для тех, кому лень читать, это AdBlock), и что с этим можно сделать. Конечно, кроме отключения самого блокировщика рекламы.
Советы из Интернета
Поиск в интернете выдает множество страниц, с якобы «решениями» данной проблемы. Большинство советов заключается в установке или наоборот удалении Flash плеера, переустановке Internet Explorer и прочими сомнительными рецептами, которые ну никак не помогут пользователю с Ubuntu на декстопе.
И после просмотра какой-то по счету ссылки, мне стало понятно, что все эти страницы сделаны практически под копирку и предназначены для привлечения таких как я пользователей на сайты, но никак не помогают решать обозначенную проблему.
И все же среди поискового мусора, я наткнулся на ссылку с обсуждением моей проблемы: support.google.com/youtube/thread/10670058?hl=ru
Причем, если обновлять страничку с видео, то после 4-5 неудачных попыток с ошибкой ролик может начать воспроизводиться нормально. …
Тоже возникла такая проблема, причём относительно недавно.
Перепробовал многое из вышеописанного.
Решения пока что походу нет, ну если не считать 100% действенное — это премиум аккаунт с ежемесячной платой и никаких ошибок и рекламы по умолчанию.
Настройка времени и даты, переустановка Адблока и т.п не помогла.
Совет: Не в коем случае не выключайте Адблок (у меня стоял и стоит АдГуард)…
Просто при ошибке нажмите F5 на клавиатуре — это займет 1сек и страница обновится и видео пойдем своим чередом. Я для эксперимента выключил АдГуадрд и втыкал на два видео рекламы, которые нельзя пропустить 1) 30секунд 2) 1:20… Идут они лесом…
Но так как ежемесячная плата за отключения рекламы не получила одобрения у моей внутренней жабы, поэтому решил покопаться дальше в этой теме самостоятельно.
Техническая часть
Если открыть консоль браузера, то можно наблюдать некоторую синхронность между сообщением об ошибке загрузки одного скрипта и моментом обновления информации об ошибке в плеере YouTube.
Причем, через какое-то время, плеер пытается перезагрузить указанный скрипт. И если его повторная загрузка так же была неудачной, то сразу после этого начинается воспроизведение видео-ролика.
Опытным путем стало понятно, что информация об ошибке в плеере отображается после первой неудачной загрузки скрипта
Загрузка script по адресу «https://tpc.googlesyndication.com/sodar/56-y-0RG.js» не удалась.
Совет: Не в коем случае не выключайте Адблок (у меня стоял и стоит АдГуард)…
Просто при ошибке нажмите F5 на клавиатуре — это займет 1сек и страница обновится и видео пойдем своим чередом. Я для эксперимента выключил АдГуадрд и втыкал на два видео рекламы, которые нельзя пропустить 1) 30секунд 2) 1:20… Идут они лесом…
Тривиальное решение
Тем не менее, проблема с раздражающей ошибкой оставалась не решенной.
Чтобы проверить предположение, что ошибка происходит не из-за отсутствия рекламы, а вследствие ошибки загрузки скрипта, попробовал временно добавить tpc.googlesyndication.com в белый список хостов AdBlock`a.
И ура, о чудо! Ошибка при начальном старте ролика исчезла, а реклама продолжается блокироваться как и раньше.
Хочу как у YouTube
Вы когда-нибудь задумывались как устроен ID видео на YouTube?
Возможно, вы уже знаете/нашли ответ, но, как показали обсуждения на Stack Overflow, многие понимают эту технологию неправильно. Если вам интересно изучить что-то новое, добро пожаловать под кат.
Структура ID
Для начала, вспомним что из себя представляет ID видео на YouTube.
ID имеет длину 11 знаков (раньше был длиною 9 знаков).
Зачем это нужно
Как это ни странно, но большинство пользователей и разработчиков ошибочно полагают, что такие ID нужны для защиты от грабберов, которые перебором ID могут скачать весь контент сайта.
Поэтому многие всерьез рассматривают такие ID как систему защиты и придумывают сложные алгоритмы хеширования своих инкрементных числовых идентификаторов, пишут библиотеки и продвигают их.
Тем не менее, хочу вас удивить, это не хешированное число, а просто строка. И даже не инкрементная строка, а случайно генерируемое значение по аналогии с UUID, только заметно компактней.
Это может быть сложно понять тем, кто всегда работал с инкрементными идентификаторами и полагался в этом на БД. У генерируемого идентификатора есть своё назначение, свои преимущества и недостатки перед инкрементным идентификатором.
Генерируемый идентификатор в распределенных системах
Впервые мы сталкиваемся с генерируемым идентификатором в распределенных системах.
Проблема инкрементных идентификаторов в том, что их создаёт БД. Для сохранения консистентности данных нам необходима одна master БД, которая будет генерировать их. Это повышает нагрузку на нее и затрудняет шардинг.
Некоторые решают эту проблему созданием отдельной БД или сервиса, который занимается исключительно генерацией ID. Но все усложняется, когда нам необходимо разнести сервера географически, подключить регионы.
Решение — вести локальный ID и, при периодической синхронизации с главным сервером, получать от него сквозной ID для всей системы. То есть на региональных серверах у нас будет 2 ID — локальный и сквозной.
Для решения подобных проблем и были придуманы генерируемые идентификаторы такие как UUID. За счёт большого количества комбинаций, мы добиваемся очень маленькой вероятности конфликта идентификаторов. Поэтому, мы можем доверить генерацию глобального ID конкретным инстансам приложения.
DDD и идентификаторы
Понятие Domain-driven design (DDD) хорошо описано в книгах Эрика Эванса и Вон Вернона. Общая идея DDD сводится к акцентированию внимания на нашей предметной области, стремление к проектированию систем максимально приближенных к реальному миру. Здесь же я хочу рассказать о роли идентификаторов в DDD.
В понятиях DDD подхода нельзя создавать сущности без идентификатора. Инициализируя новый инстанс сущности, идентификатор в ней уже должен быть. То есть, идентификатор создаваемой сущности должен передаваться ей в конструкторе или передаваться ей сервис доменного уровня для получения идентификатора или это должен быть естественный идентификатор формируемый самой сущностью.
Необходимость наличия идентификатора может возникнуть если мы захотим бросить доменное событие при создании сущности. Если в событии не будет идентификатора, то у слушателей могут возникнуть проблемы с идентификацией сущности.
В тоже время, в БД используется инкрементный ключ на вставку. Пока мы не запишем данные в БД, мы не сможем получить идентификатор для сущности. Нестыковка получается. Мы не можем создать сущность потому, что у нас нет ID, и мы не можем получить ID из БД потому, что для этого нужно записать сущность в БД.
Есть разные способы решения этой проблемы. Один из них — это случайно генерируемый идентификатор, о котором мы сейчас и говорим.
Недостатки
У генерируемых идентификаторов есть и недостатки. Куда же без них.
Очевидными недостатками являются время генерации идентификатора и вероятность коллизии/конфликта идентификаторов. О вероятности конфликта мы и поговорим в следующем разделе.
Вероятность коллизии ID
Давайте вспомним курс комбинаторики и прикинем количество комбинаций. Нам потребуется формула Размещение с повторениями.
Для UUID количество комбинаций известно, но мы всё же рассчитаем их для сравнения.
У UUID много хорошего и многие им успешно пользуются. Лично мне он не нравится тем, что он ну очень длинный, занимает много места в БД и его затруднительно использовать в URL, хотя некоторых это не смущает.
YouTube ID
А теперь сравним UUID и YouTube видео ID и высчитаем количество комбинаций.
Чтобы хоть как-то осознать это число, представьте, что для получения всех возможных значений идентификаторов длиной 11 символов и создавая идентификатор каждую наносекунду, вам потребуется 2 339 лет.
А для того, чтобы получить такое же количество комбинаций как у UUID нам потребуется 2 128 = 64 21 строка длиною 21 символов, то есть почти в 2 раз короче UUID (37 символов). А если мы возьмём идентификатор такой же длины как у UUID, то мы получим 64 37 = 2 222 против 2 128 у UUID.
Самое главное преимущество такого подхода в том, что мы сами управляем количеством комбинаций путем изменения длины строки.
Не сложно догадаться, что можно сделать идентификатор еще более компактным взяв большее множество знаков. Например, взяв множество из 128 знаков и тогда, идентификатор длиной 18 знаков даст нам 128 18 = 2 126 комбинаций, что сравнимо с UUID. Но это экономит нам всего несколько символов, а проблем добавляет целую кучу. Увеличивая количество используемых знаков мы сталкиваемся с проблемой использования зарезервированных знаков или с проблемой расхождения кодировки знаков. Поэтому я рекомендую ограничится 64 знаками и играться только с длиной идентификатора.
Для расчета вероятности коллизии воспользуемся формулой из статьи про UUID на Википедии.
Где
N — количество возможных вариантов.
n — число сгенерированных ключей.
Возьмем идентификатор длиною 11 знаков, как у YouTube, что даст нам N = 64 11 = 2 66 и соответственно мы получим:
Это даёт нам гарантию, что первые несколько миллионов идентификаторов будут уникальными. Не самый плохой результат для столь короткого идентификатора.
Генерация ID
И наконец-то код. Генерируется ID элементарно.
А теперь прикинем как это может использоваться в вашей предметной области при использовании DDD подхода. Допустим, мы хотим использовать наш новый ID в сущности Статья. Для начала создадим ValueObject для идентификатора статьи, чтобы однозначно идентифицировать принадлежность идентификатора к статье.
Теперь создадим интерфейс сервиса предметной области для получения ID. Сервис нам нужен для инкапсуляции генерации ID и подмены при необходимости.
Создадим имплементацию конкретного сервиса генератора ID статьи, использующий наш новый генератор случайных идентификаторов.
Теперь мы можем создать сущность Статьи с идентификатором.
Заключение
Вот таким простым способом мы получили управляемый генерируемый идентификатор с высокой степенью уникальности. Использовать ли генерируемые идентификаторы в своих проектах, решать вам, но их плюсы очевидны.
А вы используете генерируемые идентификаторы? Расскажите в комментариях.
PS: Для тех кому лень писать свое, есть готовая библиотека под PHP 5.3+
PSS: Для расчетов могу порекомендовать этот онлайн калькулятор.
Update 02-02-2018
Цель этой статьи показать принцип, преимущества и недостатки генерируемых идентификаторов, а не принизить заслуги UUID или выдвинуть Base64 как лучшее решение.
Update 05-02-2018
Подведем небольшой итог обсуждения в комментариях.
medvedevia очень верно подметил, что UUID можно упаковать в base64, за что ему спасибо. Упакованный UUID, на выходе даст нам строку длиною 22 символа, что уже заметно компактней.
Однако, UUID все ещё длинный и имеет ряд других недостатков описанных sand14, за что ему отдельное спасибо.
В качестве альтернативы можно рассмотреть Snowflake ID, предложенный MikalaiR. Его успешно используют в Twitter и Instagram.
Snowflake ID представляет из себя 64 битный номер:
Sequence инкрементируется в тех случаях, когда timestamp генерируемого id, совпадает с timestamp последнего сгенерированного id. Своего рода защита от коллизии на локальном уровне.
Довольно простая схема получается. Плюсами Snowflake ID будут:
А теперь поговорим о недостатках Snowflake:
Первая проблема заключается в том, что приложение, генерирующее id, может работать на одном сервере в разных процессах. В результате мы можем получить коллизию уже в пределах одного сервера. Использовать id процесса при генерации id нельзя по ряду причин.
Решение, либо выносить генерацию id в микросервис, либо заставить мастер процесс, запускающий дочерние процессы с приложением, передавать в дочерние процессы какой-то id, который уже можно будет использовать в алгоритме.
Вторая проблема, это раскрытие информации о инфраструктуре проекта. Количество серверов и количество датацентров.
Третья проблема заключается в использовании timestamp. Время величина бесконечная и загоняя его в рамки мы обрекаем себя на провал.
Как я уже написал в комментариях, уже сейчас длина timestamp составляет 41 бит и уже в 2039 длина составит 42 бита. Мы получим переполнение места и генерация id начнется с нуля, то есть мы будем получать id, такие же как и 69 лет назад. А когда длина timestamp составит 43 бита (2248 год) мы получим переполнение Integer.
Twitter может пренебречь этой проблемой, так как он может просто не хранить твиты столько времени, но это применимо не для всех.
Есть так же несколько решений. Как сказал MikalaiR, можно изменить дату начала отсчёт времени, например на начало эпохи 2000-01-01, что отложит неизбежное ещё на 30 лет.
Более правильное решение предложил devalone. Можно перераспределить биты и увеличить место под timestamp, например до 45 бит, что отложит переломный момент до 3084 года, а переполнение Integer мы получим только в 4199 году.
Пример генерации Snowflake id:
Казалось бы, вот он YouTube id, но нет. Если вы сгенерируете несколько id, то вы увидите, что они почти не отличаются, а последние 4 символа вообще константа.
Для сравнения, id видео загруженных на YouTube с разницей в несколько секунд.
Сравнив идентификаторы в бинарном представлении можно так же убедится, что Snowflake id имеет значительно больше сходств чем YouTube
Я все ещё склонен думать, что YouTube использует случайно или псевдослучайно сгенерированные значения.
Update 21-02-2018
Описанный в статье метод генерации идентификатора приведен как пример. Не акцентируйте внимание на конкретном примере.
Для сравнения хочу привести несколько дополнительных примеров генерации идентификатора, чтобы было с чем сравнивать. Все они используют генераторы криптографически безопасных случайных чисел.
Генерация случайных знаков
Плюсы
Минусы
Побайтовая генерация ID
Плюсы
Минусы
Случайные числа и временная метка
Плюсы
Минусы
Случайные числа и плавающая временная метка
Плюсы
Минусы
Генерация случайных байт
Плюсы
Минусы
PS: Поправьте меня в комментариях если я что-то упустил.