Настройка
Прежде всего, убедитесь что штатный софт вашей dvb карты работает. Если кино показывает, уже хорошо. Настройтесь на транспондер провайдера спутникового интернета и убедитесь, что уровень сигнала достаточен для приема без потерь. Лучше всего в этом вопросе ориентироваться по BER, он должен изредка показывать очень малые значения, а лучше полностью стоять на нуле. Если же софт вашей карты не показывает BER, смотрите на уровень сигнала. Как минимум индикатор уровня сигнала должен быть зеленый. А лучше - далеко в зеленом секторе (то есть очень зеленый)
Скайнет может работать под windows и linux. Если есть возможность выбирать, рекомендую linux
Для использования dvb карты под windows программе необходима библиотека streamreader.dll. В низу странички есть сcылки на streanreader.dll для карт SkyStar 2 и Twinhan
Если же у вас другая карта, попробуйте поискать для нее нужную библиотеку. Возможно ее не существует, тогда проверьте, не поддерживается ли ваша карта драйверами linuxtv, скайнет под linux по умолчанию работает лучше
В конце концов, поинтересуйтесь у производителя карты, почему для их устройства до сих пор не написан streamreader.dll?
Библиотеку надо распаковать и положить в директорию с программой. Без нее скайнет не запустится.
Для работы под linux: вам понадобится X-Window и оконный менеджер (KDE, Gnome...) Кроме того, необходимы установленные и работающие драйвера linuxtv. Их установка может вызвать много вопросов, поэтому лучше поищите информацию в интернете на эту тему.
Теперь о настройке программы. Вам нужно прописать в .ini файле параметры транспондера провайдера. Замечательная табличка со спутниками и частотами есть здесь:
http://lyngsat.com, каналы с данными там обозначены фиолетовым цветом (подойдут конечно не все, но многие - именно спутниковый интернет)
В файле есть несколько примеров настройки на транспондер, думаю все будет понятно.
# tuner=частота,поляризация,символьная скорость,fec
tuner=12015000,V,27282000,A
Кроме настройки тюнера нужно узнать пиды по которым идет интернет трафик. Часто их можно найти на сайте провайдера где-нибудь в разделе технической информации. Если там их нет, можно поискать пиды самому с помощью плагина PidScanner для моей любимой программы просмотра спутникового телевидения ProgDVB.
Когда найдете пиды, запишите их в ini. Ваша запись должна выглядеть примерно так:
tuner=12321000,V,27500000,A
pids=777,820,1360,1548,1579,1581,1584,1598,1940
Напротив остальных строк начинающихся с tuner или pids поставьте # чтобы программа не обращала на них внимания.
Если вы используете карту SkyStar1 под windows раскомментируйте строку "ss1=1"
Если вы используете ресивер DreamBox - ваши настройки dream_ip, dream_port и pids, библиотека streamreader.dll не нужна.
Теперь можно запустить. Признаком успешной настройки будет изменение статистики в верхней части окна программы. Если счетчик in начал отсчитывать мегабайты и tcp threads начало увеличиваться, значит все в порядке - программа видит поток и в потоке tcp/ip протокол. Если нет - значит что-то неправильно.
Нажмите букву G и внимательно рассмотрите появившуюся справа табличку. Тут работают стрелки, плюс/минус на цифровой клавиатуре, delete, и цифры. Вобщем это фильтр для файлов по типам и размерам.
При приеме поглядывайте на счетчик discontinuity, если он меняется - значат у вас проблемы. Вам нужен практически идеальный поток без сбоев, ведь достаточно чтобы в файле отсутствовал всего один пакет чтобы архивы и exe ушли в мусор.
Что делать? Прежде всего, обратите внимание КАК они увеличиваются. Это можно сделать посмотрев файл лога, там записан пид и точное время когда произошла бяка. Когда вы грабите одновременно по нескольким пидам, будет хорошо видно что происходит.
232909.88 ts: discontinuity (pid = 1327, cc = 8, must be 5)
232909.88 ts: discontinuity (pid = 1328, cc = 13, must be 9)
232909.99 ts: discontinuity (pid = 1498, cc = 13, must be 8)
232910.49 ts: discontinuity (pid = 1499, cc = 3, must be 10)
Странные цифры вначале - это время, так сделано для экономии места: 232909.88 -> 23:29:09 + 88 сотых.
Здесь хорошо видно, что несчастье произошло одновременно со всеми элементарными потоками. Попросту говоря, произошел обрыв всего принимаемого потока, что и отразилось на всех (или почти всех) элементарных. Почему это могло произойти? Лично у меня такое всегда происходит при инициализации софтмодема. Его драйвер настолько ужасно написан, что приостанавливает на короткое время работу всей системы. Для потока с dvb карты это смертельно. Устройство не обладает достаточным запасом памяти чтобы на время задержать идущий с огромной скоростью поток данных.
Почему такое происходит у вас, если вы не инициализируете софтмодем? Не знаю. Наиболее вероятная причина - маленький буфер для потока в драйвере карты. Современные карты рассчитаны на прием телевидения и радио, и размер буфера задан исходя из этих потребностей. Ситуация усугубляется если у вас в системе есть еще устройства или программы которые требуют к себе пристального внимания со стороны ЦПУ (грубо говоря тормозят систему) К тому же Windows не является ОС реального времени, любая программа может быть остановлена на неопределенный период, и неизвестно когда продолжится ее выполнение.
Что делать? Во первых, попробуйте увеличить размер буфера в драйвере. Позже я объясню как это сделать с драйвером SkyStar2. Во вторых, уберите все ненужное железо, поотключайте лишние устройства в Bios Setup, в том числе и порты, чтобы освободить прерывания. Посадите каждое устройство на отдельное прерывание. Для этого вам скорее всего придется отключить APIC, и расставить прерывания вручную. И даже переставлять устройства по слотам. Как это сделать - ищите в интернете (никто не говорил что будет легко) Причиной ваших бед может являться любое устройство, в том числе и интегрированное в системную плату. Нет, я не предлагаю ничего выпиливать
Просто попробуйте на другой машине с другим железом. В третьих, возможно самый легкий выход - патч драйвера или переход на другую более правильную ОС
Да, еще отключите резидентные антивирусы и другие ненужные для процесса программы, причина может быть и в них.
Если же discontinuity проскакивают по одному, через довольно большие промежутки времени, скорее всего дело в уровне сигнала. Впрочем, это могут быть и ошибки которые уже идут в потоке, в этом случае вы ничего не можете сделать, но и файлы скорее всего не побьются.