Przesłanie multiplexu za pomocą IP

Różne zagadnienia techniczne: EPG, telegazeta, dźwięk, SSU, dane, i inne
giaur500
Posty: 1693
Rejestracja: 1 lipca 2011, o 13:42

Re: Przesłanie multiplexu za pomocą IP

Post autor: giaur500 »

Można by jeszcze dodać, że VLC również posiada możliwość streamingu przez lan.

giaur500
Posty: 1693
Rejestracja: 1 lipca 2011, o 13:42

Re: Przesłanie multiplexu za pomocą IP

Post autor: giaur500 »

Gdyby ktoś jeszcze był zainteresowany tematem, trafiłem na świetne całościowe rozwiązanie właśnie do realizacji tego zadania: https://www.lonelycoder.com/hts/tvheadend_overview.html

Wygląda obiecująco:
https://www.lonelycoder.com/hts/images/ ... annels.png
https://www.lonelycoder.com/hts/images/ ... nd_epg.png
https://www.lonelycoder.com/hts/images/ ... bmuxes.png

PJN

Re: Przesłanie multiplexu za pomocą IP

Post autor: PJN »

Wróciłem do tematu: kupiłem tuner DVB-T na USB, wgrałem sterowniki na Linuxa, system widzi tuner, da się skanować ale nie wiem jak puścić stream po sieci.
scan /usr/share/dvb/dvb-t/pl-mojasiec pokazuje liste kanalow na multiplexie:

Kod: Zaznacz cały

scanning /usr/share/dvb/dvb-t/pl-mojasiec
using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0'
initial transponder 602000000 0 7 9 3 1 0 0
>>> tune to: 602000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_7_8:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_32:HIERARCHY_NONE
Network Name 'TP EmiTel'
0x0000 0x0003: pmt_pid 0x0065 EmiTel -- Polsat (running)
0x0000 0x0004: pmt_pid 0x00c9 EmiTel -- TVN (running)
0x0000 0x0005: pmt_pid 0x012d EmiTel -- TV4 (running)
0x0000 0x0006: pmt_pid 0x0191 EmiTel -- TV Puls (running)
0x0000 0x0017: pmt_pid 0x01f5 EmiTel -- TVN Siedem (running)
0x0000 0x0018: pmt_pid 0x0259 EmiTel -- PULS 2 (running)
0x0000 0x0019: pmt_pid 0x02bd EmiTel -- TV6 (running)
0x0000 0x001a: pmt_pid 0x0321 EmiTel -- Polsat Sport News (running)
dumping lists (8 services)
Polsat:602000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_7_8:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:102:103:3
TVN:602000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_7_8:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:202:203:4
TV4:602000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_7_8:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:302:303:5
TV Puls:602000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_7_8:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:402:403:6
TVN Siedem:602000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_7_8:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:502:503:23
PULS 2:602000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_7_8:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:602:603:24
TV6:602000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_7_8:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:702:703:25
Polsat Sport News:602000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_7_8:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:802:803:26
Done.
Chcę sobie przykładowo wysłać TVN Siedem do domu więc wpisuję:

Kod: Zaznacz cały

dvbstream -f 602000000 -i 192.168.0.1 -r 5004 -v 0x0017 -a 0x01f5
dostaję coś takiego

Kod: Zaznacz cały

Released under the GPL.
Latest version available from http://www.linuxstb.org/
Tuning to 602000000 Hz
Using DVB card "Realtek RTL2832 DVB-T  RTL2836 DTMB", freq=602000000
tuning DVB-T (in United Kingdom) to 602000000 Hz, Bandwidth: 8
Getting frontend status
Event:  Frequency: 602000000
Bit error rate: 4506
Signal strength: 14135
SNR: 18
UNC: 23
FE_STATUS: FE_HAS_SIGNAL FE_HAS_LOCK FE_HAS_CARRIER FE_HAS_VITERBI FE_HAS_SYNC
dvbstream will stop after -1 seconds (71582788 minutes)
Using 192.168.0.1:5004:2
version=2
Streaming 1 stream
Jednak jak próbuję w laptopie otworzyć adres 192.168.0.1 za pomocą VLC to dostaję błąd. Coś pewnie robię nie tak ale nie wiem co. Szukałem w necie poraadników ale są zbyt szczegółowe lub dotyczą DVB-S. Komuś z Was udało już się puścić DVB-T po Lanie? Prosiłbym o pomoc.

Awatar użytkownika
qwerty
Posty: 3260
Rejestracja: 9 września 2009, o 16:41
Miejscowość: Białystok
Odbiornik: LXDVB101
32LM6300
2x FTE T220 MAX
Instalacja antenowa: dipol szerokopasmowy i biquady
Nadajnik - obiekt nadawczy: RTCN Krynice

Re: Przesłanie multiplexu za pomocą IP

Post autor: qwerty »

Nie ma różnicy czy dvb-t czy dvb-s. Gdzieś widziałem tutorial jak zrobić, aby router rozsyłał strumień z dvb-t. :)

nkp123

Re: Przesłanie multiplexu za pomocą IP

Post autor: nkp123 »

@PJN: Czy oby napewno adres Twojego komputera/serwera to 192.168.0.1 ? Zwykle jest to adres bramy/routera. Wpisz na serwerze ipconfig (lub odpowiednik na linuxie) i sprawdź, jaki IP ma twój komputer/serwer.

PJN

Re: Przesłanie multiplexu za pomocą IP

Post autor: PJN »

Znam swoje IP tylko nie będę się nim tutaj chwalił dlatego zastąpiłem je adresem 192.168.0.1.

@qwerty jakbym tylko dostał jakiś dobry tutorial to bym sobie poradził ale niestety nic takiego nie widziałem :/

ZAstanawiam się, czy podaję dobre pidy i czy ta komenda dvbstream jest prawidłowa?

Awatar użytkownika
qwerty
Posty: 3260
Rejestracja: 9 września 2009, o 16:41
Miejscowość: Białystok
Odbiornik: LXDVB101
32LM6300
2x FTE T220 MAX
Instalacja antenowa: dipol szerokopasmowy i biquady
Nadajnik - obiekt nadawczy: RTCN Krynice

Re: Przesłanie multiplexu za pomocą IP

Post autor: qwerty »


giaur500
Posty: 1693
Rejestracja: 1 lipca 2011, o 13:42

Re: Przesłanie multiplexu za pomocą IP

Post autor: giaur500 »

Polecam mumudvb i multicast przez udp (jeśli router obsługuje multicast). U mnie działa wyśmienicie, a co ważniejsze - zero konfiguracji, wystarczy podać częstotliwość/szerokość kanału mux-a. Zero konfiguracji sieci. Oczywiście możesz zrezygnować z autokonfiguracji i ustawiać wszystko ręcznie.

Warunek: router musi obsługiwać multicast (nie każdy obsługuje) oraz sieć musi być w stanie przesłać ~24 Mbps (przepustowość całego multipleksu), czyli najlepiej router podpięty do serwera kablem albo dobra sieciówka wifi. Klienci potrzebują pasma tylko na tyle, ile programów aktualnie oglądają.

Zajrzyj tu: http://mumudvb.braice.net/mumudvb/doc/m ... _CONF.html

Potem w vlc u klienta (nawet na Windows) włączasz sap i każdy klient widzi od razu listę kanałów, ma epg, telegazetę itd.

Jeżeli router nie obsługuje multicast albo chcesz wysyłać w świat (poza twoją sieć LAN), to jest możliwy standardowy streaming (czyli, unicast), tylko należy wziąć pod uwagę, że każdy nowy klient zapycha łącze sieciowe. Program potrafi nawet wygenerować w locie listę .m3u z programami tv oraz kompresować strumień w locie za pomocą ffmpeg (ale tego nie testowałem).

gierma

Re: Przesłanie multiplexu za pomocą IP

Post autor: gierma »

@giaur500 podobne rozwiązanie oparte na MumuDVB stosuję u siebie w domu. Wszystkie programy dostępne są przez unicast. Udostępniam 3 muxy dla ok. 10 klientów przez Wifi i po skrętce. Do urządzenia Iomega Iconnect pracującego na Linuksie podpięte są 3 karty DVB-T USB. Każda obsługuje jeden mux. Strumien wysyła do sieci program MumuDVB. Klienci używają VLC do odbioru.
Wideo przedstawiające to rozwiązanie dostępne jest tutaj: http://www.youtube.com/watch?v=caxt0oGRX1Q

giaur500
Posty: 1693
Rejestracja: 1 lipca 2011, o 13:42

Re: Przesłanie multiplexu za pomocą IP

Post autor: giaur500 »

Czemu unicast? Marnujesz przepustowość, każdy klient zapycha łącze. Z kolei, w multicast potrzebna przepustowość to zawsze tyle ile pojemności ma mux, na 3 muxy rzeczywiste 100 Mbps powinno wystarczyć, niezależnie od tego ile osób ogląda.

Osobiście, zastanawiam się czy nie postawić mumudvb na raspberry pi - mało prądu ciągnie a to mega zaleta. Jednak vlc jako klient mi nie bardzo pasuje (wolę xbmc), więc niestety pozostanie pewnie tvheadend i normalna transmisja unicast przez http.

gierma

Re: Przesłanie multiplexu za pomocą IP

Post autor: gierma »

W unicast kazdy klient laczy sie z jednym kanalem, czyli potrzebuje ok. 4 Mbit/s przepustowosci (obraz + dzwiek + dane informacyjne + teletext). Jezeli nawet 10 klientow oglada jednoczesnie tv to w sumie zuzywaja 40 Mbit pasma. Moim skromnym zdanie multicast lepiej sprawdza sie w duzych instalacjach, gdzie liczba klientow przekracza 20.

giaur500
Posty: 1693
Rejestracja: 1 lipca 2011, o 13:42

Re: Przesłanie multiplexu za pomocą IP

Post autor: giaur500 »

No w sumie.

Awatar użytkownika
qwerty
Posty: 3260
Rejestracja: 9 września 2009, o 16:41
Miejscowość: Białystok
Odbiornik: LXDVB101
32LM6300
2x FTE T220 MAX
Instalacja antenowa: dipol szerokopasmowy i biquady
Nadajnik - obiekt nadawczy: RTCN Krynice

Re: Przesłanie multiplexu za pomocą IP

Post autor: qwerty »

Jakbym widział u siebie - WR1043ND i Toshiba L300. ;) Radziłbym wymienić kość ram w routerze - u mnie przy 32 MiB muliło - lepiej mieć w ramue, niż zajeździć pendrive na swap. ;)

gierma

Re: Przesłanie multiplexu za pomocą IP

Post autor: gierma »

Tp-Link w mojej sieci spelnia tylko funkcje AP oraz switcha/routera. Funkcje udostepnienia dvb-t/magazynu danych/serwera innych uslug spelnia Iomega Iconnect, w ktorym jest az 256 MB RAM;) Pendrvie w WR1043ND wsadzilem tak na wszelki wypadek.

dips82

Re: Przesłanie multiplexu za pomocą IP

Post autor: dips82 »

Witam do streamingu DVB-T znalazłem kilka rozwiązań.
Sprzętowe których nie byłem w stanie przetestować:
1. AVERMEDIA HomeFree Duet (Ciekawe, ale bez obsługi Androida jedynie IOS)
2. PCTV Broadway 2T Twin (Chyba najciekawsze z WIFI ale drogie)
3. Elgato EyeTV Netstream DTT (wiele o tym nie idzie się dowiedzieć)
I programy które przetestowałem:
1. MediaPortal - świetnie chodzi , pluginy do np transkodowania i zmniejszenia jakości, i soft do androida aMPdroid, działające EPG
2. JTVLAN - drobne zawieszki, jednak nie wiem czy winą nie był zbyt słaby sygnał DVB-T, EPG brak.
3. ProgDVB - raczej bez kupna wersji full się nie polata.

Urządzeń nie jestem w stanie przetestować, co do programów myślę że większość dostępnych przejrzałem i w sumie najciekawszy jest obecnie MediaPortal, 3 karty DVB-T i wszystkie mux-y na nieograniczoną liczbę użytkowników wysyłamy (na allegro za 30zl najtańsza karta pci DVB-T i śmiga).
Pozdrawiam mam nadzieje że temat zainteresuje.

ps. karta np taka mi chodzi: http: // all egro.pl /tuner-dvb-t-creatix-pci-analog-cyfra-mpeg-4-i2900650166.html (usunąć spacje)

trend

Re: Przesłanie multiplexu za pomocą IP

Post autor: trend »

Pytanko do Specjalistów :)
Emigrant chce sobie streamować sygnał dvb-t do USA
Ma ze sprzętu tuner dvbt-usb mt4171 , router TPlink 1043nd (64m ram )z openwrt oraz taką przystawkę Seagate Dockstar a łącze ma upload 3mbit .Dało by się jakoś ogarnąć taki streaming poprzez internet ?
Tylko 1 klient i 1 kanał na raz ale najchętniej z wyborem kanału w obrębie transpondera.

Pozdrawiam

giaur500
Posty: 1693
Rejestracja: 1 lipca 2011, o 13:42

Re: Przesłanie multiplexu za pomocą IP

Post autor: giaur500 »

Od strony technicznej powiem tak: SD bez problemu, HD - niestety nie bo 3 Mbit to za mało. Chyba że robić rekompresję w locie - pytanie jednak po co, gdy TVP1 i TVP2 są też wersjach SD a rekompresja to kłopotliwa sprawa.

Jeśli streaming możesz prowadzić z systemu Linux, to najlepszym możliwym połączeniem jest tvheadend na Linuksie na serwerze, a u odiobrcy - xbmc (może być na Windowsie). Jeżeli natomiast na serwerze nadającym program musi być Windows, to jest jeszcze opcja użycia MediaPortal jako serwera i xbmc jako klienta lub Argus TV server jako serwer.

Wszystkie pozostałe możliwości to prymitywne playerki jako klient (chociaż niektórzy wolą taki playerek zamiast media center), ale tu juz wybór nalezy do ciebie.

[edit]
Jeśli chcesz streamować z routera to jest to równiez możliwe - mozna wkompilować tvheadend w openwrt, poczytaj tutaj: http://eko.one.pl/forum/viewtopic.php?id=4575 - ktos nawet udostęþnił gotowy firmware z obsługą it9135. Jako klient oczywiście xbmc.

Zablokowany