Покуражимся ( Courage блог)

  • спасибо freex за наводку на программу ncftpput


    ставим пакет

    Исходный код
    apt-get install ncftp


    хотим скажем выгружать epg.data.bz2 на сервер ftphost.spb.ru в
    папку /incoming/vdr/epg


    читаем man ncftpput

    Исходный код
    ncftpput -f login.cfg [options] remote-directory local-files...
    -f XX   Read the file XX for host, user, and password information.


    создаем файл конфигурации доступа к серверу
    upload.epg.data.conf

    Исходный код
    host ftphost.spb.ru
    user ne_skazhu_kakoj
    pass tem_bolee_ne_skazhu


    установить на upload.epg.data.conf пермиссии 600 - чтоб никто
    кроме владельца не мог прочитать его содержимое


    и скрипт (назовем его autoupload.sh) будет выглядеть примерно так
    autoupload.sh

    Bash
    #!/bin/bash
    
    
    ncftpput -f upload.epg.data.conf /incoming/vdr/epg ./epg.data.bz2
  • Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.


    формат записей в crontab


    например
    0,20,40 8-17,23 * * 1-5
    означает запуск по всем рабочим дням (1-5) в рабочие часы(8-17) и в 23
    трижды в каждый час в 0 в 20 и в 40 минут каждого часа - от 8:00 до 17:40
    т.е. 8:00 8:20 8:40 9:00 9:20 ... 17:00 17:20 17:40 и в 23:00 23:20 23:40


    * заменяет все возможные варианты для данного поля
    * 8 * * * - будет запускать каждую минуту в течении часа 8:00 8:01 ... 8:59
    а такая запись - только единыжды
    0 8 * * * - в 8:00


    хотя - может и звезда нормально сработает - в man pages вроде видел и такую запись
    - но лучше не рисковать - ставить на какой минуте запускать


    3 и 5 поле конкурируют между собой - так как эти поля выполняются по принципу OR
    - то есть запись
    59 1 1-7 4 0
    вовсе не означает что это раз в год в первое воскресенье апреля
    а означает что запуск будет 7 раз с 1 по 7 апреля


    чтобы подавить отсылку e-mail надо в конце строки добавить >/dev/null 2>&1
    или вроде можно и так сделать MAILTO=""
    ====================================================
    попробую сделать расписание
    что получилось в итоге


    - написал файл
    shedule.conf

    Исходный код
    SHELL=/bin/bash
    MAILTO=""
    # 0,2-6 at 15:15
    15 15 * * 0,2-6 cd /opt/_full_my_epg/pub/cesp.0.0.3/ ; ./weekdays.files.sh 2>/tmp/tmp.cron
    # monday at 15:15
    15 15 * * 1 cd /opt/_full_my_epg/pub/cesp.0.0.3/ ; ./monday.files.sh 2>/tmp/tmp.cron
    #


    т.е. каждый день в 15.15 со вторника по воскресенье
    будет происходить следущее
    - переход в директорию со скриптами
    - запуск из той директории скрипта
    - все что идет в stderr попадает в файл /tmp/tmp.cron
    а по понедельникам будет запускаться другой скрипт monday.files.sh


    строка задания обязательно должна заканчиваться enter !!!


    - запустил

    Исходный код
    # crontab shedule.conf


    gроверил /var/spool/cron/crontabs/root - да - появился такой

    Исходный код
    # DO NOT EDIT THIS FILE - edit the master and reinstall.
    # (shedule.conf installed on Thu Aug 23 18:44:52 2007)
    # (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $)
    SHELL=/bin/bash
    MAILTO=""
    # 0,2-6 at 15:15
    15 15 * * 0,2-6 cd /opt/_full_my_epg/pub/cesp.0.0.3/ ; ./weekdays.files.sh 2>/tmp/tmp.cron
    # monday at 15:15
    15 15 * * 1 cd /opt/_full_my_epg/pub/cesp.0.0.3/ ; ./monday.files.sh 2>/tmp/tmp.cron
    #


    - и в
    /var/log/syslog

    Исходный код
    Aug 23 14:59:11 localhost crontab[5689]: (root) REPLACE (root)
    Aug 23 15:00:01 localhost /usr/sbin/cron[3202]: (root) RELOAD (crontabs/root)
    Aug 23 15:15:01 localhost /USR/SBIN/CRON[5758]: (root) CMD (cd /opt/_full_my_epg/pub/cesp.0.0.3/ ; ./weekdays.files


    - все ок - файл с расписанием загрузился и сработал в назначенное время

  • vdr 1.4.7 собранный с патчами

    Исходный код
    - utf-8 патч		vdr-1.4.4-3-utf8-0.1.3-rc2.diff
    - от sc-0.8.1 		vdr-1.4.x-sc7.diff
    - noepg патч
    - от rotor-0.1.4 	vdr-1.3.45-Rotor.diff


    после наложения 4-го патча загрузка на таком вдр сц плагина '-Psc'
    блокирует загрузку меню вдр (до этого патча сц 081 нормально работает)


    если этот плагин не использовать то вдр нормально грузится и можно
    использовать другие плагины - тот же ротор и рил-сканер '-Protor -Preelchannelscan'
    нормально работают


    видимо сц 081 не дружит с патчем от ротор плагина
    - или руки кривые


    =========== контрольная пересборка с сц061 ===========
    -- этап №1--

    Исходный код
    # patch -p1 < vdr-1.4.4-3-utf8-0.1.3-rc2.diff  
    # patch -p1 < vdr-1.4.7-noepg.patch  
    # patch -p1 < vdr-1.5.5-rotor_vdr147.diff


    плагины в сборку
    reelchannelscan-0.3.3
    rotor-0.1.4-vdr1.5 !!!! только этот плагин дружит с utf8 патчем !!!


    (для мода этого плагина для показа ber несколько модифицировал патч на исходные
    этого плагина rotor-0.1.4-vdr1.5.mod.vdr-1.4.7_utf8.diff)
    (для сборки "стандартного" плагина skincurses надо доставить # apt-get install libncurses5-dev )


    *** plugins without APIVERSION: rotor

    Исходный код
    sed "s/VDRVERSION/APIVERSION/g" ./Makefile > ./Makefile1



    итак результат

    Исходный код
    # patch -p1 < vdr-1.4.4-3-utf8-0.1.3-rc2.diff  
    # patch -p1 < vdr-1.4.7-noepg.patch
    # patch -p1 < vdr-1.5.5-rotor_vdr147.diff


    плагины
    reelchannelscan-0.3.3
    rotor-0.1.4-vdr1.5 с патчем rotor-0.1.4-vdr1.5.mod.vdr-1.4.7_utf8.diff


    результат = вдр и плагины работают


    -- этап №2 досборка сц061 --
    дополнительные к первому этапу патчи

    Исходный код
    # patch -p1 < vdr-1.4.0-ffdecsa-0.1.3.diff
    # patch -p1 < vdr-1.4.0-sc.diff


    плагины в сборку
    sc-0.6.1


    Исходный код
    # make clean 
    # make
    # make-clean-plugins
    # make plugins


    все работает - utf-8 + reelchannelscan + rotor + sc061


    -- этап №3 сборка 075 --
    на сырые сырцы vdr-1.4.7.tar.bz2

    Исходный код
    # patch -p1 < vdr-1.4.4-3-utf8-0.1.3-rc2.diff
    # patch -p1 < vdr-1.4.7-noepg.patch 
    # patch -p1 < vdr-1.5.5-rotor_vdr147.diff 
    # patch -p1 < vdr-1.4.x-sc7.diff


    !!! внимание - хоть патчи и называются одинаково для 075 и 081 - они разные!!!
    плагины
    reelchannelscan-0.3.3
    rotor-0.1.4-vdr1.5
    sc-0.7.5
    плагиныв и сам вдрп нормально без ошибок собрались - вдр и плагины работают


    -- этап №4 сборка 081 --
    на сырые сырцы vdr-1.4.7.tar.bz2

    Исходный код
    # patch -p1 < vdr-1.4.4-3-utf8-0.1.3-rc2.diff
    # patch -p1 < vdr-1.4.7-noepg.patch 
    # patch -p1 < vdr-1.5.5-rotor_vdr147.diff 
    # patch -p1 < vdr-1.4.x-sc7.diff


    !!! внимание - хоть патчи и называются одинаково для 075 и 081 vdr-1.4.x-sc7.diff - они разные!!!
    плагины
    reelchannelscan-0.3.3
    rotor-0.1.4-vdr1.5
    sc-0.8.1
    тоже все работает - ура!!!


    почему вначале не получилось - сейчас уже не знаю - главное что теперь все сложилось
    vdr 147 + utf8 patch + noepg.patch + rotor patch + sc081 патчнабор патчей для последнего варианта - в прицепке - чтоб не потерался

    Файлы

  • jпять вспоминал вспоминал и чтоб не забылось - ниточное описание


    1) взять исходные v4l-dvb
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.
    файл v4l-dvb-5a4448b56bc7.tar.bz2 распаковать в /usr/local/src
    получится /usr/local/src/v4l-dvb-5a4448b56bc7


    2) если отсутствуют исходные ядра - поставить - можно хэдэрс

    Исходный код
    # apt-get install linux-headers-2.6.18-4-686


    линк /lib/modules/2.6.18-4-686/build должен указывать на хэдэрс - провыерить
    если нет - создать

    Исходный код
    ln -s /usr/src/linux-headers-2.6.18-4-686 /lib/modules/2.6.18-4-686/build


    3) собрать и поставить
    зайти в /usr/local/src/v4l-dvb-5a4448b56bc7


    Исходный код
    make clean
    make all
    make install


    и все )))

  • начну пожалуй с интересной инфо - аналог noepg


    Цитата

    <table id> is a hex number that indicates the table this event is con-
    tained in (if this is left empty or 0 this event will not be overwrit-
    ten or modified by data that comes from the DVB stream)


    например в такой записи
    E 21 1188245100 3300 4F FF
    <table id> = 4F
    надо будет попробывать установить его в 0 и посмотреть на каналах на которых есть
    собственный эпг - может и не нужен станет noepg.patch


    теперь немного про команды svdrp касательных зарядки эпг в вдр
    CLRE - очишает епг - события пропадают из вдр - и возможно сразу же вроде очищает и файл epg.data
    LSTE - читает епг - причем похоже читает его из файла epg.data!!!!
    PUTE - помещает записи епг - но - помещает их не в файл а как бы в память -
    т.е. епг событие вдр понимает - но по LSTE их НЕ ВИДНО!!!


    теперь о том как записать в вдр готовый epg.data


    вариант №1 мой детсадовский вариант - использование netcat и создание из
    epg.data запускаемого скрипта


    идея взята отсюда
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.


    Bash
    #!/bin/sh
    
    
    netcat -w 10 <HOSTNAME> 2001 <<eof
    mesg 'Hello World!'
    quit
    eof


    попробывал и получилось - такой скрипт складывается из 3-х кусочков
    netcat.header + epg.data + netcat.tail


    сделал такие файлы
    netcat.header


    Bash
    #!/bin/sh
    
    
    netcat -w 10 127.0.0.1 2001 <<eof
    mesg 'Update EPG'
    pute


    netcat.tail

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


    и тогда апдейт эпг в вдр делается так

    Исходный код
    # cat netcat.header epg.data netcat.tail > netcat.epg_updater.sh  
    # chmod 755 netcat.epg_updater.sh  
    # ./netcat.epg_updater.sh


    вариант №2 - изящный - спасибо free-x

    Исходный код
    (echo -e "clre";cat /video/epg.data;echo -e "mesg EPG Import done!\nquit")|netcat 127.0.0.1 2001


    вариант №3 еще один изящный вариант - очередное спасибо free-x

    Исходный код
    svdrsend.pl mesg 'Update EPG'
    svdrsend.pl pute < epg.data


    в-общем есть над чем подумать ))) пока не знаю на чем остановится - нравится
    идея создания из epg.data скрипта и выкладывать сразу скрипт - пусть
    это и "детсад" )))

  • брать тут
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.


    vdr-femon-1.2.1.tgz требует вдр ари 158
    femon.c:18:2: error: #error "VDR-1.5.8 API version or greater is required!"


    для вдр147 подходит версия
    vdr-femon-1.1.3.tgz 15-May-2007 22:27 52K



    Фемон и svdrp


    т.е. для понимания вопроса в каком счас состоянии находится вдр полезно
    plug femon stat
    и посмотреть - есть ли LOCKED и SYNC - т.е. вдр залочил сигнал
    если лока нет - тогда уж можно разбираться почему
    plug femon info


    замечено - количество бэр показывается по-разному
    в plug femon info BERA:0000FF00
    в plug femon bera 00000000


    например так - переключить канал и посмотреть нормально ли переключился

    Исходный код
    chan +
    250 55 Cartoon Network
    
    
    plug femon stat
    900 Status LOCKED:SIGNAL:CARRIER:VITERBI:SYNC on device #0
    
    
    plug femon bera
    900 00000000 on device #0
  • записал с 9Е

    Исходный код
    Venice HD;M-Three satcom:11785:HC34:S9.0E:27500:100:101,102:0:0:104:158:5300:0:ISO8859-15


    пропатчил и пересобрал вдр147 под запись в ts
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.
    после этого правда отвалился сц081 - но счас не об этом


    записал в ts формат на вдр
    пробывал крутить mplayer
    - paff и прочей муры на этом канале нет!
    - поток около 10 мегабит в секунду (фемон показал столько)


    к сожалению фокус с lowres которыйй проходит с мпег2

    Исходный код
    # mplayer -vo xv -vfm ffmpeg -lavdopts lowres=1 Planeta_Sport_2007-08-28.16.02.50.99.rec_001.ts


    с h264 не прокатывает

  • попробуй совет


    With mplayer you can use -vc ffmpeg12, -lavcopts lowres=1 to lower significantly the CPU load.
    _______________________________________________
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.

  • чтоб не забылось - а то каждый раз приходится искать


    utf8 patch
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.


    reelchannelscan-0.3.3
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.


    VDR – Rotor Plugin
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.


    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.


    FEMON - DVB Frontend Status Monitor plugin for VDR
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.


    ts-recording
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.


    -------------------------------------------------------------------
    DVB Subtitles Plugin for VDR
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.


    teletext subtitles
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.


    VDR patch for teletext subtitles and DVB Subtitles
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.


    VDRAdmin-AM
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.

  • после установки базовой системы дебиан этч с buisness-card cd
    (ставил без использования подкачки так как ставил на CF )

    Исходный код
    apt-get install mc
    apt-get install bzip2
    apt-get install ssh


    Исходный код
    apt-get install linux-image-2.6.18-4-686


    для того чтобы сборки сделанные на другой машине работали
    кернел 18-4-686 (при установке поставил 18-5-486 - почему то 18-4-686 не качнулся при установке)
    добавок в 48 мегабайт на диске - можно будет 18-5-486 для экономии места изъять будет


    Исходный код
    apt-get install linux-headers-2.6.18-4-686


    заодно ставится binutils gcc-4.1 cpp-4.1 linux-kbuild-2.6.18
    довесок в 34 мегабайт на диск - но без хэдерсов далеко не уедешь
    рекомендованы libc6-dev - поставлю


    Исходный код
    apt-get install libc6-dev


    22 мегабайт на диск - и ставится еще и linux-kernel-headers


    сразу добавлю удобнаю утилиту для подключения модулей в ядро

    Исходный код
    apt-get install modconf


    для подключения atyfb.ko или radeonfb.ko - так как карта радеон 9000



    а это надо будет при сборке вдр и плагинов

    Исходный код
    apt-get install g++
    apt-get install libjpeg62
    apt-get install libjpeg62-dev
    apt-get install libcap-bin
    apt-get install libcap-dev
    apt-get install libfreetype6
    apt-get install libfreetype6-dev
    apt-get install libssl-dev


    в sources.list удалил deb на сд диск и добавил

    Исходный код
    deb http://ftp.de.debian.org/debian/ etch non-free


    Исходный код
    apt-get install unrar


    Исходный код
    apt-get install msttcorefonts


    хм - почему то такого пакета не находится хотя на другой дебиан
    машине он в составе пакета есть


    после всех этих установок

    Исходный код
    # df
    Filesystem           1K-blocks      Used Available Use% Mounted on
    /dev/hda1              1864758    586255   1179015  34% /


    из 2-х гигов CF занято 586 мегабайт
    кстати - можно еще съэкономить около 130 мегов - это /var/cache/apt/archives

    Исходный код
    /var/cache/apt# du -h archives
    1.0K    archives/partial
    131M    archives


    для этого вычистить можно

    Исходный код
    apt-get clean


    думал добавить фтп сервер - но раздумал - через ssh можно тоже сделать
    в том же Konqueror есть спец протокол fish://192.168.0.100/


    проверил часовой пояс
    # date
    Tue Jan 9 01:50:58 MSK 2007
    дата почему скинулась - возможно батарейка на материнке сдыхает


    к слову установить часовой пояс можно линкой с /etc/localtime на
    соответствующий файл в /usr/share/zoneinfo/
    для UTC например /etc/localtime -> /usr/share/zoneinfo/UTC
    для Московского времени /usr/share/zoneinfo/Europe/Moscow


    к сожалению с этим

    Исходный код
    # lspci
    02:0a.0 Multimedia controller: Philips Semiconductors SAA7146 (rev 01)


    придется обождать - это карта TT3200 ))) буду ждать драйвер )))

  • Цитата


    к слову установить часовой пояс можно линкой с /etc/localtime на
    соответствующий файл в /usr/share/zoneinfo/
    для UTC например /etc/localtime -> /usr/share/zoneinfo/UTC
    для Московского времени /usr/share/zoneinfo/Europe/Moscow


    tzconfig сделает как надо =)

  • какие мысли по поводу пакета msttcorefonts ? хотя я могу ручками утф-8
    фонты в вдр туда закинуть с другой машины - но просто интересно почему

  • с моим sources.list

    Исходный код
    deb http://source.rfc822.org/debian etch main contrib non-free
    deb http://security.debian.org/ etch/updates main contrib non-free


  • благодарю - дело было в contrib - по умолчанию инсталлер пишет так

    Исходный код
    deb http://ftp.de.debian.org/debian/ etch main
    deb-src http://ftp.de.debian.org/debian/ etch main
    
    
    deb http://security.debian.org/ etch/updates main
    deb-src http://security.debian.org/ etch/updates main


    так будет намного правильнее

    Исходный код
    deb http://ftp.de.debian.org/debian/ etch main contrib non-free
    deb-src http://ftp.de.debian.org/debian/ etch main
    
    
    deb http://security.debian.org/ etch/updates main contrib non-free
    deb-src http://security.debian.org/ etch/updates main

  • для CF маловато - должно быть около 40

    Исходный код
    # apt-get install fbset
    # apt-get install bonnie
    #apt-get install make
    #apt-get install patch


    patch в системе был а вот make отсутствовал


    монитор у меня 1024х768 - режимы известные fbset в /etc/fb.modes
    подходящий называется 1024х768-60
    проверить можно так

    Исходный код
    # fbset --test -fb /dev/fb0 1024x768-60


    установить так

    Исходный код
    # fbset -fb /dev/fb0 1024x768-60


    режим сменился на 1024х768

  • Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.


    сделаю от рута и для рута корень вдр-машины на десктопную машину в /media/vdr-box
    на десктопе делать так


    хопс - в директории /media/vdr-box смонтировался рут 192.168.0.100 машины

  • как выяснить что в системе занимает много места и не используется


    Исходный код
    # apt-get install popularity-contest
    
    
    # popularity-contest > /var/log/popularity-contest
    
    
    # popcon-largest-unused


    вот верхушка айсберга


  • к сожалению пока что не срослось с новым драйвером от Ману (((


    имею ТТ3200 + материнка Асус Р4С800 (chipset Intel875P) + Р4 2400 (cокет 478 )
    + дебиан стабильный этч с кернелом 2.6.18-4-686
    и соответствующие хэдерсы /usr/src/linux-headers-2.6.18-4-686


    собирал так
    1) забрал дерево репозитария Ману

    Исходный код
    debian:/opt/manu_3200# apt-get install mercurial
    debian:/opt/manu_3200# hg clone http://jusst.de/hg/multiproto


    2) упаковал дерево и отложил hg-1.10.07.tar.bz2 ....
    3) пробная сборка


    все собирается без ошибок - правда с небольшой грязью и именно в модуле stb0899_drv.o :(
    и с предупреждением о том что переменные кернела VIDEO_PLANB и
    VIDEO_CAFE_CCIC в моем кернеле не используются


    перезагрузил машинку - смотрю в dmesg


    к сожалению No LNBP21 found! - возможно конечно что плата дала дуба -
    полгода ее не трогал правда - но до этого в виндах она работала ...


    в прицепке полные файлы с инфо от dmesg + lspci + lsmod

    Файлы

    • first_try.tar.gz

      (7.4 kB, скачали 2 раз, последнее скачивание: )
  • ждем помощи клуба :)
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.


    не дадим зачахнуть hdtv на линуксе !!!