HackTV: руководство по передаче аналогового ТВ через SDR

Все статьи

Публикация: 21 марта 2026 | Время чтения: 15 минут


HackTV — это мощный инструмент с открытым исходным кодом для генерации и передачи аналоговых телевизионных сигналов с использованием программно-определяемых радиоприёмников (SDR). Программа поддерживает множество стандартов: от классических PAL, NTSC и SECAM до исторических форматов и даже стандартов NASA Apollo.

В этом руководстве мы подробно рассмотрим установку, настройку и практическое использование HackTV для создания собственных аналоговых ТВ-передач.

HackTV Analog TV Transmission
HackRF One передаёт тестовый сигнал HackTV


Что такое HackTV?

HackTV — это программа, которая генерирует базовый сигнал (baseband) аналогового телевидения, который затем передаётся через SDR-устройство. Ключевая особенность программы — возможность работы с множеством стандартов вещания.

Поддерживаемые стандарты

СтандартСтрокЧастота строкРегион
PAL-B/G62515625 ГцЕвропа, Австралия
PAL-I62515625 ГцВеликобритания
NTSC-M52515734 ГцСША, Япония
SECAM-L62515625 ГцФранция
SECAM-D/K62515625 ГцРоссия, Восточная Европа

Дополнительные возможности

  • Телетекст (для 625-линейных стандартов)
  • Стереозвук NICAM
  • Системы кодирования: Videocrypt I/II/S, Nagravision Syster
  • Защита от копирования (аналог Macrovision)
  • Входные форматы: любой формат, поддерживаемый FFmpeg

HackTV GUI Interface
Интерфейс HackTV GUI с выбором параметров передачи


Необходимое оборудование

SDR-передатчики

HackTV совместим с различными SDR-устройствами через разные интерфейсы:

УстройствоДиапазон частотПолосаИнтерфейс
HackRF One1 МГц – 6 ГГц20 МГцНативный
LimeSDR Mini100 кГц – 3.8 ГГц61 МГцSoapySDR
ADALM-Pluto325 МГц – 6 ГГц56 МГцSoapySDR
RTL-SDR + fl2kдо 2 ГГц8 МГцfl2k

Рекомендация: Для начала лучше всего подходит HackRF One — он имеет наилучшую поддержку и документацию.

HackRF One Device
HackRF One — основное устройство для экспериментов с HackTV

Антенны и аксессуары

Для работы вам понадобится:

  1. Эквивалент нагрузки (Dummy Load) — резистор 50 Ом для безопасного тестирования без излучения в эфир
  2. Антенна — должна быть резонансной на выбранной частоте:
  • 433 МГц → антенна 70 см (~17 см штырь)
  • 145 МГц → антенна 2 м (~50 см штырь)
  • 2.4 ГГц → WiFi антенна (~3 см)
  1. USB-кабель — качественный кабель USB 2.0 с хорошим экранированием

HackRF with Antennas
HackRF One с набором антенн для разных диапазонов


Установка и настройка

Установка зависимостей (Linux)

Для Debian/Ubuntu выполните:

sudo apt update
sudo apt install git build-essential libhackrf-dev libavutil-dev \
libavdevice-dev libswresample-dev libswscale-dev \
libavformat-dev libavcodec-dev libsoapy-sdr-dev

Для Fedora:

sudo dnf install hackrf-devel SoapySDR-devel ffmpeg-devel \
libuuid-devel gcc-c++ git

Сборка из исходников

# Клонируем репозиторий
git clone https://github.com/fsphil/hacktv.git
cd hacktv/src

# Компилируем
make

# Устанавливаем в систему
sudo make install

Проверка установки

Подключите HackRF и проверьте его:

hackrf_info

Вы должны увидеть информацию о устройстве:

Found HackRF
Index: 0
Version: v2024.02.1
Serial Number: 00000000000000000000000000000000

Установка HackTV GUI (опционально)

Если вы предпочитаете графический интерфейс:

git clone https://github.com/steeviebops/hacktv-gui.git
cd hacktv-gui
chmod +x hacktv-gui.sh
./hacktv-gui.sh

Требования для GUI: Java 11 или новее.


Подготовка видео

Аналоговое ТВ очень требовательно к параметрам видео. Неправильное разрешение или частота кадров приведут к проблемам с синхронизацией.

Рекомендованные параметры

Для PAL (Россия/Европа):

  • Разрешение: 720×576
  • Частота кадров: 25 fps
  • Соотношение сторон: 4:3 или 16:9

Для NTSC (США/Япония):

  • Разрешение: 720×480
  • Частота кадров: 29.97 fps (или 30000/1001)

Конвертация видео через FFmpeg

# Конвертация в PAL
ffmpeg -i input.mp4 -vf "scale=720:576,fps=25" \
-c:v mpeg2video -b:v 4M -c:a mp2 -ar 48000 output_pal.mkv

# Конвертация в NTSC
ffmpeg -i input.mp4 -vf "scale=720:480,fps=30000/1001" \
-c:v mpeg2video -b:v 4M -c:a mp2 -ar 48000 output_ntsc.mkv

Важно: MPEG-2 видео предпочтительнее, так как оно лучше обрабатывается HackTV.


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

Пример 1: Тестовый сигнал

Самый простой способ проверить работу — передать тестовую таблицу:

hacktv -m pal test

Эта команда сгенерирует стандартную тестовую таблицу с цветными полосами.

Analog TV Test Pattern
Тестовая таблица, сгенерированная HackTV

Пример 2: Передача на конкретной частоте

# Частота 433.92 МГц, стандарт PAL, усиление 30
hacktv -f 433920000 -m pal -g 30 output_pal.mkv

Параметры:

  • -f 433920000 — частота в герцах (433.92 МГц)
  • -m pal — стандарт вещания
  • -g 30 — усиление передатчика (0-47)

Пример 3: Сохранение сигнала в файл

Полезно для последующей передачи или анализа:

# Сохранить 10 секунд сигнала в файл
hacktv -o baseband.bin -m pal -n 10 test

Пример 4: Передача с телетекстом

hacktv -f 433920000 -m pal -g 30 --teletext subtitles.tti my_video.mkv

Файл телетекста должен быть в формате .tti.

Пример 5: Использование разных стандартов

# NTSC
hacktv -f 145000000 -m ntsc -g 30 test

# SECAM
hacktv -f 145000000 -m secam -g 30 test

# PAL-I (Великобритания)
hacktv -f 145000000 -m i -g 30 test

# PAL-B/G (Европа)
hacktv -f 145000000 -m b -g 30 test

Пример 6: Передача через SoapySDR

Для устройств LimeSDR или ADALM-Pluto:

# LimeSDR
hacktv -f 2400000000 -m pal -g 30 --soapy "driver=lime" test

# ADALM-Pluto
hacktv -f 2400000000 -m pal -g 30 --soapy "driver=plutosdr" test

Пример 7: Циклическое воспроизведение

hacktv -f 433920000 -m pal -g 30 --loop my_video.mkv

Флаг --loop заставит видео повторяться бесконечно.

Пример 8: Настройка частоты дискретизации

hacktv -f 433920000 -m pal -g 30 --sample-rate 20000000 test

Для PAL рекомендуется 20 MSPS (20 миллионов выборок в секунду).


Графический интерфейс

Если вы не любите командную строку, используйте hacktv-gui.

Color Bars Test Pattern
Тестовая таблица с цветными полосами

Возможности GUI:

  • ✅ Выбор файла видео или URL (YouTube)
  • ✅ Настройка частоты и стандарта
  • ✅ Создание плейлистов
  • ✅ Интеграция с онлайн-сервисами телетекста
  • ✅ Сохранение профилей настроек
  • ✅ Поддержка потокового видео через yt-dlp

Использование:

  1. Source — выберите видеофайл или вставьте ссылку
  2. Mode — выберите стандарт (PAL, NTSC, SECAM)
  3. Frequency — введите частоту в МГц
  4. Device — выберите ваше SDR-устройство
  5. Gain — установите усиление
  6. Нажмите Start

Настройка приёмника

Чтобы увидеть результат вашей передачи, нужен приёмник.

Вариант 1: Аналоговый телевизор

Подключите антенну к старому аналоговому телевизору:

  1. Включите ручной поиск каналов
  2. Введите частоту передачи (например, 433.92 МГц)
  3. Настройте точную частоту для лучшего качества

Примечание: Современные цифровые ТВ не поддерживают аналоговый сигнал.

Вариант 2: SDR-приёмник + ПО

Используйте RTL-SDR или другой приёмник:

Программы:

  • SDR# (Windows) — с плагинами для аналогового ТВ
  • SDR Console — продвинутый анализ сигналов
  • QSSTV — приём SSTV и аналогового видео
  • Minitioune — специализированное ПО для DATV

Настройка SDR#:

  1. Выберите устройство RTL-SDR
  2. Установите модуляцию WFM (широкая ЧМ)
  3. Введите частоту приёма
  4. Adjust bandwidth to 6-8 MHz

Вариант 3: ТВ-тюнер для ПК

Если у вас есть аналоговый ТВ-тюнер (например, на базе Philips SAA7134):

  1. Установите драйверы
  2. Используйте ProgDVB или аналогичную программу
  3. Выберите аналоговый режим
  4. Выполните сканирование каналов

Retro TV Test Pattern
Тестовая таблица на старом CRT мониторе

Вариант 4: Спектральный анализ

Для анализа сигнала используйте GNU Radio или SigDigger:

NTSC Spectrum
Спектр NTSC сигнала в GNU Radio


Решение проблем

Проблема: Устройство не найдено

Симптомы:

error: hackrf_init() failed: LIBUSB_ERROR_ACCESS

Решение:

# Добавьте правила udev
echo 'SUBSYSTEMS=="usb", ATTRS{idVendor}=="1fc9", ATTRS{idProduct}=="000c", MODE="0666"' | \
sudo tee /etc/udev/rules.d/52-hackrf.rules

# Перезагрузите правила
sudo udevadm control --reload-rules
sudo udevadm trigger

# Или запустите через sudo
sudo hacktv -f 433920000 -m pal test

Проблема: Нет изображения

Возможные причины:

  1. Неверная частота — проверьте точную частоту видеонесущей
  2. Неподходящая антенна — антенна должна быть резонансной
  3. Слишком низкое усиление — увеличьте параметр -g

Диагностика:

# Тест на минимальной мощности
hacktv -f 433920000 -m pal -g 0 test

# Постепенно увеличивайте усиление
hacktv -f 433920000 -m pal -g 20 test
hacktv -f 433920000 -m pal -g 30 test

Проблема: Чёрно-белое изображение

Причина: Несоответствие цветового стандарта

Решение:

  • Убедитесь, что ТВ поддерживает PAL/SECAM/NTSC
  • Проверьте параметр -m (стандарт)
  • Некоторые ТВ требуют ручной выбор системы цвета

Проблема: Изображение плывёт или рябит

Причины:

  1. Низкая частота дискретизации
  2. Помехи
  3. Неподходящее видео

Решение:

# Установите правильную частоту дискретизации
hacktv -f 433920000 -m pal --sample-rate 20000000 test

# Конвертируйте видео правильно
ffmpeg -i input.mp4 -vf "scale=720:576,fps=25" output.mkv

Проблема: Ошибки FFmpeg

Симптомы:

[hacktv @ 0x...] Invalid video parameters

Решение:

  • Конвертируйте видео в правильный формат
  • Используйте MPEG-2 видеокодек
  • Проверьте разрешение (720×576 для PAL)

Проблема: Перегрев HackRF

Решение:

  • Уменьшите усиление (-g)
  • Используйте радиатор или вентилятор
  • Делайте перерывы в передаче

Юридические аспекты

⚠️ Важное предупреждение

Передача радиосигналов строго регулируется законодательством. Несанкционированная передача может привести к:

  • Штрафам (в РФ от 500 до 20000 ₽)
  • Конфискации оборудования
  • Уголовной ответственности (при создании помех спецслужбам)

🇷 Россия

Регулирование:

  • Федеральный закон № 126-ФЗ «О связи»
  • Статья 13.4 КоАП РФ — нарушение правил использования радиочастот

Штрафы:

  • Граждане: 500–1000 ₽
  • Должностные лица: 1000–2000 ₽
  • Юридические лица: 10000–20000 ₽

Разрешённые способы экспериментов

1. Эквивалент нагрузки (рекомендуется)

# Подключите HackRF к резистору 50 Ом вместо антенны
# Сигнал не излучается в эфир — полностью законно
hacktv -f 433920000 -m pal -g 30 test

2. Клетка Фарадея

  • Экранированный бокс или комната
  • Сигнал не выходит за пределы

3. Любительские диапазоны (требуется лицензия)

  • 144–146 МГц (2 метра)
  • 430–440 МГц (70 сантиметров)
  • 1240–1300 МГц (23 сантиметра)

Получение лицензии:

  • Сдайте экзамен в Роскомнадзоре
  • Получите позывной сигнал
  • Зарегистрируйте оборудование

Запрещённые частоты

Никогда не передавайте на:

  • ✈️ 108–137 МГц (авиация)
  • 🚓 140–170 МГц (полиция, спецслужбы)
  • 🚑 150–170 МГц (скорая помощь)
  • 📱 450–470 МГц (силовые структуры)
  • 📡 800–900 МГц (сотовая связь)
  • 🛰️ 1500–1600 МГц (GPS/ГЛОНАСС)

Безопасный чек-лист

  • [ ] Использую эквивалент нагрузки или клетку Фарадея
  • [ ] Частота в разрешённом диапазоне
  • [ ] Имею лицензию радиолюбителя (если работаю в эфире)
  • [ ] Мощность не превышает разрешённую
  • [ ] Не создаю помех другим службам
  • [ ] Оборудование зарегистрировано (если требуется)

Технические детали

Ширина полосы сигнала

Аналоговое ТВ занимает значительную полосу частот:

СтандартПолосаSample Rate
PAL/SECAM7–8 МГц20 MSPS
NTSC6 МГц16 MSPS
405-line3–5 МГц10 MSPS

HackRF One поддерживает максимум 20 MSPS, что достаточно для PAL.

Структура сигнала

Аналоговый ТВ-сигнал состоит из:

  1. Видеонесущая — амплитудная модуляция (AM)
  2. Звуковая несущая — частотная модуляция (FM)
  • PAL: +5.5 МГц от видео
  • NTSC: +4.5 МГц от видео
  • SECAM: +6.5 МГц от видео
  1. Синхроимпульсы — синхронизация развёртки
  2. Цветовая поднесущая (для цветного ТВ)

Расчёт частот

Для передачи на определённом канале:

Частота видеонесущей = Частота канала + Смещение

Пример для PAL:
Канал 21 (470–478 МГц)
Видеонесущая = 471.25 МГц
Звуковая несущая = 471.25 + 5.5 = 476.75 МГц

Антенны

Расчёт длины штыревой антенны:

Длина (метры) = 75 / Частота (МГц)

Примеры:
433 МГц → 75/433 = 0.173 м (17.3 см)
145 МГц → 75/145 = 0.517 м (51.7 см)

КСВН (коэффициент стоячей волны):

  • Идеально: 1.0
  • Хорошо: < 1.5
  • Допустимо: < 2.0
  • Плохо: > 3.0 (риск повреждения передатчика)

Продвинутые техники

Создание полноценной ТВ-станции

Сценарий: Мини-ТВ на 433.92 МГц

#!/bin/bash
# tv_station.sh

FREQ=433920000
GAIN=30
STANDARD=pal

# Подготовка видео
ffmpeg -i playlist/ -vf "scale=720:576,fps=25" \
-c:v mpeg2video -b:v 4M -c:a mp2 temp.mkv

# Запуск передачи с циклом
hacktv -f $FREQ -m $STANDARD -g $GAIN --loop temp.mkv

Интеграция с веб-камерой

Прямая трансляция с веб-камеры:

ffmpeg -f v4l2 -i /dev/video0 -vf "scale=720:576,fps=25" \
-c:v mpeg2video -b:v 4M -f mpegts - | \
hacktv -f 433920000 -m pal -g 30 -

Автоматизация плейлистов

Скрипт для последовательной передачи:

#!/bin/bash
# playlist.sh

for video in videos/*.mkv; do
    echo "Playing: $video"
    hacktv -f 433920000 -m pal -g 30 "$video"
done

Мониторинг сигнала

Использование RTL-SDR для проверки:

# Запись сигнала для анализа
rtl_sdr -f 433920000 -s 2048000 -g 40 output.bin

# Анализ в GNU Radio или SigDigger

Полезные ресурсы

Официальная документация

Обучающие материалы

Программное обеспечение

  • FFmpeg — конвертация видео
  • GNU Radio — обработка сигналов
  • SDR# — приём сигналов
  • SigDigger — анализ

Сообщества

  • Reddit: r/hackrf, r/SDR
  • HackRF mailing list
  • Радиолюбительские форумы

Галерея

HackRF PortaPack
HackRF PortaPack для полевых экспериментов

Analog TV Test Card
Тестовая карта «NO SIGNAL»

SigDigger Analysis
Анализ сигнала в SigDigger

Opera Cake Antenna Switch
Opera Cake — переключаемая антенная система


Заключение

HackTV — это мощный инструмент для экспериментов с аналоговым телевидением. Он позволяет:

✅ Передавать видео в различных стандартах (PAL, NTSC, SECAM)
✅ Работать на широком диапазоне частот
✅ Использовать различные SDR-устройства
✅ Создавать тестовые сигналы и полноценные передачи

Основные выводы:

  1. Технически HackTV может передавать на любой частоте в пределах возможностей вашего SDR
  2. Юридически вы обязаны соблюдать законодательство о радиочастотах
  3. Безопасность — всегда начинайте с эквивалента нагрузки
  4. Качество — правильно подготавливайте видео (разрешение, FPS)

Рекомендации для начала:

  1. Установите HackTV и протестируйте с тестовой таблицей
  2. Используйте эквивалент нагрузки для первых экспериментов
  3. Получите лицензию радиолюбителя для работы в эфире
  4. Присоединяйтесь к сообществам для обмена опытом

Удачных экспериментов с аналоговым ТВ! 📺📡


Статья актуальна на март 2026 года. Версия HackTV: 2.0.0+

Автор: SDR-энтузиаст
Редакция: 21 марта 2026
Лицензия: CC BY-SA 4.0


Быстрые команды

# Установка
git clone https://github.com/fsphil/hacktv.git && cd hacktv/src && make && sudo make install

# Тест
hacktv -m pal test

# Передача видео
hacktv -f 433920000 -m pal -g 30 video.mkv

# Сохранение сигнала
hacktv -o signal.bin -m pal -n 10 test

Понравилась статья? Поделитесь с друзьями и подпишитесь на обновления!

GitHub HackTV | Форум сообщества | YouTube tutorials

Прокрутить вверх