streamdev-server externremux

VDR ja DVB aiheista keskustelua
Avatar
cue
Yli-ihminen
Viestit: 688
Liittynyt: 09.09.2003 3:00
Paikkakunta: JKL
Viesti:

streamdev-server externremux

Viesti Kirjoittaja cue » 08.02.2007 15:21

Aavistuksen alkaa mennä jo hienoimpien ja huomaamattomien htpc koteloiden ohi tuo keskustelun aihe tuolla dvdplazalla (http://www.dvdplaza.fi/forums/showthread.php?p=843438) niin kirjoitinpa vastauksen tänne.
nmi kirjoitti:
esav kirjoitti:
- pakata tv lähetystä lennossa divxiksi ja katella missä hyvänsä mistä webbiin pääsen, kotona 1megan upilla varustettu adsl ja näkyy ihan pätkimättä video bitrate 400, audio bitrate 64 ja kuva skaalattuna siten että se on 420px leveä. Jos sattuu hyvä päivä niin vbitrate 600, audio 128 ja skaalattuna 480px leveäksi näkyy myös. Luonnollisesti omatekoisesta webi interfacesta voi säätää bitrateja jotta jos sattuu olemaan vaikka 256k adsl:n päässä niin voi silti katella :-)
Tämä olisi kyllä mukava ominaisuus VDRAdminin rinnalle, jos olet värkännyt integroidun julkaisukelpoisen skriptin/ohjelman. Streamdev-server-pluginiltako haet livekuvaa ja pakkaat lennossa ja streamaat ffserverillä tai VLC:llä, vai miten olet tuon toteuttanut?



Tuo tuki on suoraan streamdev-serverissä, en ole värkännyt ite mitään erikoista. Eli externremux.sh jos sattuu löytymään sieltä mistä se sitä etsii (jossain se oli hard koodattu /root/externremux.sh, gentoo paketeissa se jo osasi etsiä sitä polusta :-) )

Eli jos tuo löytyy niin osoite http://kone:portti/Extern/1 palauttelee videota tuon skriptin läpi ajettuna.

Koodi: Valitse kaikki

#!/bin/sh
rm -f /tmp/out.avi
/usr/bin/mkfifo /tmp/out.avi
cat /tmp/out.avi & /usr/bin/mencoder -ovc lavc -oac lavc -lavcopts vbitrate=400:abitrate=64 -vf scale=420:-2 -o /tmp/out.avi -- - &>/tmp/out.log

Tuo webi-interface osa, jonka mainitsin, vain kirjoittaa mencoderin konffin, eli itselläni on tuossa mencoder rivillä vain -include /bla/bla/mencoder.conf.
Viimeksi muokannut cue, 08.02.2007 16:54. Yhteensä muokattu 1 kertaa.

nm
Johtava konsultti
Viestit: 3160
Liittynyt: 22.07.2005 3:00

Viesti Kirjoittaja nm » 08.02.2007 15:30

Ok, tuo onkin näppärää. Pitää ehkä viritellä sama systeemi omaan palvelimeen :)

Avatar
cue
Yli-ihminen
Viestit: 688
Liittynyt: 09.09.2003 3:00
Paikkakunta: JKL
Viesti:

Viesti Kirjoittaja cue » 08.02.2007 15:31

Kuva

Sotkin osoitteen ettei kukaan häksöri juokse läpi digest authista ;), ja tv kuva ei tullut screenshottiin. höh

Goble
Harrastaja
Viestit: 58
Liittynyt: 19.04.2006 20:00

Viesti Kirjoittaja Goble » 10.02.2007 10:56

Hmmm.. "Pakata tvkuva lennossa divxäksi". Taitaa vaatia aikapaljon konetehoja. Vaikuttaa mielenkiintoiselta jota soveltaen voisin hyödyntää ideassa jonka sain eilen tämän "open cable weekend" tiimoilta.

Kesämökillä on kaapeliverkko mutta kotitalossa vain taivasantenniverkko. OpenWeekendin tiimoilta huomasin kuinka paljon laajempi cable tv-verkko on kuin terrestrial kanavatarjonta.

Eilen tuli sitten idea laittaa kesämökille VDR-purkki vaikka ilman tv-ulostuloa, se olisi ainoastaan nauhoittamassa ja siihen pääsisi webin kautta kiinni (ajastukset yms). Webin kautta voisi sitten laittaa nauhoitukseen kaapeliverkossa pyörivän hyvän leffan tai dokkarin. Kun nauhoitus on valmis niin purkki jotenkin pakkaisi mpeg2 tiedostot ja siirtäisi kotikoneella olevaan VDR-purkkiin varsinaista TV-toistoa varten. Tämän ei tarvitsisi olla online streamausta mutta video pitäisi saada pakattua niin että se liikkuu perus 1M adsl yli edes yhden yön aikana.

Sinulla tosin on vielä jalostuneempi versio koska se toimii jopa online streamina ja divx kautta. Hmmm... Pitääpä miettiä...

Avatar
cue
Yli-ihminen
Viestit: 688
Liittynyt: 09.09.2003 3:00
Paikkakunta: JKL
Viesti:

Viesti Kirjoittaja cue » 10.02.2007 18:34

Koneessa on Athlon XP 1700 ja vie tehoja n. 30%

P.Kosunen
Yli-ihminen
Viestit: 1144
Liittynyt: 06.11.2005 14:08
Paikkakunta: Helsinki

Viesti Kirjoittaja P.Kosunen » 11.02.2007 18:20

Pakkaako tuo jatkuvasti streamia vai vain kun client on kytkeytyneenä?

Avatar
Hutilainen
Havittelija
Viestit: 20
Liittynyt: 16.04.2004 3:00

Viesti Kirjoittaja Hutilainen » 11.02.2007 20:05

Pystytkö tekemään rautalanka ohjeen tälläiselle noviisille?

Avatar
cue
Yli-ihminen
Viestit: 688
Liittynyt: 09.09.2003 3:00
Paikkakunta: JKL
Viesti:

Viesti Kirjoittaja cue » 12.02.2007 10:51

P.Kosunen kirjoitti:Pakkaako tuo jatkuvasti streamia vai vain kun client on kytkeytyneenä?
Silloin kun client on kiinni koneessa.

hutilainen kirjoitti: Pystytkö tekemään rautalanka ohjeen tälläiselle noviisille?
Eli tee scripti nimeltä externremux.sh, laita se hakemistoon /root/ tai jonnekin polun päähän myös, jossain streamdevissä se on hard koodattu että pitää olla /root/externremux.sh (varmista siinä tapauksessa myös että käyttäjä joka ajaa vdr:ää saa ajaa tuota scriptiä) tuossa gentoon portagesta löytyvässä paketissa se scripti saa olla missä vaan polun päässä. Ensimmäisessä postissa on rivit mitä sinne voit tökätä.

Sitten asenna riittävän uusi streamdev-server (itsellä on 0.3.3, ainakaan 0.3.1:ssä ei vielä näy tuota tukea) joko distrosi paketeista tai sorsista. Varmista että <conf>/plugins/streamdevhosts.conffissa on sallittu yhteys sieltä mistä haluat töllöä katsella etänä.

Käynnistä vdr optioilla -Pstreamdev-server

Tökkää vaikkapa vlc avaamaan video osoitteesta http://vdrkone:3000/Extern/1 (viimenen numero on siis kanavan numero).

Paha sanoa onko tuossa tarpeeksi rautalankaa, kysy jos tulee ongelmia.

nolodude
Isäntä
Viestit: 118
Liittynyt: 10.12.2005 23:21
Paikkakunta: Helsinki

Viesti Kirjoittaja nolodude » 12.02.2007 15:52

Tuohan oli helppo saada toimimaan, kiitos tästä :)

Kysymys: voiko tuota streamia suojata jotenkin? Ainakin omassani streamin katselu onnistuu avoimesti mistä vain kunhan tietää tuon osoitteen. Eihän sitä tietysti kaikki tiedäkään...

Mainitsemasi digest auth koskee vain tuota sivua, eikö?

nm
Johtava konsultti
Viestit: 3160
Liittynyt: 22.07.2005 3:00

Viesti Kirjoittaja nm » 12.02.2007 17:15

Voit rajoittaa palomuurilla yhteydenotot sallituiksi vain tietyille osoitteille tai verkkoalueille. Voit myös sulkea portin kokonaan ulkoa tulevilta yhteydenotoilta ja rakentaa jonkinlaisen VPN-virityksen, yksinkertaisimmillaan ssh:n uudelleenohjauksien avulla.

Etäkoneella:

Koodi: Valitse kaikki

ssh -N -L 3333:localhost:3000 username@vdr-server.net
(Tämä kytkee paikallisen portin 3333 palvelinpuolen localhost:3000-porttiin, eikä tee muuta. Uudelleenohjauksen voi katkaista CTRL-C:llä)

Toisessa etäkoneen terminaalissa:

Koodi: Valitse kaikki

mplayer http://localhost:3333/Extern/1
Sama toiminee myös muissa käyttöjärjestelmissä ja Windowsissa.

Avatar
cue
Yli-ihminen
Viestit: 688
Liittynyt: 09.09.2003 3:00
Paikkakunta: JKL
Viesti:

Viesti Kirjoittaja cue » 12.02.2007 19:44

nolodude kirjoitti:Tuohan oli helppo saada toimimaan, kiitos tästä :)

Kysymys: voiko tuota streamia suojata jotenkin? Ainakin omassani streamin katselu onnistuu avoimesti mistä vain kunhan tietää tuon osoitteen. Eihän sitä tietysti kaikki tiedäkään...

Mainitsemasi digest auth koskee vain tuota sivua, eikö?
Juu, näin on. Voit tosiaan suojata nm:n mainitsemilla tavoilla tai/ja myös basic authilla laittamalla tuon apachen taakse tyyliin (httpd.conffiin tai tuoreimmissa tapauksissa esim gentoossa /etc/apache2/vhosts.d/00_default_vhost.conf)

Koodi: Valitse kaikki

    <Location>
        ProxyPass http://127.0.0.1:3000/Extern/
        ProxyPassReverse http://127.0.0.1:3000/Extern/
        Order deny,allow
        Deny from all

        AuthName "streaming server"
        AuthType Basic
        AuthUserFile /etc/apache2/htpasswd

        require valid-user
    </Location>
Luo htpasswd filu komennolla htpasswd2 -c /etc/apache2/htpasswd username password. Sitten vlc:llä esim streamiin kiinni osoitteessa http://username:password@koneenosoite/stream/1

Locationien perässä pitäisi lukea /stream mutta tämä värkki nappaa ne pois koko ajan :p
Viimeksi muokannut cue, 19.02.2007 9:20. Yhteensä muokattu 2 kertaa.

Avatar
Hutilainen
Havittelija
Viestit: 20
Liittynyt: 16.04.2004 3:00

Viesti Kirjoittaja Hutilainen » 18.02.2007 0:27

Jees! Täähän toimii ja duuni paikallakin voi nyt katsoa VLC:llä kuvaa...

Autentikointikin toimii streameihin Apachen läpi!

CUE:
Miten sait kuvan upotettua webbisivuun?

Avatar
cue
Yli-ihminen
Viestit: 688
Liittynyt: 09.09.2003 3:00
Paikkakunta: JKL
Viesti:

Viesti Kirjoittaja cue » 18.02.2007 0:39

vlc pluginilla

php sorsa siitä sivusta: http://pasthis.com/zab188a

Avatar
Hutilainen
Havittelija
Viestit: 20
Liittynyt: 16.04.2004 3:00

Viesti Kirjoittaja Hutilainen » 18.02.2007 0:42

Jaa... Mikä toi VLC plugini on?

Pitääkö Apacheen asentaa PHP-tuki erikseen?

Taas olen siis rautalankaohjeita vailla...

Albie
Säätäjä
Viestit: 277
Liittynyt: 28.01.2006 16:44
Paikkakunta: Joensuu

Viesti Kirjoittaja Albie » 18.02.2007 1:24

Saiskos tuon conf.php -tiedostonkin vielä?

Vastaa Viestiin