Net-help.dk

  • Increase font size
  • Default font size
  • Decrease font size

DVB-T restreamning TV2 med VLC

Det er tid til fodbold rundt omkring landet, jeg tænker naturligvis på den forstående VM i Sydafrika og som opvarmning Lemans 2010
Til VM bliver de fleste kampe bliver sendt på dansk TV2, hvilket VLC nemt kan sættes op til at afspille/restreame direkte fra en commandline fra en dvb-t tuner.

Først er det dog en god ide at bare få VLC til at hente DVB-T signaelt, før man begynder på at lege med restreamning.
Før vi kan komme til at streame noget som helst er der en del ting som skal installeres, alt følgende er lånt fra: http://paul-sanders.info/?p=50

sudo wget --output-document=/etc/apt/sources.list.d/medibuntu.list http://www.medibuntu.org/sources.list.d/$(lsb_release -cs).list && sudo apt-get --quiet update && sudo apt-get --yes --quiet --allow-unauthenticated install medibuntu-keyring && sudo apt-get --quiet update

sudo apt-get --yes install app-install-data-medibuntu apport-hooks-medibuntu

sudo apt-get update

sudo apt-get install libavcodec-extra-52 libavdevice-extra-52 libavfilter-extra-0 libavformat-extra-52

sudo apt-get install vlc

Herefter kan der være udfordringer med Tv-tunere, hvilket igen er en god grund til at lave et test setup på den desktop maskine.
ligenu restreamer jeg med et eyetv DDT USB tuner, men Asus U3100 mini virker også udemærket på ubuntu.

Jeg startede med at finde min lokale sende frequens via http://digi-tv.dk/Indhold_og_tilbud/frekvenser.asp

514 = den lokale sender i Silkeborg.

VLC som nedenståede fra en commandline på en Ubuntu desktop for at se danske kanaler via ovenstående frekvens.

vlc -vvv  dvb-t:// :dvb-frequency=514000000 :dvb-bandwidth=8  :dvb-adapter=0

VLC køre

Hvis man kigger under Playlist og information kan man se hvilke kanaler hver program køre på.

klik på information

Klik på tab'en Codex Details og nogle meget nyttinge informationer kommer frem

Dr = 101 TV2=213

Ud fra dette kan jeg se at jeg kan fange TV2 på Program 213, dette kan jeg bruge til at starte VLC på en måde sådan at den streamer Tv2 fra første sekundt, var de DR1 jeg ville se skal program sættes til 101 og resten af program numerene kan ses i denne box.

Se TV2 i VLC.

vlc -vvv  dvb-t:// :dvb-frequency=514000000 :dvb-bandwidth=8 :program=213 :dvb-adapter=0

Man kan også bruge dvb-apps pakken og scanne efter kanalerne.

Apt-get install dvb-apps

Herefter kan man køre.

scan -a /dev/dvb/adapter0/ /usr/share/dvb/dvb-t/dk-All > ~/Channels.conf

Går alt godt lander kanal informationerne i filen Channels.conf, jeg har dog lidt dårlig forbindelse, hvilket betyder at jeg ikke får MUX1 kanalerne (DR1+ TV2 ) med når jeg scanner efter programmer på denne måde, og derfor bruger jeg den første måde at starte en dvb-t stream af tv2 på selv om at skrive vlc ~/Channels.conf  er lidt nemmere.

Opsætnig af resten kan man egentlig også læse her: http://paul-sanders.info/?p=50 for der er her jeg selv har fundet min basis inspiration.

Restreamning med mms på port 8080 startes således.

vlc -vvv  dvb-t:// :dvb-frequency=514000000 :dvb-bandwidth=8 :program=213  :dvb-adapter=0 --sout '#transcode{vcodec=DIV3,vb=2048,scale=0.25,acodec=mp3,ab=32,channels=2}:std{access=mmsh,mux=asfh,dst=:8080}'

Derefter kan jeg se følgende i VLC på min Windows 7 PC

vlc restream Tv2

Skriver man mms://ipaddresse:8080 i internet explorere begynder Windows mediaPlayer at afspille MMS streamen.

Ønsker man at lave dette som et http stream skal parameteren access=mmsh ændres til access=http

Sidder man på et større netværk og har mange klienter som skal se streamen, bør man se på multicastning ovenstående løsning benytter sig af unicast, dvs. hver klient holder sin egen stream kørrende hvilket belaster maskinen som restreamer DVB-T signalet en del, ligeledes kræver unicast naturlgvis også mere netværks båndbredte.

2 forsøg på at multicaste streamen ud, hvilket jeg endnu ikke har fået til at virke 100%

Første command viser det man transmitere både på den lokale skærm samt det sendes ud som multicast

vlc -vvv  dvb-t:// :dvb-frequency=514000000 :dvb-bandwidth=8 :program=213  :dvb-adapter=0 --sout '#duplicate{dst=display,dst="transcode{vcodec=DIV3,acodec=mp3,vb=2048800,ab=32,scale=0.25,deinterlace}:rtp{mux=ts,dst=239.255.12.42,port=5004,sdp=sap://,name="TestStream"}"}'

Næste komando sender kun data ud som multicast

vlc -vvv  dvb-t:// :dvb-frequency=514000000 :dvb-bandwidth=8 :program=213  :dvb-adapter=0 --sout '#transcode{vcodec=DIV3,acodec=mp3,vb=2048800,ab=32,scale=0.25,deinterlace}:rtp{mux=ts,dst=239.255.12.42,port=5004,ttl=12}"}'


sudo apt-get install dvb-apps
Last Updated on Thursday, 10 June 2010 21:35