7 шокирующих фактов о YouTube Shorts, которые заставят вас отключить их навсегда

10 января 2026 г.

Вступление

В последние годы короткие видеоролики стали новой валютой внимания в интернете. Платформы гонятся за тем, чтобы удержать пользователя в бесконечном потоке контента, а YouTube, пытаясь не отставать от TikTok, запустил YouTube Shorts. На первый взгляд – удобный способ быстро потреблять контент, но за яркими превью скрывается целый набор проблем, которые уже обсуждают пользователи Reddit. Почему миллионы людей жалуются на навязчивость Шортс, какие решения они предлагают и как можно технически обойти эту «мусорную» ленту? Об этом и пойдёт речь в статье.

«Пустая сеть не держит воду» – японское хокку, напоминающее, что без возможности выбора контент быстро вытесняет всё ценное.

Пересказ Reddit‑поста своими словами

На субреддите, посвящённом YouTube, пользователи собрали несколько ярких комментариев:

  • Expensive_Finger_973 предложил добавить в настройки аккаунта кнопку «Скрыть Shorts», аналогичную отключению автоплей. По его мнению, такой простой переключатель избавил бы тех, кто не хочет видеть короткие ролики.
  • WillingPlayed пожаловался, что нельзя упорядочить подписки в алфавитном порядке – простая функция, которая, по его мнению, «слишком сложна» для большинства платформ.
  • kc_______ отметил, что YouTube стремится «кормить» пользователей тем, что платят рекламодатели, а не тем, что они действительно хотят видеть. Отсутствие гибкой фильтрации – следствие этой стратегии.
  • MidWestKhagan выразил раздражение тем, что после просмотра лишь секунды Шорта система считает, что пользователь полностью увлечён этим форматом.
  • RunDNA поддержал идею скрытия Shorts и добавил, что текущий поиск по длительности (меньше 3 мин, 3‑20 мин, более 20 мин) слишком груб и нуждается в более тонкой настройке.

Все эти реплики объединяет одно – пользователи хотят контроля над тем, что им показывается, а YouTube, по их мнению, этого контроля лишает.

Суть проблемы, хакерский подход и основные тенденции

Проблема многогранна:

  1. Навязчивость формата – Shorts автоматически подстраиваются под алгоритм «показать больше», часто прерывая просмотр более длинных видео.
  2. Ограниченные настройки – в текущей версии YouTube нет возможности полностью отключить Shorts, а фильтры по длительности слишком грубы.
  3. Алгоритмический контроль – платформа предпочитает показывать рекламодателям выгодный контент, а не то, что пользователь выбирает сам.

Хакерский подход к решению состоит в том, чтобы использовать доступные API и пользовательские скрипты (например, расширения для браузера), которые скрывают элементы Shorts в интерфейсе и добавляют более гибкие фильтры.

Тенденции рынка подтверждают, что короткие форматы растут: по данным Statista, в 2023 году более 70 % времени просмотра на мобильных устройствах приходилось на видео до 60 секунд. Это делает проблему актуальной для большинства пользователей, которые предпочитают более «серьёзный» контент.

Детальный разбор проблемы с разных сторон

Точка зрения пользователя

Для обычного зрителя Shorts – это «шум», который мешает сосредоточиться на подписках, плейлистах и рекомендациях. Пользователи жалуются на:

  • Потерю времени из‑за автоплей.
  • Снижение качества рекомендаций, так как алгоритм переоценивает короткие ролики.
  • Отсутствие возможности быстро найти видео нужной длительности.

Точка зрения платформы

YouTube видит в Shorts способ удержать молодую аудиторию и увеличить рекламные доходы. Короткие ролики легче монетизировать, а их высокая частота просмотра повышает общие метрики вовлечённости. Поэтому компания инвестирует в продвижение Shorts, а не в их скрытие.

Точка зрения рекламодателя

Рекламодатели получают доступ к огромной аудитории, которая готова смотреть рекламу в течение нескольких секунд. Это делает Shorts привлекательным каналом для брендов, желающих быстро донести сообщение.

Техническая сторона

Технически Shorts реализованы как отдельный раздел ленты, но используют те же API, что и обычные видео. Это позволяет разработчикам писать пользовательские скрипты, которые фильтруют контент по параметрам shorts в URL или по длительности duration<60.

Практические примеры и кейсы

Рассмотрим два сценария:

  1. Кейс 1: Пользователь хочет полностью избавиться от Shorts. С помощью расширения uBlock Origin и пользовательского фильтра можно скрыть все элементы, содержащие /shorts/ в URL.
  2. Кейс 2: Пользователь ищет видео длиной от 5 до 10 минут. Стандартный поиск YouTube не позволяет задать такой диапазон, но с помощью YouTube Data API можно сформировать запрос с параметром videoDuration=medium и дополнительно отфильтровать результаты по точному времени.

Экспертные мнения из комментариев

«YouTube не хочет, чтобы вы выбирали, что смотреть, они хотят кормить вас тем, что вы будете смотреть» – kc_______

«Shorts так раздражают. Вы смотрите секунду ролика, а система считает, что это всё, что вам интересно» – MidWestKhagan

«Опция скрыть Shorts в настройках – элементарно, как отключить автоплей» – Expensive_Finger_973

Возможные решения и рекомендации

Существует несколько уровней решения проблемы:

1. На уровне платформы

  • Внедрить в Настройки аккаунта переключатель «Скрыть Shorts».
  • Расширить фильтры поиска по длительности: до 1 мин, 1‑3 мин, 3‑5 мин, 5‑10 мин, более 10 мин.
  • Позволить пользователям сортировать подписки в алфавитном порядке.

2. На уровне пользователя

  • Установить браузерное расширение, блокирующее элементы Shorts.
  • Создать пользовательский плейлист с фильтром по длительности через YouTube Data API.
  • Отключить автоплей в настройках и использовать режим «Тёмный» для уменьшения визуального шума.

3. На уровне разработчика

Разработать небольшой скрипт, который автоматически скрывает Shorts и добавляет кнопку «Показать/Скрыть Shorts» в интерфейсе. Ниже – пример такого скрипта.

Практический пример кода на Python

Скрипт использует YouTube Data API v3 для получения списка видео из подписок, фильтрует их по длительности и исключает короткие ролики (меньше 60 сек). При желании можно добавить параметр hide_shorts=True, чтобы полностью убрать их из результата.


# -*- coding: utf-8 -*-
"""
Пример скрипта, который получает список видео из подписок пользователя,
фильтрует их по длительности и исключает короткие ролики (Shorts).
Требуется API‑ключ YouTube Data API v3.
"""

import os
import json
import requests
from datetime import datetime, timedelta

# ------------------- Конфигурация -------------------
API_KEY = os.getenv('YT_API_KEY')  # задайте переменную окружения YT_API_KEY
BASE_URL = 'https://www.googleapis.com/youtube/v3'
# Параметры фильтрации
MIN_DURATION_SECONDS = 60          # минимальная длительность (1 минута)
MAX_DURATION_SECONDS = 600         # максимальная длительность (10 минут)
HIDE_SHORTS = True                 # если True – полностью исключаем ролики < 60 сек
# ----------------------------------------------------

def iso8601_to_seconds(iso_duration: str) -> int:
    """
    Преобразует длительность в формате ISO 8601 (PT1M30S) в секунды.
    """
    # Пример: PT2M15S -> 135 секунд
    import isodate
    td = isodate.parse_duration(iso_duration)
    return int(td.total_seconds())

def get_subscriptions(page_token: str = None) -> dict:
    """
    Получает список каналов, на которые подписан пользователь.
    Требуется OAuth‑токен с правом https://www.googleapis.com/auth/youtube.readonly.
    Для простоты примера используем публичный запрос без OAuth – получаем только
    публичные подписки (ограничено).
    """
    params = {
        'part': 'snippet',
        'mine': 'true',
        'maxResults': 50,
        'key': API_KEY
    }
    if page_token:
        params['pageToken'] = page_token
    response = requests.get(f'{BASE_URL}/subscriptions', params=params)
    response.raise_for_status()
    return response.json()

def get_videos_from_channel(channel_id: str, page_token: str = None) -> dict:
    """
    Получает список последних видео с указанного канала.
    """
    params = {
        'part': 'contentDetails,snippet',
        'channelId': channel_id,
        'maxResults': 25,
        'order': 'date',
        'key': API_KEY
    }
    if page_token:
        params['pageToken'] = page_token
    resp = requests.get(f'{BASE_URL}/search', params=params)
    resp.raise_for_status()
    return resp.json()

def filter_videos(videos: list) -> list:
    """
    Оставляет только видео, длительность которых находится в заданных границах.
    При HIDE_SHORTS исключаем ролики короче MIN_DURATION_SECONDS.
    """
    filtered = []
    for vid in videos:
        video_id = vid['id']['videoId']
        # Запрос деталей о длительности
        details = requests.get(f'{BASE_URL}/videos', params={
            'part': 'contentDetails',
            'id': video_id,
            'key': API_KEY
        }).json()
        items = details.get('items')
        if not items:
            continue
        duration_iso = items[0]['contentDetails']['duration']
        duration_sec = iso8601_to_seconds(duration_iso)

        if HIDE_SHORTS and duration_sec < MIN_DURATION_SECONDS:
            continue
        if MIN_DURATION_SECONDS <= duration_sec <= MAX_DURATION_SECONDS:
            filtered.append({
                'id': video_id,
                'title': vid['snippet']['title'],
                'duration_sec': duration_sec,
                'url': f'https://youtu.be/{video_id}'
            })
    return filtered

def main():
    # Получаем подписки (упрощённо, без пагинации)
    subs_data = get_subscriptions()
    channels = [item['snippet']['resourceId']['channelId'] for item in subs_data.get('items', [])]

    all_filtered = []
    for ch_id in channels:
        videos_data = get_videos_from_channel(ch_id)
        videos = [item for item in videos_data.get('items', []) if item['id']['kind'] == 'youtube#video']
        filtered = filter_videos(videos)
        all_filtered.extend(filtered)

    # Сохраняем результат в JSON‑файл
    with open('filtered_videos.json', 'w', encoding='utf-8') as f:
        json.dump(all_filtered, f, ensure_ascii=False, indent=2)

    print(f'Отфильтровано {len(all_filtered)} видео, данные сохранены в filtered_videos.json')

if __name__ == '__main__':
    main()

Скрипт демонстрирует, как с помощью официального API собрать видеоматериал из подписок, отфильтровать его по длительности и полностью исключить короткие ролики (Shorts). При желании можно добавить пользовательский интерфейс или интегрировать результат в собственный медиаплеер.

Заключение и прогноз развития

Проблема навязчивых Shorts – это столкновение интересов: платформа стремится к росту рекламных доходов, а пользователи – к контролю над своим контентом. Текущие запросы Reddit‑сообщества ясно показывают, что простые решения (кнопка «Скрыть Shorts», более гибкий поиск) могут значительно улучшить пользовательский опыт.

В ближайшие годы ожидается, что YouTube усилит инструменты персонализации, поскольку конкуренты уже предлагают тонкие фильтры (например, Instagram Reels с возможностью скрыть определённые типы контента). Если YouTube не отреагирует, часть аудитории может перейти к альтернативным сервисам, где контроль над лентой более развит.

Таким образом, для сохранения лояльности необходимо:

  • Внедрить пользовательские настройки скрытия Shorts.
  • Расширить диапазоны поиска по длительности.
  • Позволить сортировать подписки и создавать кастомные плейлисты.

Только так платформа сможет удержать тех, кто ценит качество и контроль, а не только количество просмотров.


Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE