1
|
Linux секция за начинаещи / Настройка на хардуер / Re: КАК да си направим IPTV за гледане на Софийските цифрови ефирни програми в LAN
|
-: Aug 15, 2011, 10:43
|
мерси, ще разгледам и това аз всъщност от доста време се опитвам да измисля начин как или да стриймвам кодирани канали от рутера, които да декодирам при клиента, или да декодирам още върху рутера и да стриймвам. За нормален (i686) линукс не е трудно да се направи разкодирането, но мен ме гложди идеята да подкарам всичко това върху рутерчето, то така и така е включено денонощно, процесора му (400 Mhz MIPS) е съизмерим с този на dreambox, но имам проблеми с подкарването на FFDesca (Software descrambler) за този процесор.
|
|
|
2
|
Linux секция за начинаещи / Настройка на хардуер / Re: КАК да си направим IPTV за гледане на Софийските цифрови ефирни програми в LAN
|
-: Aug 12, 2011, 15:36
|
Продължавам с работата по OpenWRT, сега ще ви покажа как да си направите IPTV headend домашна станция върху рутерчето (TP-LINK 1043). Предпоставките са: да имате работещ USB DVB адаптер - вижте по-горе за af9015. Аз имам 2 адаптера едновременно - DVB-T af9015 и DVB-S lmedm04 (QQBOX) 1. TVHEADEND - успях с малки компромиси да компилирам работеща версия за OpenWRT - https://docs.google.com/leaf?id=0B8oQFOm_9mQ3NTI5YjVjNjctYjBmOC00MzU3LTg1NTYtZjZjZWQ1OGRjYmNh&hl=en_USВътре в този ipk пакет има един изпълним файл - "tvheadend". Поставил съм го в / (ако го сложите на друго място - просто променете реда в скрипта по-долу) стартиращ скрипт: /etc/init.d/tvheadend#!/bin/sh /etc/rc.common # Example script # Copyright (C) 2007 OpenWrt.org
START=92 STOP=15
# This method starts tvheadend
start_cam () { /usr/sbin/killall -9 tvheadend mkdir /dev/dvb mkdir /dev/dvb/adapter0 ln -s /dev/dvb0.demux0 /dev/dvb/adapter0/demux0 ln -s /dev/dvb0.dvr0 /dev/dvb/adapter0/dvr0 ln -s /dev/dvb0.frontend0 /dev/dvb/adapter0/frontend0 sleep 1 /tvheadend -f -u tv -g root -s sleep 1 } # This method stops tvheadend
start() {
start_cam
}
stop() {
sleep 1 /usr/bin/killall -9 tvheadend
}
как се използва: Първоначално трябва да се направи един потребител на OS, от чието име да се стартира процеса tvheadend. аз го правя, чрез ръчно добавяне на ред в /etc/passwd: tv:*:111:0:TV:/etc/tv:/bin/false
След това трябва да направите 1-во стартиране така: по този начин ще се стартира процеса, ще започне да изписва в конзолата какви адаптери е намерил и т.н и ще осигури пълен достъп без парола до web interface. влизаме от WEB Browser на http://ip.na.openwrt:9981желателно е веднага да отидем в configuration, access control и да си добавим например достъп само от вътре. След това, отиваме на configuration, tv adapters и избираме от падащото меню DVB адаптера. Отиваме на multiplexes, add manual, въвеждаме ръчно параметрите на приемане (за София - 3 мултиплекса, с параметри : Freq: 818000; bandwidth 8, всичко останало на "auto". Натискаме Add, след което само променяме Freq на 626000, натискаме Add, след това променяме на 490000 и пак add) Съхраняваме промените (Save changes). Сега тънък момент: конфигурацията се е генерирала във /root/.hts/.... спраме процеса от друга конзола със: местим конфигурацията: mkdir /etc/tv cp -r /root/.hts /etc/tv/ chown -R tv:nogroup /etc/tv и накрая стартираме окончателно: /etc/init.d/tvheadend start по този начин процеса tvehadend се стартира от името на потребител tv Ако всичко е нормално, отиваме на web интерфейса, configuration, tv adapters, services и трябва да открием доста канали. При мен се наложи ръчно да им задам channel name. От тук нататък - щом канала си има име - той е готов за streaming. Можем да гледаме от Configuration, Channels - play; или от бутончето watch TV когато сме извън Configuration. Така направена системата, на моя TP-LINK 1043 работи със натоварване около 20-30 % CPU докато гледам канал (повече е от варианта с mumudvb, но имам странното чувство, че каналите се възпрозивеждат по-добре, а и има една интересна подробност - за DVB-S има възможност за изпозване на OSCAM чрез newcamd протокол, или чрез dvbapi capmt_so. това е само лирично отклонение, но ефекта е такъв (с oscam работещ на същия рутер): 2011/08/12 14:12:18 5CDB10 c dvbapi: new program number: 03F8 (Discovery Channel Bulgaria) 2011/08/12 14:12:18 5CDB10 c dvbapi: new program number: 03F8 (0000:03F8 unknown) 2011/08/12 14:12:18 5CDB10 c dvbapi: [ADD PID 0] CAID: 5581 ECM_PID: 0D51 PROVID: 000000 2011/08/12 14:12:18 5CDB10 c dvbapi: [ADD PID 1] CAID: 5501 ECM_PID: 0C89 PROVID: 000000 2011/08/12 14:12:18 5CDB10 c dvbapi: [ADD PID 2] CAID: 0604 ECM_PID: 0CED PROVID: 000000 2011/08/12 14:12:18 5CDB10 c dvbapi: new program number: 03F8 (Discovery Channel Bulgaria) 2011/08/12 14:12:19 5CDB10 c localuser (5581&000000/03F8/4F:B998): rejected group (1 ms) (of 0 avail 0) (no matching reader) 2011/08/12 14:12:19 5CDB10 c localuser (5501&000000/03F8/3E:DCBA): rejected group (1 ms) (of 0 avail 0) (no matching reader) 2011/08/12 14:12:19 5CDB10 c dvbapi: Found 2 IRDETO ECM CHIDs 2011/08/12 14:12:19 5CDB10 c dvbapi: Start descrambling PID #2 (CAID: 0604) 1 2011/08/12 14:12:19 5CDB10 c localuser (0604&000000/03F8/34:1C36): cache1 (0 ms) by fausto (of 1 avail 1) 2011/08/12 14:12:23 5CDB10 c dvbapi: [ADD PID 0] CAID: 5581 ECM_PID: 0D51 PROVID: 000000 2011/08/12 14:12:23 5CDB10 c dvbapi: [ADD PID 1] CAID: 5501 ECM_PID: 0C89 PROVID: 000000 2011/08/12 14:12:23 5CDB10 c dvbapi: [ADD PID 2] CAID: 0604 ECM_PID: 0CED PROVID: 000000
|
|
|
3
|
Linux секция за начинаещи / Настройка на хардуер / Re: КАК да си направим IPTV за гледане на Софийските цифрови ефирни програми в LAN
|
-: Mar 01, 2011, 12:36
|
луд умора няма... да продължа темата! намерих в амазон смешно евтин USB DVB-S приемник - 6 лири... TechnoTrend Connect S-1200 USB 1.1, DVB-S http://www.amazon.co.uk/gp/product/B002KQ9RPG/ref=oss_productтози приемник е доста стар модел, по протокол 1.1 което значи, че ще се затруднява при стрийм на цял транспондер, но със активиран PID Filtering би трябвало да няма проблеми за 1-2 канала едновременно. естествено веднага го поръчах и компилирах модул за него за OpenWRT. Драйвера е известен на линукс кернела като ttusb-budget, съществува си стандартно. За компилацията е нужно да се добави във dvb.mk (от предишните постове) следното: define KernelPackage/dvb-ttusb-budget SUBMENU:=$(DVB_MENU) TITLE:=Technotrend/Hauppauge Nova-USB devices KCONFIG:= CONFIG_DVB_TTUSB_BUDGET \ CONFIG_DVB_CX22700 \ CONFIG_DVB_TDA1004X \ CONFIG_DVB_VES1820 \ CONFIG_DVB_TDA8083 \ CONFIG_DVB_STV0299 \ CONFIG_DVB_STV0297 \ CONFIG_DVB_LNBP21 DEPENDS:=+kmod-dvb-core FILES:= $(LINUX_DIR)/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.$(LINUX_KMOD_SUFFIX) \ $(LINUX_DIR)/drivers/media/dvb/frontends/cx22700.$(LINUX_KMOD_SUFFIX) \ $(LINUX_DIR)/drivers/media/dvb/frontends/tda1004x.$(LINUX_KMOD_SUFFIX) \ $(LINUX_DIR)/drivers/media/dvb/frontends/ves1820.$(LINUX_KMOD_SUFFIX) \ $(LINUX_DIR)/drivers/media/dvb/frontends/tda8083.$(LINUX_KMOD_SUFFIX) \ $(LINUX_DIR)/drivers/media/dvb/frontends/stv0299.$(LINUX_KMOD_SUFFIX) \ $(LINUX_DIR)/drivers/media/dvb/frontends/stv0297.$(LINUX_KMOD_SUFFIX) \ $(LINUX_DIR)/drivers/media/dvb/frontends/lnbp21.$(LINUX_KMOD_SUFFIX) endef
define KernelPackage/dvb-ttusb-budget/description Say Y here to support the Technotrend/Hauppauge Nova-USB devices. The following modules will be compiled for this device : dvb-ttusb-budget cx22700 tda1004x ves1820 tda8083 stv0299 stv0297 lnbp21
endef
$(eval $(call KernelPackage,dvb-ttusb-budget))
Преди да пристигне няма как да знам дали работи но чакам. Ако стане, openwrt рутерчето TP-LINK 1043 ще удари в земята и дримбоксове и всякакви там боклуци компилираният пакет за backfire 10.03.1-rc4 се намира на: kmod-dvb-ttusb-budget_2.6.32.25-1_ar71xx.ipkкомпилирах и версия за backfire 10.03: kmod-dvb-ttusb-budget_2.6.32.10-1_ar71xx.ipk
|
|
|
4
|
Linux секция за начинаещи / Настройка на хардуер / Re: КАК да си направим IPTV за гледане на Софийските цифрови ефирни програми в LAN
|
-: Jan 16, 2011, 12:21
|
@kipПолучи се, точно както го бях описал. Всъщност има няколко неща за доизчистване, по алгоритъма: 1. теглим си от svn целия toolchain за билдване 2. make menuconfig - селектираме си video support, dvb-usb-af9015 3. make V=2 (zза да изтегли, компилира всички инструменти, кернел и т.н) 4. пачваме - в тази точка, освен че пачваме кернела който е вече изтеглен, трябва да изтрием разните вече компилирани неща във media/dvb и media/common за да предизвикаме нова компилация. Аз тази сутрин няколко пъти пускам make, получавам пакети, инсталирам и кернела се държи като непачнат: tuner id: 179 not supported. Като минах и изтрих ръчно компилираните боклуци, след това си се компилира нормално. А цялата идея да постна процедурата, а и ти да напишеш скрипт е, да може да се прилага при следващи версии на кернела иначе теглиш готовите пакети и то си работи
|
|
|
5
|
Linux секция за начинаещи / Настройка на хардуер / Re: КАК да си направим IPTV за гледане на Софийските цифрови ефирни програми в LAN
|
-: Jan 15, 2011, 20:42
|
И аз ще си играя още да си билдна читав firmware с luci. После може да скалъпим един цялостен скрипт, който генерира всичко от край докрай.
за luci - трябва да дръпнеш сорса, и Makefile - както се прави за mumudvb обаче няма голям смисъл - при 1-вото влизане след флашване - ssh не пуска защото няма парола на root, но се оказа че телнета си работи и влизаш направо в root shell та: след 1-во флашване - telnet 192.168.1.1 passwd xxxxxxx след това настройваш на ръка wan Интерфейса (той си тръгва на dhcp по подразбиране) след това пишеш opkg update opkg install luci /etc/init.d/uhttpd enable /etc/init.d/uhttpd start и си готов - работещо luci ПП: нищо друго не е необходимо за пълната компилация, само горните уточнения
|
|
|
6
|
Linux секция за начинаещи / Настройка на хардуер / Re: КАК да си направим IPTV за гледане на Софийските цифрови ефирни програми в LAN
|
-: Jan 15, 2011, 20:16
|
ltrifonov ето до къде стигнах и аз с рутера под ръка: 1. Направих си този скрипт за билдване. Процеса на компилация минава успешно, но ето какво виждам в лога
WARNING: kmod-dvb-usb-af9015 is not available in the kernel config
което обяснява липсата на пакети.Все пак успях да подкарам стииминга на рутера, като използвах твоите пакети и билднатия от мен firmware.При пускането на mumudvb (както на firmware от OpenWRT, така и на билднатия от мен) на рутерчето ревеше, че липсва /lib/libpthread.so.0.След като, го качих, с моя билд на firmware-а и твоите пакети стриима тръгна.Днес пак не ми остана време да проверя какво се дъни та да не се компилират kmod-dvb-* пакетите.Ще трябва да си поиграя още с билдването на firmware, защото видях, че на моя firmware липсва luci.
@kipаз започнах да си билдвам 10.03.1-rc4 защото в 10.03 така и не успях да направя extroot... та докато правих гореописаната от мен процедура наново, забелязах още няколко пропуска: 1. Ако не се селектира video support - изобщо не се билдва video for linux частта от кернела - трябва да се селектира при make menuconfig. 2. libpthread - пропуснал съм да кажа, но то е в изискванията за mumudvb - може да се инсталира от готовите пакети може и да има още пропуски - сега като билдна (ако успея) ще допълня
|
|
|
7
|
Linux секция за начинаещи / Настройка на хардуер / Re: КАК да си направим IPTV за гледане на Софийските цифрови ефирни програми в LAN
|
-: Jan 14, 2011, 14:48
|
Открих последната липсваща част! отново се извинявам, но толкова много пъти преправях и започвах отначало, че това съм го пропуснал. значи, в dvb.mk модула трябва да се направят 2 промени преди компилацията: define KernelPackage/dvb-usb-af9015 SUBMENU:=$(DVB_MENU) TITLE:=Afatech AF9015 DVB-T USB2.0 support KCONFIG:= \ CONFIG_DVB_USB_AF9015 \ CONFIG_DVB_AF9013 \ CONFIG_DVB_PLL \ CONFIG_MEDIA_TUNER_MT2060 \ CONFIG_MEDIA_TUNER_QT1010 \ CONFIG_MEDIA_TUNER_TDA18271 \ CONFIG_MEDIA_TUNER_TDA18218 \ CONFIG_MEDIA_TUNER_MXL5005S DEPENDS:=@USB_SUPPORT +kmod-dvb-core +kmod-dvb-usb +kmod-usb-core +kmod-i2c-core FILES:= \ $(LINUX_DIR)/drivers/media/dvb/frontends/dvb-pll.$(LINUX_KMOD_SUFFIX) \ $(LINUX_DIR)/drivers/media/dvb/dvb-usb/dvb-usb-af9015.$(LINUX_KMOD_SUFFIX) \ $(LINUX_DIR)/drivers/media/dvb/frontends/af9013.$(LINUX_KMOD_SUFFIX) \ $(LINUX_DIR)/drivers/media/common/tuners/mt2060.$(LINUX_KMOD_SUFFIX) \ $(LINUX_DIR)/drivers/media/common/tuners/qt1010.$(LINUX_KMOD_SUFFIX) \ $(LINUX_DIR)/drivers/media/common/tuners/mc44s803.$(LINUX_KMOD_SUFFIX) \ $(LINUX_DIR)/drivers/media/common/tuners/tda18271.$(LINUX_KMOD_SUFFIX) \ $(LINUX_DIR)/drivers/media/common/tuners/tda18218.$(LINUX_KMOD_SUFFIX) \ $(LINUX_DIR)/drivers/media/common/tuners/mxl5005s.$(LINUX_KMOD_SUFFIX) endef
dvb.mk се тегли от: http://gitweb.braice.net/gitweb?p=mumudvb;a=blob_plain;f=openwrt/package/kernel/modules/dvb.mk;hb=HEADв него се променят горните редове в червено. актуализирал съм моите пакети, вече се съдържат всички необходими модули! може да ги изтеглите от тук: https://docs.google.com/leaf?id=0B8oQFOm_9mQ3OGVlYzIzOTYtZDZkYi00YjNhLTllOGMtMjc4NTNlODQ2ZjRm&hl=en
|
|
|
8
|
Linux секция за начинаещи / Настройка на хардуер / Re: КАК да си направим IPTV за гледане на Софийските цифрови ефирни програми в LAN
|
-: Jan 13, 2011, 10:34
|
@kipТова със скрипта ще е доста полезно, може да го пуснеш и във форумите на openwrt. Аз забелязах един пропуск понеже си рефлашнах рутера и правих повечето стъпки отначало. един от модулите за кернела, който е необходим на dvb-usb-af9015.ko, не присъства в ipk пакета това е файла: mc44s803.koПонеже правих поне към 20-30 прекомпилирания докато всичко ми се напасне, и в началото си местих самите *.ko файлове на ръка във /lib/modules/ на рутера, та не съм забелязал липсата му. По начина както съм описал, този файл ще липсва. Аз сега ще го добавя към готовите файлове, но ще остане за ръчно копиране. Файлът mc44s803.ko трябва да се копира във /lib/modules/2.6.32.10/ където са и останалите. Ако някой успее да навлезе навътре във toolchain системата, вероятно ще разбере какво и в кой скрипт трябва да се пипне, за да се включи и този модул към готовите ipk За липсващите ipk модули - нали правим така: теглим си dvb.mk от сайта който е посочен по-преди, там има версии на dvb.mk за доста версии на кернела. Аз си изтеглих за 2.6.32. този dvb.mk определя менюто dvb във make menuconfig, и в него са зависимостите: make menuconfig: ................................... избираме Kernel modules, DVB Support, af9015 при избирането на af9015[M], при мен авточматично се поставя [M] и на най-горните модули dvb-core и dvb-usb след това при компилацията си се се получават ?! Поне при мен беше така, няколко пъти съм трил и започвал от начало, проблема ми беше единствено, че не се компилираше tda18218.c Качил съм липсвашия модул тук: https://docs.google.com/leaf?id=0B8oQFOm_9mQ3MDkyZmU4ZmQtOWVjZi00MGFiLTkyN2ItMTM5YmFkM2IxY2M5&hl=en
|
|
|
9
|
Linux секция за начинаещи / Настройка на хардуер / Re: КАК да си направим IPTV за гледане на Софийските цифрови ефирни програми в LAN
|
-: Jan 10, 2011, 13:10
|
ltrifonov прекрасно howto.На моя "мощен" Debian компирацията отне 40 минути.Опитах да пачна кернела с пача от поста ти, но видях, че трябва малко да се преработи спрямо кернел 2.6.32.10. Довечера ще си поиграя малко с пача и ще компилирам наново.Чакам с интерес продължението на темата ти
Здрасти, ами май е време да пусна продължението При пачването има няколко особености, ще кажа как го направих при мен: 1. изтеглих си сорсовете на dvb както в 1-ви пост: cd /usr/src mkdir af9015 cd af9015 hg clone -r 0f41fd7df85d http://linuxtv.org/hg/~anttip/af9015/към него се прилага точно определен пач: https://patchwork.kernel.org/patch/82494/raw/пачът се прилага така: patch -p1 < ../път_до_изтегления_patch това беше точно както от 1-ви пост. След като приложим пача, има малко ръчна работа: Пача всъщност създава 3 файла за драйвера TDA18218 във linux/driver/media/common/tuners и добавя разни препратки към този драйвер в още няколко файла. обшо се модифицират 7-8 файла. целта е да открием модифицираните файлове и да ги копираме върху сорса на кернела във toolchain-а за openwrt при мен пътищата са: вземаме пачнатите файлове от: /usr/src/af9015/linux/и местим във: /usr/src/openwrt/backfire_10.03/build_dir/linux-ar71xx/linux-2.6.32.10/това са: в drivers/media/common/tuners Kconfig Makefile tda18218.c tda18218.h tda18218_priv.h в drivers/media/dvb/dvb-usbaf9015.c dvb-usb-ids.h и в drivers/media/dvb/frontendsaf9013.c af9013.h af9013_priv.h Има една особеност - в повечето от тези файлове има ред: #include "compat.h" или трябва да махнем този ред, защото във toolcain за openwrt няма такъв, или във всяка от горните директории да си направим по един празвн compat.h Последна модификация: отваряме media/dvb/dvb-usb/Kconfig и добавяме реда от по-долу в червено: config DVB_USB_AF9015 tristate "Afatech AF9015 DVB-T USB2.0 support" depends on DVB_USB select DVB_AF9013 select DVB_PLL if !DVB_FE_CUSTOMISE select MEDIA_TUNER_MT2060 if !MEDIA_TUNER_CUSTOMISE select MEDIA_TUNER_QT1010 if !MEDIA_TUNER_CUSTOMISE select MEDIA_TUNER_TDA18271 if !MEDIA_TUNER_CUSTOMISE select MEDIA_TUNER_TDA18218 if !MEDIA_TUNER_CUSTOMISE select MEDIA_TUNER_MXL5005S if !MEDIA_TUNER_CUSTOMISE select MEDIA_TUNER_MC44S803 if !MEDIA_TUNER_CUSTOMISE help
Това е всичко - пускаме си пак: make V=2 и след доста по-кратко от преди време ще получим: /usr/src/openwrt/backfire_10.03/bin/ar71xx/packages със готови компилирани модули за инсталиране *.ipkg ако направим тази директория достъпна през web, може да кажем на opkg.conf да изтегли packages направо от там. Сега, за самото разпознаване на USB стикчето, тези модули трябва да се инсталират: аз си направих един файл: /etc/modules.d/91-dvb: dvb-core dvb-usb force_pid_filter_usage=1 dvb-pll mxl5005s tda18271 qt1010 mt2060 af9013 mc44s803 tda18218 dvb-usb-af9015
за зареждане на модулите в този ред след рестарт може и ръчно с insmod в този ред ако всичко е ок, в dmesg виждаме: dvb-usb: found a 'Afatech AF9015 DVB-T USB2.0 stick' in warm state. dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer. dvb-usb: pid filter enabled by module option. DVB: registering new adapter (Afatech AF9015 DVB-T USB2.0 stick) af9013: firmware version:4.65.0 DVB: registering adapter 0 frontend 0 (Afatech AF9013 DVB-T)... NXP TDA18218 successfully identified. dvb-usb: Afatech AF9015 DVB-T USB2.0 stick successfully initialized and connected. usbcore: registered new interface driver dvb_usb_af9015
пропуснах да кажа, но трябва да поставим изтегления фирмуер на съответното място: /lib/firmware/dvb-usb-af9015.fw след това се прави точно както е описано в сайта на mumudvb за openwrt: mkdir /dev/dvb mkdir /dev/dvb/adapter0 ln -s /dev/dvb0.demux0 /dev/dvb/adapter0/demux0 ln -s /dev/dvb0.dvr0 /dev/dvb/adapter0/dvr0 ln -s /dev/dvb0.frontend0 /dev/dvb/adapter0/frontend0
Конфигурацията на самото mumudvb при мен е: (за софия) направих си 3 скрипта в /etc/init.d направих си и 3 конфигурации за всеки от 3-те транспондера в софия давам пример с 1-вия скрипт за 818 Mhz останалите скриптове се различават само по иметно на конф. файла в зелено по-долу: /etc/init.d/dvbtv818: #!/bin/sh /etc/rc.common # Example script # Copyright (C) 2007 OpenWrt.org
START=92 STOP=15
PIDS=`pidof mumudvb`
# This method starts mumudvb
start_cam () { kill -9 $PIDS mkdir /dev/dvb mkdir /dev/dvb/adapter0 ln -s /dev/dvb0.demux0 /dev/dvb/adapter0/demux0 ln -s /dev/dvb0.dvr0 /dev/dvb/adapter0/dvr0 ln -s /dev/dvb0.frontend0 /dev/dvb/adapter0/frontend0 mkdir /var/run/mumudvb sleep 1 mumudvb -c /etc/mumdvb/mumdvb818.conf & sleep 1 } # This method stops mumudvb stop_cam () { kill -9 $PIDS sleep 1 }
start() {
start_cam
}
stop() { #echo "[SCRIPT] $1: $CAMNAME" stop_cam
}
ето и самите конфигурации: /etc/mumdvb/mumdvb818.conf: freq=818 dont_send_sdt=1 multicast=0 unicast=1 port_http=1234 ip_http=0.0.0.0 sap=1 autoconfiguration=0
channel_next name=bnt1 pids=266 256 257
channel_next name=nova pids=38 36 37
channel_next name=btv pids=282 272 273
channel_next name=tv7 pids=314 304 305
channel_next name=thevoice pids=330 320 321
на останалите транспондери доколкото гледах, се излъчва едно и също на всичките 2 х 8 канала (но се надявам да ги напълнят) прилагам и техните конфигурации, но при тях съм настроил само по един канал /etc/mumdvb/mumdvb490.conf freq=490 dont_send_sdt=1 multicast=0 unicast=1 port_http=1234 ip_http=0.0.0.0 sap=1 autoconfiguration=0
channel_next name=490-1 pids=5131 5132 5133
/etc/mumdvb/mumdvb626.conf freq=626 dont_send_sdt=1 multicast=0 unicast=1 port_http=1234 ip_http=0.0.0.0 sap=1 autoconfiguration=0
channel_next name=ch_09 pids=5331 5332 5333
Сега вече можем да управляваме цялата система през web интерфейса на openwrt Administration, Services, Initscripts там имам: dvbtv818 -> и бутони: start, stop, restart имам и за другите 2 транспондера Аз лично предпочитам скриптовете да са в disabled режим и да се пускат при нужда. как става самото гледане: конфигурацията както съм показал прави http unicast stream на адрес 0.0.0.0:1234 гледа се с VLC на: http://192.168.1.1:1234/playlist.m3u от WWW Browser може да се види html информация за излъчваните потоци: http://192.168.1.1:1234/channels_list.htmlТова е засега от мен, надявам се да съм бил полезен
|
|
|
10
|
Linux секция за начинаещи / Настройка на хардуер / Re: КАК да си направим IPTV за гледане на Софийските цифрови ефирни програми в LAN
|
-: Jan 08, 2011, 13:57
|
Темата има развитие:) Ще обясня с няколко думи как се прави домашно IPTV , със същата USB флашка af9015 , но не на компютър, а на рутерче tp-link 1043 което струва около 100 лв и има процесор 400 Mhz, 8 MB Flash, 32 MB RAM, 5 Gigabit интерфейса, USB (двойно повече флаш памет от популярния Linksys WRT54GL + USB + доста по-мощен процесор, което му позволява с лекота да върши всички тези неща) Предимствата - не е нужно да работи компютър със всичките му вентилатори, 300-400 вата консумация и т.н за да се гледа и стриймва IPTV, а и всеки има някакво рутерче в къщи нали TP-LINK 1043 Инсталираме си OpenWRT : аз избрах стабилната версия 10.03 на BackFire от http://downloads.openwrt.org/backfire/10.03/ar71xx/openwrt-ar71xx-tl-wr1043nd-v1-squashfs-factory.binпроцеса е лек и приятен, от web интерфеса с който идва tp-link, няма да се задълбочавам. След като вече имате готов работещ OpenWRT трябва да му се инсталират няколко пакета: направо ще дам списъка с моите, добре е да ги имате: root@OpenWrt:/# opkg list base-files - 42-r20728 block-hotplug - 0.1.0-1 block-mount - 0.1.0-1 busybox - 1.15.3-2 crda - 1.1.0-2 ddns-scripts - 1.0.0-6 dnsmasq - 2.52-2 dropbear - 0.52-4 fdisk - 2.13.0.1-4 firewall - 1-10 hotplug2 - 1.0-beta-1 iptables - 1.4.6-2 iptables-mod-conntrack - 1.4.6-2 iptables-mod-nat - 1.4.6-2 iw - 0.9.19-1 kernel - 2.6.32.10-1 kmod-ath - 2.6.32.10+2010-03-24-5 kmod-ath9k - 2.6.32.10+2010-03-24-5 kmod-button-hotplug - 2.6.32.10-1 kmod-cfg80211 - 2.6.32.10+2010-03-24-5 kmod-crc-ccitt - 2.6.32.10-1 kmod-crypto-aes - 2.6.32.10-1 kmod-crypto-arc4 - 2.6.32.10-1 kmod-crypto-core - 2.6.32.10-1 kmod-dvb-core - 2.6.32.10-1 kmod-dvb-usb - 2.6.32.10-1 kmod-dvb-usb-af9015 - 2.6.32.10-1 kmod-fs-cifs - 2.6.32.10-1 kmod-fs-vfat - 2.6.32.10-1 kmod-i2c-core - 2.6.32.10-1 kmod-input-core - 2.6.32.10-1 kmod-input-gpio-buttons - 2.6.32.10-1 kmod-input-polldev - 2.6.32.10-1 kmod-ipt-conntrack - 2.6.32.10-1 kmod-ipt-core - 2.6.32.10-1 kmod-ipt-nat - 2.6.32.10-1 kmod-ipt-nathelper - 2.6.32.10-1 kmod-leds-gpio - 2.6.32.10-1 kmod-mac80211 - 2.6.32.10+2010-03-24-5 kmod-nls-base - 2.6.32.10-1 kmod-nls-cp1251 - 2.6.32.10-1 kmod-nls-cp437 - 2.6.32.10-1 kmod-nls-iso8859-1 - 2.6.32.10-1 kmod-ppp - 2.6.32.10-1 kmod-pppoe - 2.6.32.10-1 kmod-scsi-core - 2.6.32.10-1 kmod-tun - 2.6.32.10-1 kmod-usb-core - 2.6.32.10-1 kmod-usb-serial - 2.6.32.10-1 kmod-usb-serial-ftdi - 2.6.32.10-1 kmod-usb-storage - 2.6.32.10-1 kmod-usb2 - 2.6.32.10-1 kmod-video-core - 2.6.32.10-1 kmod-video-uvc - 2.6.32.10-1 ldd - 0.9.30.1-42 libc - 0.9.30.1-42 libcurl - 7.19.6-1 libevent - 1.4.13-2 libgcc - 4.3.3+cs-42 libiptc - 1.4.6-2 libjpeg - 6b-1 liblua - 5.1.4-6 liblzo - 2.03-3 libnl-tiny - 0.1-1 libopenssl - 0.9.8m-3 libpthread - 0.9.30.1-42 librt - 0.9.30.1-42 libuci - 12012009.5-1 libuci-lua - 12012009.5-1 libxtables - 1.4.6-2 lua - 5.1.4-6 luci - 0.9.0-1 luci-admin-core - 0.9.0-1 luci-admin-full - 0.9.0-1 luci-admin-mini - 0.9.0-1 luci-app-ddns - 0.9.0-1 luci-app-firewall - 0.9.0-1 luci-app-initmgr - 0.9.0-1 luci-app-openvpn - 0.9.0-1 luci-cbi - 0.9.0-1 luci-core - 0.9.0-1 luci-http - 0.9.0-1 luci-i18n-english - 0.9.0-1 luci-ipkg - 0.9.0-1 luci-lmo - 0.9.0-1 luci-nixio - 0.9.0-1 luci-sgi-cgi - 0.9.0-1 luci-sys - 0.9.0-1 luci-theme-base - 0.9.0-1 luci-theme-openwrt - 0.9.0-1 luci-uci - 0.9.0-1 luci-uvl - 0.9.0-1 luci-web - 0.9.0-1 mjpg-streamer - r84-2 mtd - 12 mumudvb - 1.6.1-openwrt-1 openvpn - 2.1.1-1 opkg - 513-2 ppp - 2.4.4-5 ppp-mod-pppoe - 2.4.4-5 swconfig - 5 transmission-daemon - 1.92-1 transmission-web - 1.92-1 uci - 12012009.5-1 udevtrigger - 106-1 uhttpd - 7 wireless-tools - 29-4 wpad-mini - 20100309-1 zlib - 1.2.3-5
Както забелязвате, има пакети за openvpn, mumudvb, uvcvideo, USB, торент клиент пакетите в червено няма да намерите във официалото хранилище на пакети, и ще трябва да се компилират. за целта трябва да си приготвите мощен линукс (за предпочитане Debian базиран, аз ползвах Ubuntu server), okolo 3 GB свободно пространство, и няколко часа свободно време. причината за толкова многото часове и дисково пространство е, че трябва да изгтеглите и компилирате цялото линукс обкръжение за MIPS платформа (gcc, linux kernel, и т.н) Започваме: cd /usr/src mkdir openwrt cd openwrt основната част от работата е описана тук: http://wiki.openwrt.org/doc/howto/buildapt-get install build-essential asciidoc autoconf binutils bison bzip2 \ flex gawk gettext libncurses5-dev libz-dev patch unzip zlib1g-devapt-get install subversionсега важната част - изтегляме обкръжението: Инструкциите по-долу са валидни САМО за BackFire 10.03 с кернел 2.6.32.10 !!!svn co svn://svn.openwrt.org/openwrt/tags/backfire_10.03Дотук сме готови да си компилираме наша версия на стандартните пакети. сега следва не-стандартната част: ползвам информацията от сайта на MUMUDVB: http://mumudvb.braice.net/mumudrupal/node/36теглим файла dvb.mk от http://gitweb.braice.net/gitweb?p=mumudvb;a=blob_plain;f=openwrt/package/kernel/modules/dvb.mk;hb=HEAD поставяме го в директория: /usr/src/openwrt/backfire_10.03/package/kernel/modules/теглим Makefile за Mumudvb от тук: http://gitweb.braice.net/gitweb?p=mumudvb;a=blob_plain;f=openwrt/packages/mumudvb/Makefile поставяме го в /usr/src/openwrt/backfire_10.03/package/mumudvb/ Дотук сме готови, можем да компилираме. Прави се от директория /usr/src/openwrt/backfire_10.03 като обикновен потребител: make menuconfig избираме профил за TPLINK 1043: Target System (Atheros AR71xx/AR7240/AR913x) Target Profile (TP-LINK TL-WR1043ND v1) след това отиваме надолу, в Utilities, и избираме mumudvb, връщаме се назад, и избираме Kernel modules, DVB Support, af9015
exit, exit, exit... save.. като излезем обратно в конзолата на линукс, пишем: make V=2отиваме да пием кафе, да обядваме... 2-3 часа. Ако всичко е нормално, трябва да започне едно дълго теглене и компилиране. Когато всичко свърши, си имаме готови пакети за инсталиране, които можем да инсталираме направо през web интерфейса на OpenWRT - luci - software. Дотук - всичко е по стандартната схема, нищо не сме пачвали, имаме компилирани dvb-core модули и програмата mumudvb чрез кяото ще стриймваме. Трудната част е за конкретния USB приемник за който се говори още в 1-вия пост на темата. Необходимо е пачване, подобно на описаното в 1-ви пост. Подробности ще дам при следваща възможност, но ако стигнете до тук, сте на финалната права около 95% от цялата работа. (остатъка който следва ми отне 3 пълни дни, но на вас ще ви е лесно ) Ако не ви се компилира - качих пакетите в интернет: https://docs.google.com/leaf?id=0B8oQFOm_9mQ3OGVlYzIzOTYtZDZkYi00YjNhLTllOGMtMjc4NTNlODQ2ZjRm&hl=en
|
|
|
11
|
Linux секция за начинаещи / Настройка на хардуер / Re: КАК да си направим IPTV за гледане на Софийските цифрови ефирни програми в LAN
|
-: Oct 15, 2010, 12:43
|
@tvkkk: Страхотно с getstream CPU е натоварено 1 % при 6% със VLC ! при мен на убунту се наложи да компилирам getstream, защото apt-get install getstream инсталира вероятно някаква стара версия, и с копи-пейст на конфигурацията ми даваше грешка: stream: invalid config option.затова следвах стъпките от сайта: cd /usr/src git clone git://hydra.gt.owl.de/getstream.git
apt-get install libevent-dev apt-get install libglib2.0-dev
cd getstream makeслед това копирах получения изпълним файл getstream във /usr/binпуснах програмата със показания по-горе конфиг фаил, но изписа грешка: /dev/dvb/adapter2/ not found (или нещо в този дух) проверих какво имам в тази директория и открих само /dev/dvb/adapter0
смених в конфигурацията adapter 2 със adapter 0 И всичко тръгна !!! Каналите се сменят от VLC със Възпроизвеждане -> програма ... (при мен интерфейса е на БГ) редакция: забелязвам че плеъра приема целия входящ поток едновременно при 1-вия вариант на конфигурацията от предишния пост. Това прави 15000 кб/с входящ битрейт... За гледане в LAN не е проблем, но за отдалечено през интернет ще е тежко. следваща редакция: прилагам конфигурация за 1 транспондер с 6-те канала поотделно: http { port 8001; };
adapter 0 { dvb-t { frequency 818000000; bandwidth 8; transmission-mode auto; guard-interval auto; hierarchy none; modulation auto; }; stream { name "bnt1"; input { pnr 1; }; output-http { url /tv/bnt1; }; };
stream { name "bTV"; input { pnr 2; }; output-http { url /tv/btv; }; };
stream { name "tv7"; input { pnr 3; }; output-http { url /tv/tv7; }; };
stream { name "voice"; input { pnr 4; }; output-http { url /tv/voice; }; };
stream { name "bbt"; input { pnr 5; }; output-http { url /tv/bbt; }; };
stream { name "nova"; input { pnr 6; }; output-http { url /tv/nova; }; };
гледането става с vlc http://ip.na.server:8001/tv/nova за нова ТВ или съответно плейлиста със изброени 6-те канала
|
|
|
12
|
Linux секция за начинаещи / Настройка на хардуер / Re: КАК да си направим IPTV за гледане на Софийските цифрови ефирни програми в LAN
|
-: Aug 31, 2010, 13:45
|
А по този начин - същото излъчване се осъществява от Windows машина:
vlc.exe --programs=1,2,3,4,5,6 dvb-t:// :dvb-frequency=818000 :dvb-bandwidth=8 :dvb-guard=16 :dvb-transmission=8 :sout=#duplicate{dst=std{access=http,mux=asf,dst=:1234},select="program=1",dst=std{access=http,mux=asf,dst=:1235},select="program=2",dst=std{access=http,mux=asf,dst=:1236},select="program=3",dst=std{access=http,mux=asf,dst=:1237},select="program=4",dst=std{access=http,mux=asf,dst=:1238},select="program=5",dst=std{access=http,mux=asf,dst=:1239},select="program=6"}
показва се интерфейса на плеъра, не съм се ровил дали има аналог на cvlc за да си работи невидимо като процес...
|
|
|
15
|
Linux секция за начинаещи / Настройка на хардуер / КАК да си направим IPTV за гледане на Софийските цифрови ефирни програми в LAN
|
-: Aug 11, 2010, 17:44
|
Здравейте, пиша тук за да споделя опита си от 2 дена "ръчкане" в линукс по темата VLC Streaming DVB-T След тези 2 дена ефекта е: чудесно работещ Streaming сървър, който излъчва в ЛАН едновременно всички 6 канала от мултиплекса с цифровата телевизия в София: БНТ1, ББТ, БТВ, НОВА, ТВ7, ВОЙС Излъчването става със VLC, а за приемник ползвам УСБ стикче от e-bay за... 1$ Използвах Ubuntu 10.04 Server инсталирах dvb-apps и vlc чрез apt-get най-много време ми отне подкарването на китайското "ефтинжос" приемниче - наложи се да прекомпилирам / препачна V4L-DVB. Преди да започна, при включване на устройството излизаше следното в dmesg: [ 1268.818994] af9015: tuner id:179 not supported, please report! [ 1268.821711] Afatech DVB-T 2: Fixing fullspeed to highspeed interval: 10 -> 7 [ 1268.822301] input: Afatech DVB-T 2 as /devices/pci0000:00/0000:00:1d.7/usb1/1-3/1-3:1.1/input/input5 [ 1268.823010] generic-usb 0003:15A4:9016.0002: input,hidraw0: USB HID v1.01 Keyboard [Afatech DVB-T 2] on usb-0000:00:1d.7-3/input1ровичках по форумите, и открих - тунер ID:179 е NXP TDA18218 той обаче не се поддържа все още директно... затова - командите са следните: трябва да изтеглим firmware: wget http://jusst.de/manu/fw/AFA/dvb-usb-af9015.fw_a-link mv dvb-usb-af9015.fw_a-link /lib/firmware/dvb-usb-af9015.fwhg clone -r 0f41fd7df85d http://linuxtv.org/hg/~anttip/af9015/това изтегля точно определен source на проекта v4l-dvb към него се прилага точно определен пач: https://patchwork.kernel.org/patch/82494/raw/пачът се прилага така: patch -p1 < ../път_до_изтегления_patchслед прилагане на пача, правим компилиране: make make install(това при мен вървеше доста бавно - около 10 мин) след успешно инсталиране трябва да се презаредят kernel drivers: modprobe -r dvb_usb_af9015 modprobe -r dvb_usb
modprobe dvb_usb_af9015така, включваме отново китайския "ефтинджос" и: о, чудо : [10554.516131] dvb-usb: found a 'Afatech AF9015 DVB-T USB2.0 stick' in cold state, will try to load a firmware [10554.516140] usb 1-1: firmware: requesting dvb-usb-af9015.fw [10554.557674] dvb-usb: downloading firmware from file 'dvb-usb-af9015.fw' [10554.611498] dvb-usb: found a 'Afatech AF9015 DVB-T USB2.0 stick' in warm state. [10554.611559] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer. [10554.612436] DVB: registering new adapter (Afatech AF9015 DVB-T USB2.0 stick) [10554.977944] af9013: firmware version:4.65.0 [10554.981195] DVB: registering adapter 0 frontend 0 (Afatech AF9013 DVB-T)... [10555.002440] NXP TDA18218 successfully identified. [10555.002447] dvb-usb: Afatech AF9015 DVB-T USB2.0 stick successfully initialized and connected. [10555.008484] usbcore: registered new interface driver dvb_usb_af9015 [10555.022955] usbcore: registered new interface driver hiddev [10555.023089] usbcore: registered new interface driver usbhid [10555.023157] usbhid: v2.6:USB HID core driver
сега идва най-хубавата част: VLC направо пиша командата: cvlc --programs=1,2,3,4,5,6 dvb-t:// :dvb-frequency=818000000 :dvb-bandwidth=8 :dvb-guard=16 :dvb-transmission=8 --sout '#duplicate{dst=standard{access=http,mux=asf,dst=:1234},select="program=1",dst=standard{access=http,mux=asf,dst=:1235},select="program=2",dst=standard {access=http,mux=asf,dst=:1236},select="program=3",dst=standard{access=http,mux=asf,dst=:1237},select="program=4",dst=standard{access=http,mux=asf,dst =:1238},select="program=5",dst=standard{access=http,mux=asf,dst=:1239},select="program=6",}'това цялото на 1 ред... с тази команда се указват всички параметри необходими за настройване към цифровото излъчване в София: dvb-frequency=818000000 dvb-transmission=8 dvb-bandwidth=8 dvb-guard=16ефекта е: Стриймване на всички 6 канала едновременно, всеки на различен порт: от 1234 до 1239 остава само а си направите playlist със следните редове: http://IP.NA.Linux:1234http://IP.NA.Linux:1235http://IP.NA.Linux:1236http://IP.NA.Linux:1237http://IP.NA.Linux:1238http://IP.NA.Linux:1239от всеки отделен компютър може да се гледа различен канал, по едно и също време това е! Поздрави на всички разбрали/неразбрали
|
|
|
|