TVSharp - аналоговое ТВ на RTL тюнере.

TVSharp - аналоговое ТВ на RTL тюнере.

Просмотров: 32974 | Комментарии (27)
Рубрика: TVSharp

Ради расширения кругозора написал программу-игрушку для приема аналогового ТВ вещания на донгл, взяв за основу ADSB#. Не ожидал что люди заинтересуются программой, но она оказалась востребованной и интересной для радиолюбителей.

tvsharp.jpg

Основные возможности - показывает только черно-белое изображение без звука. Максимальное разрешение около 100 линий по горизонтали и 580 по вертикали. Понимает стандарты Secam Pal - 625 строк 50 кадров в секунду, NTSC - 525 строк 60 кадров в секунду. Развертка черезстрочная. Модуляция видеосигнала АМ.

Основные настройки программы:

[Tuner][RTL] [Program AGC] переключение видов АРУ. Если сигнал входит в ограничение от избыточного усиления, к надписи "Tuner gain" (усиление тюнера), добавляется слово "Overload" (перегрузка). В этом случае необходимо уменьшить усиление тюнера или перейти на другой вид АРУ. Программная АРУ для ТВ сигнала поддерживает оптимальный уровень усиления.

[Gain] ручная регулировка усиления тюнера при отключенной АРУ.

[Frequency correction] набор параметров подстройки частоты тюнера. [Roughly] - грубая подстройка частоты тюнера, реализуется аппаратно. [Fine] - точная подстройка, реализуется программно. [Auto correction] - разовая автоматическая грубая подстройка частоты. Автоматическая подстройка работает только с хорошим сигналом по синхроимпульсам строчной развертки, если сигнал слабый, подстройка работает некорректно.

[Position correction] набор параметров регулировки положения картинки. [Auto] - включение автоматической синхронизации по синхроимпульсам строчной и кадровой развертки. [X, Y] - ручная регулировка положения картинки при отключенной автоматической синхронизации. Стабильность частоты телевизионных передатчиков и RTL тюнера позволяет принимать очень слабый телевизионный сигнал без синхронизации по кадровым и строчным синхроимпульсам с ручной подстройкой положения картинки и коррекции частоты. Пример приема слабого, отраженного от ионосферы, ТВ сигнала с Украины в Шотландии с помощью данной программы и ручной синхронизации картинки. Звук принимается вторым приемником и к TVSharp отношения не имеет.

Конечно, с частотным и динамическим диапазоном RTL тюнеров полноценный прием ТВ сигналов невозможен и многого требовать от этой программы не стоит.

Скачать...

Исходный код...

Комментариев: 27 RSS

Is TVSharp compatible with HackRF hardware? Seems to me, if it is compatible with the HackRF radio all our problems with bandwidth and frequency range would be solved. We could receive signals from every wireless camera (including those on airborne drones) in the world.

Digital reception would be nice, but lets not give up on analog (I think).

Василий2
2014-07-20 в 08:34:10

На данный момент не совместим. У меня в наличии есть только rtlsdr приемник. Возможно при появлении у меня AirSpy ситуация изменится и я напишу модификацию для приема полноценного ТВ сигнала с АМ и ФМ модуляцией.

Hi Basil- Here is a link to a commercial version of what you are providing free of charge:

http://www.aorusa.com/others/ar-stv.html

Thanks a bunch!

Василий, спасибо за отличную программу!!!

У меня донгл расположен в -d 1, при старте программа пыталась открывать -d 0 и выдавала раздражающую ошибку, чуточку дописал, но не нашёл svn, опубликую здесь апдейт вручную smile

SettingsMemoryEntry.cs

// раз define
private int _dongleNr;
// два персист
public SettingsMemoryEntry(SettingsMemoryEntry memoryEntry)
{
  ...   _d
}
// три геттер сеттер
public int DongleNr
{
  get { return _dongleNr; }   set { _d }
}

Mainform.cs

// modify 1
public MainForm()
{
  InitializeComponent();
  videoWindow = new VideoWindow();
  _settings = _settingsPersister.ReadSettings();
  frequencyNumericUpDown_ValueChanged(null, null);
  try
  {
    var devices = DeviceDisplay.GetActiveDevices();
    deviceComboBox.Items.Clear();
    deviceComboBox.Items.AddRange(devices);
    _rtlDevice.Open();
    //_initialized = true;
    if (_settings.DongleNr != 0)
    {
      deviceComboBox.SelectedIndex = _settings.DongleNr;
    }
    else
    {
      deviceComboBox.SelectedIndex = 0;
    }
    deviceComboBox_SelectedIndexChanged(null, null);
  }
  catch (Exception e)
  {
    MessageBox.Show(e.Message);
  }
}
// modify 2
private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
{
  ...   _settings.D
  _settingsPersister.PersistSettings(_settings);
}

Извиняюсь, парсер съел код. Вот:

http://pastebin.com/W5m2b0TR

http://pastebin.com/5trm3j0n

Николай6
2014-11-03 в 07:54:36

При запуске TVSarp "выскакивает" ошибка: Unable to load DLL "rtlsdr": не найден указанный модуль. (Exception from HRESULT: 0x8007007E)

Подскажите, пожалуйста, как устранить. С SDRSarp "свисток" работает.

Василий7
2014-11-05 в 11:20:05

Попробуйте использовать rtlsdr.dll от SDRSharp. Или попробуйте запускать tvsharp с другого места (например на рабочем столе или в корне диска C).

Евгений8
2014-12-05 в 19:02:38

C Airspy будет продолжение TV Sharp? Или специфические плагины для Airspy под SDR#?

Василий9
2014-12-05 в 19:27:08

Будет. Плагин для SDR# с воспроизведением изображения и звука. Можно будет использовать airspy и hackrf и им подобные.

А на r820t2 потянет со звуком?

Кстати, на aliexpress у китайцев появился недорогой донгл на базе r820t2 -

http://ru.aliexpress.com/item/USB-2-0-TV-Antenna-820T2-Mini-2-USB-RTL2832U-R820T2-Receiver-USB-DVB-T-FM/32249329353.html

Василий11
2014-12-08 в 22:31:41

Со звуком потянет это - http://airspy.com/ или это - https://greatscottgadgets.com/hackrf/

Но к приемнику ещё нужен довольно быстрый компьютер для обработки широкой полосы в SDR#.

Airspy построен тоже на базе r820t2, соответственно и китаец наверно потянет?

Василий13
2014-12-08 в 22:49:30

Ответьте мне на вопрос - какую полосу занимает тв сигнал со звуком в эфире?

Александр14
2014-12-14 в 18:54:18

Два вопроса:

1. Прием работает только если SampleRate 2 MSPS и ниже. При значении 2.5 изображение дергается, при 3 - его практически нет. Нужен USB 3.0 или это просто какие-то проблемы с железом, антенной или чем-то еще? Купил тюнер недавно, и не уверен, что знаю о всех его "подводных камнях"...

2. Планируете ли сделать сканер ТВ каналов? Время от времени они пропадают-появляются, и чем пол-часа гонять телевизор и заново раскладывать каналы, было бы удобно прогнать сканер и получить на выходе список частот и номеров эфирных каналов... а как бонус - сравнение с прошлым списком.

Еще слегка неудобно то, что экран "отвязан" от приложения. Переключаюсь с браузера в TVSharp, "пульт" появился, а экран остался под окном браузера...

Василий15
2014-12-15 в 10:19:27

1. Так должно быть. Лучше не будет.

2. Совершенствовать TVSharp не планирую. Почти закончил ТВ плагин для SDR#, но он работает только с широкополосными приемниками типа airspy и hackRF. RTL приемники не идеальное решение для приема ТВ сигнала.

Вячеслав17
2015-01-05 в 00:43:10

спасибо за прогу. очень интересна по содержанию настроек. планируете попробовать SSTV

Василий18
2015-01-05 в 11:11:14

В ближайшее время нет. Отсутствие источников сигнала в округе отбивает интерес к этому делу.

When can we expect to see your finished TV plugin for SDR#? I look forward to using it with my new Airspy.

Thank you, Basil. However, I live in the USA. Any plans to make a wideband plugin that will work with NTSC signals? Thanks.

У меня RTL 820. В SDRSharp нашел несколько TV каналов. SDRSharp откалиброван точно, но при поиске каналов в TVSharp они находятся, если верить программе, на 6-7 Мгц ниже по частоте.

Телевизионный сигнал имеет две несущих частоты, а именно несущую звука и изображения. Разница между ними составляет 6,5 мГц.

Не работает свисток с TVSharp, подключил rtlsdr.dll от SDR#, не помогло.

actually for me it is working but my only thing is where is the sound i canot hear anything

Оставьте комментарий!

Используйте нормальные имена

Имя и сайт используются только при регистрации

(обязательно)