Поиск и просмотр YouTube в терминале с ytfzf

Что такое ytfzf?
ytfzf — это набор скриптов командной строки, который позволяет искать видео на YouTube и воспроизводить их без открытия браузера. Вместо прямого обращения к YouTube ytfzf использует API Invidious — альтернативного фронтенда для YouTube. При запуске ytfzf получает список «здоровых» (доступных) инстансов Invidious и выбирает один случайно для выполнения запроса.
После получения результатов ytfzf использует yt-dlp для получения потока (или скачивания) и передаёт его в mpv для воспроизведения. Такой подход избавляет вас от cookie-запросов, многих рекламных вставок и предварительных роликов.
Важно: Invidious — независимая разработка; доступность конкретных инстансов может меняться со временем.
Зачем это нужно
- Смотреть видео без браузера и без рекламы.
- Быстро искать и проигрывать ролики прямо из терминала.
- Интегрировать воспроизведение в скрипты и автоматизацию.
Как установить ytfzf на Linux
Перед установкой ytfzf установите зависимости: mpv (плеер), jq и curl (обработка API), fzf (интерактивный фильтр) и yt-dlp (скачивание/стриминг).
Обычно в Debian/Ubuntu-подобных дистрибутивах это делается так:
sudo apt update
sudo apt install jq curl mpv fzfytfzf использует yt-dlp для получения потоков. Установите yt-dlp через пакетный менеджер или pip:
# Через apt (если доступно)
sudo apt install yt-dlp
# Или через pip (рекомендуется для актуальности)
python3 -m pip install --user -U yt-dlpКлонируйте репозиторий ytfzf и перейдите в папку:
git clone https://github.com/pystardust/ytfzf
cd ytfzfСкомпилируйте/установите скрипт и документацию, затем дополнения:
sudo make install
sudo make install-doc
sudo make addonsПосле этого команда ytfzf станет доступна в системе:
ytfzfСовет: создайте алиас, если ytfzf трудно вводить:
# В вашем ~/.bashrc или ~/.zshrc
alias y='ytfzf'Как использовать ytfzf для поиска и воспроизведения
При запуске ytfzf вы увидите сообщение “Fetching list of healthy invidious instances” — это нормальная часть запуска.
В приглашении поиска (search) введите часть названия или артистa. Например, swif даст все ролики, связанные с Taylor Swift. Навигация — стрелками, подтверждение — Enter.
Используйте Tab для выбора нескольких роликов и создания плейлиста в mpv.
Если хотите увидеть миниатюры (thumbnail) перед воспроизведением, запустите с ключом -t:
ytfzf -tПримечание: не все терминалы корректно отображают миниатюры.
Можно также передать поисковый запрос прямо в командной строке:
ytfzf linuxКлючевые опции ytfzf
- -d — скачать видео с помощью yt-dlp вместо стриминга в mpv.
- -m — воспроизводить только аудио.
- -l — повторно открыть меню после остановки видео (reopen menu).
- -L — показать ссылку(и) выбранного ролика(ов) вместо воспроизведения.
- -a — автоматически выбрать первый результат (useful for scripts).
- -r — автоматически выбрать случайный ролик.
Примеры:
ytfzf -a taylor bejeweledЭта команда автоматически выберет первый результат для запроса “taylor bejeweled” и сразу запустит mpv.
ytfzf -d linux tutorialСкачает выбранный ролик вместо воспроизведения.
Сценарии использования и примеры
- Быстро посмотреть музыкальный клип, не открывая браузер.
- Составить плейлист конференции или подкаста с помощью Tab и Enter.
- Интегрировать в скрипт для фоновой загрузки лекций через
-d.
Мини-cheatsheet команд:
# Запустить поиск
ytfzf
# Прямой поиск и воспроизведение
ytfzf cats
# Показать ссылки вместо воспроизведения
ytfzf -L linux
# Скачать выбранный ролик
ytfzf -d 'rust tutorial'
# Только аудио
ytfzf -m 'podcast name'Частые проблемы и решения
Важно: если mpv не запускается, проверьте, что путь к mpv в PATH и что yt-dlp корректно установлен.
- Проблема: “No healthy invidious instances” — значить список инстансов недоступен или ваш интернет блокирует запросы. Решение: проверьте доступность внешнего соединения и попробуйте позже.
- Проблема: нет звука в mpv — проверьте системные звуковые устройства и кодеки.
- Проблема: миниатюры не отображаются — используйте совместимый терминал (например, iTerm2, Kitty) и включите опцию
-t.
Роль‑ориентированные контрольные списки
Для пользователя (быстрый старт):
- Установлены mpv, yt-dlp, jq, curl, fzf.
- Клонирован репозиторий и выполнены make install.
- Создан удобный алиас (по желанию).
- Проверено воспроизведение простого запроса.
Для администратора (развёртывание в нескольких машинах):
- Обновить yt-dlp до последней версии (pip/pacakge).
- Настроить системные алиасы/скрипты для пользователей.
- Ограничить доступ к сетевым инстансам Invidious при необходимости.
Для разработчика/интегратора:
- Проверить совместимость вызовов yt-dlp и mpv (параметры командной строки).
- Добавить логи и обработку ошибок в автоматизированные сценарии.
Модель принятия решения: стримить или скачивать
flowchart TD
A[Начало: есть интернет?] -->|Да| B{Нужен ли офлайн-доступ?}
A -->|Нет| C[Использовать -d для скачивания при первом удобном подключении]
B -->|Да| D[Запустить ytfzf -d и сохранить файл]
B -->|Нет| E[Стримить через mpv]
D --> F[Организовать файлы в медиатеке]
E --> G[Проверить буфер и качество]Короткий глоссарий (1 строка)
- Invidious — альтернативный фронтенд к YouTube, предоставляющий API без прямого взаимодействия с сайтом.
- yt-dlp — форк youtube-dl, инструмент для получения медиа-потоков и загрузки.
- mpv — лёгкий кросс‑платформенный медиаплеер с поддержкой потоков.
- fzf — интерактивный фильтр для терминала (поиск/выбор).
Безопасность и конфиденциальность
ytfzf снижает количество запросов к официальному YouTube, что уменьшает количество cookie и отслеживания со стороны Google. Однако Invidious-инстансы могут иметь свои политики логирования — учитывайте это при работе с конфиденциальным контентом.
Итог
ytfzf — удобный инструмент для тех, кто предпочитает терминал: он упрощает поиск и просмотр контента без браузера, даёт гибкость стриминга или скачивания и легко интегрируется в рабочие процессы. Попробуйте настроить алиас и создать пару скриптов автоматизации для своих сценариев использования.
Важно: сохраняйте обновлённость yt-dlp и mpv, чтобы избежать проблем с совместимостью потоков и кодеков.
Краткие шаги для старта: установите зависимости, клонируйте репозиторий, выполните make install и запустите ytfzf.
Похожие материалы
Копирование файлов на USB на Mac
Как отформатировать диск в Windows 11
Резервное копирование Windows с Macrium Reflect
Восстановление удалённых закладок в Chrome и Firefox
Как выбрать телефон для LineageOS