Титла: КАК да си направим IPTV за гледане на Софийските цифрови ефирни програми в LAN Публикувано от: ltrifonov в 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.fw hg 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:1234 http://IP.NA.Linux:1235 http://IP.NA.Linux:1236 http://IP.NA.Linux:1237 http://IP.NA.Linux:1238 http://IP.NA.Linux:1239 от всеки отделен компютър може да се гледа различен канал, по едно и също време това е! Поздрави на всички разбрали/неразбрали Титла: Re: КАК да си направим IPTV за гледане на Софийските цифрови ефирни програми в LAN Публикувано от: apkah в Aug 13, 2010, 13:47 Мерси, доста ми помогна да подкарам тоя тунер. При мене имаше нужда и преди компилацията да сложа компилатора да е gcc 4.3 (export cc=/usr/bin/gcc-4.3 ми свърши работа).
Нещо друго което забелязах е, че h264 мултиплексите (на 490 и 626 MHz) не се хващат от тоя тунер, а те имат много добро качество. Титла: Re: КАК да си направим IPTV за гледане на Софийските цифрови ефирни програми в LAN Публикувано от: tvkkk в Aug 13, 2010, 14:47 Нещо друго което забелязах е, че h264 мултиплексите (на 490 и 626 MHz) не се хващат от тоя тунер, а те имат много добро качество.Опитай с по-точни параметри за МПЕГ-4 пакета. Ето как е при мен vlc -vvv --color --ttl 12 --ts-es-id-pid dvb-t:// --dvb-adapter=0 \ --dvb-frequency=626000000 --dvb-inversion=0 --dvb-bandwidth=8 \ --dvb-code-rate-hp=2 --dvb-code-rate-lp=2 \ --dvb-transmission=8 --dvb-guard=4 --dvb-fec=2/3 --dvb-hierarchy=-1 --program=200 --dvb-modulation=64 --sout-keep --sout На 490 MHz се избира --program=100 При мен указвам номера на адаптера, поради няколкото ТВ карти, а със --sout-keep му казвам да продължи да излъчва, макар и да прекъсне входния сигнал. Освен това проблема може да е в това, че опитваш да ползваш mux=asf. По-разумно е да ползваш mux=ts (Аз лично го предпочитам и за МПЕГ-2) каналите. Може също да излъчваш каналате на един IP port, като със наклонена черта се указва име канала: 1234/1 1234/2 1234/3 или 1234/Kanal1 1234/bTV 1234/TV7 Титла: Re: КАК да си направим IPTV за гледане на Софийските цифрови ефирни програми в LAN Публикувано от: ltrifonov в Aug 17, 2010, 16:07 благодаря APKAH,
сега чакам да пристигне втория китайски тунер от ebay, Веднага щом пристигне го включвам и него за "--dvb-frequency=626000000" в офиса много ще се кефим ;) а и ще споделя какво е нужно за да работят едновременно! поздрави! Титла: Re: КАК да си направим IPTV за гледане на Софийските цифрови ефирни програми в LAN Публикувано от: abscent в Aug 17, 2010, 16:22 а някаква идея на какъв минимално хардуер върви този софтуер ::) - мисля да го пусна за пробата на някоя виртуална машина с E6550 / 2.33MHz...
Титла: Re: КАК да си направим IPTV за гледане на Софийските цифрови ефирни програми в LAN Публикувано от: tvkkk в Aug 17, 2010, 16:53 а някаква идея на какъв минимално хардуер върви този софтуер ::) - мисля да го пусна за пробата на някоя виртуална машина с E6550 / 2.33MHz...Ако не се прави транскодинг /както е в дадения от колегата пример/ с едноядрен 1GHz CPU и 1 ГБ РАМ ти върши работа /Пускал съм го на EEEPC 701/ . Ако правиш транскодинг - зависи от кодека. С процесор E2180 и 4 ГБ РАМ и видеокодек mp4v и шесте канала мога да ги излъча, а когато ползвам h264 стигам до 3 канала, след което започвам да губя рамки. Относно втори тунер. При твоя случай не трябва да имаш проблеми да си пуснеш второ или трето vlc на различни портове. Не съм търсил начин да пускам различни честоти с един процес. Титла: Re: КАК да си направим IPTV за гледане на Софийските цифрови ефирни програми в LAN Публикувано от: apkah в Aug 17, 2010, 22:16 а някаква идея на какъв минимално хардуер върви този софтуер ::) - мисля да го пусна за пробата на някоя виртуална машина с E6550 / 2.33MHz... Така както е направено, се предава директно сигнала, който идва от мултиплексите, и нищо не се преенкодира, затова ако само stream-ваш и не гледаш от екрана на "vlc съръра" ти трябват сравинтелно слаб хардуеър, 600-700 и 256ram ще ти сършат работа (аз го подкарах на виртуална машина с 256 рам). Аз така бях направил в работата за световното по футбол - пусхах stream-а, който идваше дректно от мултиплекса и всекой, който искаше да гледа мача, си гледаше stream-а препредаван от vlc-то, и през цялото време cpu-то не се вдигна на повече от 10%, а машинката беше P4 на 2.8 GHzл Титла: Re: КАК да си направим IPTV за гледане на Софийските цифрови ефирни програми в LAN Публикувано от: abscent в Aug 18, 2010, 17:23 Цитат ...600-700 и 256ram ще ти сършат работа (аз го подкарах на виртуална машина с 256 рам)...благодаря много, така поднесената информация ме устройва идеално остава да проуча дали във варна мултиплекса е активно пуснат, а не тестово, и да взема pci-платка за tv-capture - за останалото ще склоня някак xen-а и дъното което го търкаля ;D Титла: Re: КАК да си направим IPTV за гледане на Софийските цифрови ефирни програми в LAN Публикувано от: vstoykov в Aug 19, 2010, 08:44 Внимавайте да не разбере Явор Колев ($2) за нелицензираното предаване по кабел на телевизия, че може да се качи на покрива и да ви конфискува сървърите...
Ако не взимате пари за това ощетявате държавата като не плащате данъци. Ако потребителите на услугата са свързани лица не можете да предлагате услугата безплатно - трябва да е на пазарни цени и да плащате съответните данъци. Ако НАП ви надуши ще има глобички... P.S. Във всяка шега има и малко истина... Титла: Re: КАК да си направим IPTV за гледане на Софийските цифрови ефирни програми в LAN Публикувано от: b2l в Aug 19, 2010, 08:46 //off
Явор Колев ($2) :D :D :D :D :D :D това съм го пропуснал в deal-a :D :D :D :D :D :D Титла: Re: КАК да си направим IPTV за гледане на Софийските цифрови ефирни програми в LAN Публикувано от: kennedy в Aug 19, 2010, 13:12 а някой може ли дами пусне някое url да си го адна в vlc-to и да гледам дискавърито?
Титла: Re: КАК да си направим IPTV за гледане на Софийските цифрови ефирни програми в LAN Публикувано от: ltrifonov в Aug 30, 2010, 14:26 Пристигна ми втория тунер от китай :)
пуснах ги в паралел - никакъв проблем, разпознават си се едновременно само както е писал по-горе tvkkk - указвам на единия vlc: --dvb-adapter=0 а на другия: --dvb-adapter=1 натоварването на системата се увеличи с 1% :))) машинката е P4 3.0 Титла: Re: КАК да си направим IPTV за гледане на Софийските цифрови ефирни програми в LAN Публикувано от: ltrifonov в 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 за да си работи невидимо като процес... Титла: Re: КАК да си направим IPTV за гледане на Софийските цифрови ефирни програми в LAN Публикувано от: tvkkk в Aug 31, 2010, 14:04 Може би с опция -I dummy --dummy-quiet Титла: Вариант 2 getsream Публикувано от: tvkkk в Sep 29, 2010, 11:16 Ето и още един вариант за ъзлъчване, по-лесен за изпълнение и не е толкова трудоемък за процесора, а и всичко се пуска с един процес.
За целта ползвам getstream http://silicon-verl.de/home/flo/projects/streaming/ Няма да описвам как се инсталира, на сайта е описано. На практика най-съществената част е конфигурационният файл / Ето така изглежда моят конфигурационен фаил за два DVB-T тунера: Цитат http { Гледане на клиентска машина става с vlc http://my_streaming_server:8001/mux1 или towercom626. Смяната на каналите става от Playback--Program на клиентското vlc . По разумен вариант е да се излъчват отделни канали, като се задават PID /pnr в конф. файл/ Цитат stream { Ето и как добавям и кабеларката към схемата : Цитат adapter 1 {Накрая си пускам процеса със : #!/bin/bash getstream -c /etc/getstream.conf & Титла: Re: КАК да си направим IPTV за гледане на Софийските цифрови ефирни програми в LAN Публикувано от: ltrifonov в 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 { гледането става с vlc http://ip.na.server:8001/tv/nova за нова ТВ или съответно плейлиста със изброени 6-те канала Титла: Re: КАК да си направим IPTV за гледане на Софийските цифрови ефирни програми в LAN Публикувано от: tvkkk в Oct 16, 2010, 13:58 Наистина, както и аз отбялязах е добре да се разделят каналите, вместо да се излъчва пълният поток.
За локална мрежа ти препоръчвам да ползваш и UDP или RTP Цитат Тогава в локалната мрежа може да се ползват SAP анонсите и през playlist менюто да се избират каналите и да се гледат по UDP Титла: Re: КАК да си направим IPTV за гледане на Софийските цифрови ефирни програми в LAN Публикувано от: tvkkk в Oct 16, 2010, 14:21 Вариант със dvblast. Само за локална мрежа, защото за съжаление не поддържа http стрийминг, а само rtp и udp и доколкото. но има опция always on в случай че загуби входния сигнал продължава да държи и да чака сигнала да се възстанови. Освен това конфигурацията е много проста:
създаваме си конфигурационен файл например mux1.cfg Цитат ;Kanal 1Накратко за конфигурацията IP адрес/порт/always on флаг/PID на канала Пускаме dvblast -a 0 -c mux.cfg -f 818000000 -m qam_16 -b 8 -e Палим vlc и даваме open stream rtp://@239.255.1.1 за първия канал и т.н. За да не мъчим потребителите, май добре е да ползваме minisapserver правим си sap.cfg файл Цитат # sap.cfg - Configuration file of the mini SAP serverПалим sap сървъра със sapserver -c sap.cfg Пускаме клиентския vlc - Paylist --> Local Network --> Network streams (SAP) и избираме какво да гледаме Титла: Re: КАК да си направим IPTV за гледане на Софийските цифрови ефирни програми в LAN Публикувано от: distlists в Nov 23, 2010, 12:02 А някой имал ли е проблеми с VLC стрийминг на H264 мултиплексите (490 и 626 MHz)? Ако се гледа локално с VLC на компютъра на който е инсталиран DVB-T тунера няма никакви проблеми, но при опит за стрийминг с VLC, на клиента (отново VLC) картината се вижда замазана, на големи зелени квадрати, а сървъра през цялото време показва следните съобщения:
Цитат [0x100261778] main stream output warning: trying to send non-dated packet to stream output! Получава се и на Ubuntu 10.04 Server (vlc 1.0.6) и на Windows XP SP3 (vlc 1.1.5). Този прблем го няма при мултиплекса на 818MHz и там стрийминга работи както трябва. Единствено успявам да пусна H264 мултиплекс, когато изпозлвам getstream за стрийминг сървър, но проблема е, че сървъра в крайна сметка трябва да е Windows и това е причината да се опитвам да го пусна с VLC. Титла: Re: КАК да си направим IPTV за гледане на Софийските цифрови ефирни програми в LAN Публикувано от: tvkkk в Nov 23, 2010, 16:07 При мен всичко беше наред на Убунту 10.04 като ползвам medibuntu хранилищата.
Титла: Re: КАК да си направим IPTV за гледане на Софийските цифрови ефирни програми в LAN Публикувано от: distlists в Nov 23, 2010, 18:30 Точно от medibuntu инсталирах всичко, след това опитвах и с компилиране на ffmpeg и libx264, но все този проблем. Освен това и под Windows положението е същото. Предполагам нещо са променили в стрийминга на 490 и 626 мултиплексите :(
Титла: Re: КАК да си направим IPTV за гледане на Софийските цифрови ефирни програми в LAN Публикувано от: tvkkk в Nov 23, 2010, 19:44 А какъв mux задаваш на изхода? При mux=ts не би трябвало да имаш проблем.
Титла: Re: КАК да си направим IPTV за гледане на Софийските цифрови ефирни програми в LAN Публикувано от: distlists в Nov 23, 2010, 21:19 Точно mux=ts. Примерно това, за програма 5310:
cvlc --sout-keep --color -vvv --programs=5310 dvb:// --dvb-frequency=626000000 --dvb-bandwidth=8 --sout '#duplicate{dst="std{mux=ts,access=http,dst=:2801}",select="program=5310"}' С MPEG2 работи без проблем, но с H264 дава тази грешка. Титла: Re: КАК да си направим IPTV за гледане на Софийските цифрови ефирни програми в LAN Публикувано от: tvkkk в Nov 25, 2010, 15:12 Ако е само една програма, задаваш --program=5310, а не --programs=5310. Друга идея нямам, освен нещо с модулите за dvb да има някакви грижи.
Титла: Re: КАК да си направим IPTV за гледане на Софийските цифрови ефирни програми в LAN Публикувано от: RealEnder в Nov 25, 2010, 18:34 Ще е интересно да споделите кой какъв хардуер точно използва, ако е от БГ от къде (няма да стане реклама) и т.н., защото доста народ "изгоря" с криви USB receiver-и - или няма подходящи драйвери, или под капака - аналог:)
Титла: Re: КАК да си направим IPTV за гледане на Софийските цифрови ефирни програми в LAN Публикувано от: distlists в Nov 30, 2010, 20:07 В крайна сметка се отказах да ползвам VLC за H.264 мултиплексите. Сега използвам DVPiper [1], която е доста малка програма и е идеална за това което ми трябва. Може да се каже, че е еквивалента на getstream, но за Windows :). Ако някой има подобни проблеми с VLC, може да опита с нея.
[1] http://www.it.usyd.edu.au/~efax/DVPiper.html @RealEnder Аз използвам AVerTV Volar Black HD USB. Има драйвери за Линукс, но през няколко дена забива и трябва да се премести на различен USB порт за да тръгне отново. Понякога трябва и рестарт. Точно затова се опитвам да го пусна под Windows - с надеждата, че там драйверите ще са по-стабилни и няма да забива през няколко дни, но за момента още не мога да кажа дали работи стабилно или не. Титла: Re: КАК да си направим IPTV за гледане на Софийските цифрови ефирни програми в LAN Публикувано от: tvkkk в Dec 01, 2010, 09:44 Ще е интересно да споделите кой какъв хардуер точно използва, ако е от БГ от къде (няма да стане реклама) и т.н., защото доста народ "изгоря" с криви USB receiver-и - или няма подходящи драйвери, или под капака - аналог:)Основно PCI по-старички модели- KWorld DVB-T 220RF, AVerMedia AverTV Hybrid FM PCI A16D и за кабеларката Technisat Cablestar II /първата серия без ХД в заглавието/. УСБ-тата AVerMedia AverTV Hybrid+FM Volar (A828), макар че в последно време ползвам ибейските евтини китайчета с аф9015 и тда18218. Титла: Re: КАК да си направим IPTV за гледане на Софийските цифрови ефирни програми в LAN Публикувано от: ltrifonov в 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 ($2) процеса е лек и приятен, от web интерфеса с който идва tp-link, няма да се задълбочавам. След като вече имате готов работещ OpenWRT трябва да му се инсталират няколко пакета: направо ще дам списъка с моите, добре е да ги имате: Цитат root@OpenWrt:/# opkg list Както забелязвате, има пакети за 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/build ($2) apt-get install build-essential asciidoc autoconf binutils bison bzip2 \ flex gawk gettext libncurses5-dev libz-dev patch unzip zlib1g-dev apt-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 ($2) теглим файла dvb.mk от http://gitweb.braice.net/gitweb?p=mumudvb;a=blob_plain;f=openwrt/package/kernel/modules/dvb.mk;hb=HEAD ($2) поставяме го в директория: /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 ($2) поставяме го в /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 ($2) Титла: Re: КАК да си направим IPTV за гледане на Софийските цифрови ефирни програми в LAN Публикувано от: kip в Jan 10, 2011, 11:39 ltrifonov прекрасно howto.На моя "мощен" Debian компирацията отне 40 минути.Опитах да пачна кернела с пача от поста ти ($2), но видях, че трябва малко да се преработи спрямо кернел 2.6.32.10. Довечера ще си поиграя малко с пача и ще компилирам наново.Чакам с интерес продължението на темата ти :)
Титла: Re: КАК да си направим IPTV за гледане на Софийските цифрови ефирни програми в LAN Публикувано от: ltrifonov в Jan 10, 2011, 13:10 ltrifonov прекрасно howto.На моя "мощен" Debian компирацията отне 40 минути.Опитах да пачна кернела с пача от поста ти ($2), но видях, че трябва малко да се преработи спрямо кернел 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-usb af9015.c dvb-usb-ids.h и в drivers/media/dvb/frontends af9013.c af9013.h af9013_priv.h Има една особеност - в повечето от тези файлове има ред: #include "compat.h" или трябва да махнем този ред, защото във toolcain за openwrt няма такъв, или във всяка от горните директории да си направим по един празвн compat.h Последна модификация: отваряме media/dvb/dvb-usb/Kconfig и добавяме реда от по-долу в червено: Цитат config DVB_USB_AF9015 Това е всичко - пускаме си пак: 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 за зареждане на модулите в този ред след рестарт може и ръчно с insmod в този ред ако всичко е ок, в dmesg виждаме: Цитат dvb-usb: found a 'Afatech AF9015 DVB-T USB2.0 stick' in warm state. пропуснах да кажа, но трябва да поставим изтегления фирмуер на съответното място: /lib/firmware/dvb-usb-af9015.fw след това се прави точно както е описано в сайта на mumudvb за openwrt: Цитат mkdir /dev/dvb Конфигурацията на самото mumudvb при мен е: (за софия) направих си 3 скрипта в /etc/init.d направих си и 3 конфигурации за всеки от 3-те транспондера в софия давам пример с 1-вия скрипт за 818 Mhz останалите скриптове се различават само по иметно на конф. файла в зелено по-долу: /etc/init.d/dvbtv818: Цитат #!/bin/sh /etc/rc.common ето и самите конфигурации: /etc/mumdvb/mumdvb818.conf: Цитат freq=818 на останалите транспондери доколкото гледах, се излъчва едно и също на всичките 2 х 8 канала (но се надявам да ги напълнят) прилагам и техните конфигурации, но при тях съм настроил само по един канал /etc/mumdvb/mumdvb490.conf Цитат freq=490 /etc/mumdvb/mumdvb626.conf Цитат freq=626 Сега вече можем да управляваме цялата система през 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 Това е засега от мен, надявам се да съм бил полезен :) Титла: Re: КАК да си направим IPTV за гледане на Софийските цифрови ефирни програми в LAN Публикувано от: kip в Jan 11, 2011, 23:04 ltrifonov скалъпих следния скрипт :
Код , който да автоматизира малко стъпките, които си дал. Компилацията минава, но в backfire_10.03/bin/ar71xx/packages/ липсват : kmod-dvb-core_2.6.32.10-1_ar71xx.ipk kmod-dvb-usb-af9015_2.6.32.10-1_ar71xx.ipk kmod-dvb-usb_2.6.32.10-1_ar71xx.ipk , a : kmod-i2c-core_2.6.32.10-1_ar71xx.ipk mumudvb_1.6.1-openwrt-1_ar71xx.ipk са налични ... Рутера не ми е под ръка в момента, така, че утре ще пробвам с пакетите ($2), които си публикувал. Титла: Re: КАК да си направим IPTV за гледане на Софийските цифрови ефирни програми в LAN Публикувано от: ltrifonov в 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 ($2) Титла: Re: КАК да си направим IPTV за гледане на Софийските цифрови ефирни програми в LAN Публикувано от: ltrifonov в Jan 14, 2011, 14:48 Открих последната липсваща част!
отново се извинявам, но толкова много пъти преправях и започвах отначало, че това съм го пропуснал. значи, в dvb.mk модула трябва да се направят 2 промени преди компилацията: Цитат define KernelPackage/dvb-usb-af9015 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 Титла: Re: КАК да си направим IPTV за гледане на Софийските цифрови ефирни програми в LAN Публикувано от: kip в Jan 15, 2011, 20:09 ltrifonov ето до къде стигнах и аз с рутера под ръка:
1. Направих си този ($2) скрипт за билдване. Процеса на компилация минава успешно, но ето какво виждам в лога Код: WARNING: kmod-dvb-usb-af9015 is not available in the kernel config Титла: Re: КАК да си направим IPTV за гледане на Софийските цифрови ефирни програми в LAN Публикувано от: ltrifonov в Jan 15, 2011, 20:16 ltrifonov ето до къде стигнах и аз с рутера под ръка: @kip аз започнах да си билдвам 10.03.1-rc4 защото в 10.03 така и не успях да направя extroot... та докато правих гореописаната от мен процедура наново, забелязах още няколко пропуска: 1. Ако не се селектира video support - изобщо не се билдва video for linux частта от кернела - трябва да се селектира при make menuconfig. 2. libpthread - пропуснал съм да кажа, но то е в изискванията за mumudvb - може да се инсталира от готовите пакети може и да има още пропуски - сега като билдна (ако успея) ще допълня :) Титла: Re: КАК да си направим IPTV за гледане на Софийските цифрови ефирни програми в LAN Публикувано от: kip в Jan 15, 2011, 20:23 И аз ще си играя още да си билдна читав firmware с luci. После може да скалъпим един цялостен скрипт, който генерира всичко от край докрай. :)
Титла: Re: КАК да си направим IPTV за гледане на Софийските цифрови ефирни програми в LAN Публикувано от: ltrifonov в 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 ПП: нищо друго не е необходимо за пълната компилация, само горните уточнения Титла: Re: КАК да си направим IPTV за гледане на Софийските цифрови ефирни програми в LAN Публикувано от: kip в Jan 16, 2011, 10:08 ltrifonov успях да билдна читав firmware с luci с ssl :
Код: cd backfire Ти докъде стигна с билдването на 10.03.1-rc4? Титла: Re: КАК да си направим IPTV за гледане на Софийските цифрови ефирни програми в LAN Публикувано от: ltrifonov в 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. Като минах и изтрих ръчно компилираните боклуци, след това си се компилира нормално. А цялата идея да постна процедурата, а и ти да напишеш скрипт е, да може да се прилага при следващи версии на кернела :) иначе теглиш готовите пакети и то си работи Титла: Re: КАК да си направим IPTV за гледане на Софийските цифрови ефирни програми в LAN Публикувано от: ltrifonov в Mar 01, 2011, 12:36 луд умора няма... да продължа темата! ;D
намерих в амазон смешно евтин USB DVB-S приемник - 6 лири... TechnoTrend Connect S-1200 USB 1.1, DVB-S http://www.amazon.co.uk/gp/product/B002KQ9RPG/ref=oss_product ($2) този приемник е доста стар модел, по протокол 1.1 което значи, че ще се затруднява при стрийм на цял транспондер, но със активиран PID Filtering би трябвало да няма проблеми за 1-2 канала едновременно. естествено веднага го поръчах и компилирах модул за него за OpenWRT. Драйвера е известен на линукс кернела като ttusb-budget, съществува си стандартно. За компилацията е нужно да се добави във dvb.mk (от предишните постове) следното: Цитат
Преди да пристигне няма как да знам дали работи :) но чакам. Ако стане, openwrt рутерчето TP-LINK 1043 ще удари в земята и дримбоксове и всякакви там боклуци :) компилираният пакет за backfire 10.03.1-rc4 се намира на: kmod-dvb-ttusb-budget_2.6.32.25-1_ar71xx.ipk ($2) компилирах и версия за backfire 10.03: kmod-dvb-ttusb-budget_2.6.32.10-1_ar71xx.ipk ($2) Титла: Re: КАК да си направим IPTV за гледане на Софийските цифрови ефирни програми в LAN Публикувано от: ltrifonov в 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 ($2) Вътре в този ipk пакет има един изпълним файл - "tvheadend". Поставил съм го в / (ако го сложите на друго място - просто променете реда в скрипта по-долу) стартиращ скрипт: /etc/init.d/tvheadend Код: #!/bin/sh /etc/rc.common как се използва: Първоначално трябва да се направи един потребител на OS, от чието име да се стартира процеса tvheadend. аз го правя, чрез ръчно добавяне на ред в /etc/passwd: Код: tv:*:111:0:TV:/etc/tv:/bin/false След това трябва да направите 1-во стартиране така: Код: /tvheadend -C по този начин ще се стартира процеса, ще започне да изписва в конзолата какви адаптери е намерил и т.н и ще осигури пълен достъп без парола до 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/.... спраме процеса от друга конзола със: Код: killall -9 tvheadend местим конфигурацията: Код: mkdir /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) Титла: Re: КАК да си направим IPTV за гледане на Софийските цифрови ефирни програми в LAN Публикувано от: tvkkk в Aug 15, 2011, 09:35 Благодаря ltrifonov!
Доста интересен проект. Малко се дъни при мен на Ubuntu 11.04, но в общи линии е супер. Между другото попаднах на друг интересен проект - getsream.a84, който се явява модификация с добавена поддръжка на декодиране на канали по системите BISS, Viaccess, Irdeto2, DRE, Conax, CryptoWorks, поддържа протокола newcamd /oscam,newcs/ и други. В момента работата по него е преустановена, като се подготвя подмяната му с проекта Astra. Повече информация https://cesbo.com/projects/iptv/wiki/Homepage_ru Титла: Re: КАК да си направим IPTV за гледане на Софийските цифрови ефирни програми в LAN Публикувано от: ltrifonov в Aug 15, 2011, 10:43 мерси, ще разгледам и това ;)
аз всъщност от доста време се опитвам да измисля начин как или да стриймвам кодирани канали от рутера, които да декодирам при клиента, или да декодирам още върху рутера и да стриймвам. За нормален (i686) линукс не е трудно да се направи разкодирането, но мен ме гложди идеята да подкарам всичко това върху рутерчето, то така и така е включено денонощно, процесора му (400 Mhz MIPS) е съизмерим с този на dreambox, но имам проблеми с подкарването на FFDesca (Software descrambler) за този процесор. Титла: Re: КАК да си направим IPTV за гледане на Софийските цифрови ефирни програми в LAN Публикувано от: kennedy в Aug 16, 2011, 09:09 vlc-то може ли да ползва CUDA за прекодирането при сриймване?
Титла: Re: КАК да си направим IPTV за гледане на Софийските цифрови ефирни програми в LAN Публикувано от: rotation в Nov 29, 2011, 00:42 Здравейте!
Незнам дали е тук правилното място. С opensuse 11.2 съм, а vlc медиа плейър-а иска да му се укаже път за Adapter card to tune. Неможе да се промени /dev/dvb/adapter0? По какъв начин мога да си гледам някой DVB-T мултиплекс. Какво трябва да запиша в /dev/dvb/? adapter0 папка или файл е? Бихте ли постнали тук примерно adapter0 за 818 МHz и как се прави? Използвам DVB-T USB с чип chip AF9015 и тунер TDA18218. Надявам се да отговорите! Титла: Re: КАК да си направим IPTV за гледане на Софийските цифрови ефирни програми в LAN Публикувано от: tvkkk в Nov 29, 2011, 09:26 Би трябвало директорията и поддиректориите в /dev/dvb/ да се създадат автоматично при разпознаването на dvb картата и ако се налага да зареди съответния firmware. Ако всичко е успешно трябва да се видят следните поддиректории - demux0 dvr0 frontend0 net0 в /dev/dvb/adapter0 (или съответния номер за всеки следващ). Твоята комбинация от чипсет на тунера се поддържа в по-новте ядра 2.6.37.x нагоре. За останалите врсии е необходимо да се приложи пач към ядрото. Ако не се лъжа Opensuse 11.2 е с ядро 2.6.31.x В първия пост по темата е даден пример за това. За Опенсусе не мога да кажа да дали и как ще сработи пача към ядрото.
Може да следиш дали се зарежда модула на адаптера под конзола с Цитат dmesg |grep "registering adapter "Ето какво показва на моята машина Цитат [ 15.287329] DVB: registering adapter 0 frontend 0 (TurboSight TBS 62x0 DVBT frontend)...А са самото vlc адаптера се указва с --dvb-adapter=x Титла: Re: КАК да си направим IPTV за гледане на Софийските цифрови ефирни програми в LAN Публикувано от: Sairos в Apr 08, 2013, 10:29 Колеги само при мен ли се случва при рязка смяна на кадъра да става всичко в квадратчета ?
|