Portál AbcLinuxu, 21. května 2025 08:17
Sledování živého streamu je OUT, archiv TV Noe je chudý, takže necháme server nahrávat živý stream a vybudujeme si vlastní archiv.
Potřebujeme k tomu Linux a něco místa na disku (cca 9GB denně). Následuje popis mé cesty k výsledku.
Stream je ze serverů nacevi.cz, možná půjde postup aplikovat i na jiné televize.
Půjdeme cestou "mplayer -dumpstream", takže nejprve je třeba získat URL, které by byl mplayer ochotný přehrát.
Na stránce živého vysílání TV Noe je několik odkazů ze kterých jsem se neúspěšně pokoušel wgetem získat přímou adresu streamu. Dokonce se mi je nedařilo (v Kubuntu 13.10) ani přehrát. Dodatečně se osvědčilo na prostřední odkaz "Přímý odkaz pro přehrávač VLC a podobné" pustit VLC, které stream přehraje (překvapivě Mplayer mi ale stream/playlist nepřehrál.
Po chvíli neúspěšného experimentování mi napověděl živý stream vložený prostřednictvím flashového přehrávače přímo do stránky. Co když si bere data z nějaké použitelné URL?
Tcpdump prozradil, že se jedná o URL:
rtmp://origin03.nacevi.cz:1935/prozeta-live01/_definst_/prozeta-live01-MP4_288p-1.stream
To vypadá rozumně. Z odkazů na jednotlivé streamy vím, že kromě 288 existuje i rozlišení 432, takže tipneme adresu streamu ve vyšší kvalitě (a ono to funguje):
rtmp://origin03.nacevi.cz:1935/prozeta-live01/_definst_/prozeta-live01-MP4_432p-1.stream
UPDATE: v diskuzi na TV Noe jsem objevil pěkný bashový script od neznámého autora, který ze stránky vytáhne URL RTMP streamu.
Mohl by se hodit, pokud by přímý odkaz výš přestal fungovat.
http://pastebin.com/DWaqALTL
#!/bin/bash URL1=`wget http://www.tvnoe.cz/zive-pres-internet.html -O - -q | grep "<iframe src=\"/res/data" | cut -d '"' -f2` UUID=`wget http://www.tvnoe.cz${URL1} -O - -q | grep "prepareSmart" | cut -d '"' -f 4` URL2=`wget -U "Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20100101 Firefox/17.0" -q -O - --cookies=on --keep-session-cookies --save-cookies=/tmp/cookie.txt "http://vueasy.com/Smart/GetSmartPageJsonp?assetId=${UUID}&callback=aaa" | sed -e 's/[{}]/''/g' | awk -v k="text" '{n=split($0,a,","); for (i=1; i<=n; i++) print a[i]}' | sed 's/\\\\//g' | grep '"PlaylistLink"' | cut -d'"' -f 4` URL3=`wget -U "Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20100101 Firefox/17.0" -q -O - --cookies=on --keep-session-cookies --save-cookies=/tmp/cookie.txt "${URL2}" | grep "rtmp:" | cut -d'>' -f2 | cut -d'<' -f 1` URL4=`wget -U "Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20100101 Firefox/17.0" -q -O - --cookies=on --keep-session-cookies --save-cookies=/tmp/cookie.txt "${URL2}" | grep url | head -n1 | cut -d'"' -f8` vlc "${URL3}/${URL4}"
Distribuční knihovna libavformat53 6:0.8.9-0ubuntu0.13.10.1 (Kubuntu Saucy 13.10) stream přehrát nezvládá, budeme muset pořídit novější.
add-apt-repository ppa:jon-severinsson/ffmpeg
V tomto PPA je libavformat53 7:0.10.9-1~saucy1, mplayer s ní stream přehraje.
Tady se mi upgrade libavformat53 nezdařil, už si nevzpomínám proč, asi nějaké potíže se závislostmi, ale rovnou zafungoval mplayer2 z repozitáře
deb http://www.deb-multimedia.org squeeze main non-free
mplayer2 by pravděpodobně rovnou fungoval i v Kubuntu, nezkoušel jsem.
URL=rtmp://origin03.nacevi.cz:1935/prozeta-live01/_definst_/prozeta-live01-MP4_432p-1.stream mplayer2 $URL -dumpstream -dumpfile tvnoe.mp4
Po zastavení nahrávání ve streamu nefunguje seek, opravuju ho tak, ze na nej pustim ffmpeg:
/usr/bin/ffmpeg -i tvnoe.mp4 -acodec copy -vcodec copy tvnoe_seek.mp4
Je dobré ošetřit situaci, kdyby mplayer při nahrávání spadl.
Použil jsem svoje oblíbené daemontools - pokud by proces spadl, během vteřiny ho znovu nastartují.
Startovací run skript do daemontools, mplayer2 spuštěn pod uživatelem "uzivatel"
#!/bin/sh exec 2>&1 OUTDIR=/path/to/storage/tvnoe DATUM=$(date +"%Y-%m-%d_%H-%M-%S") URL=rtmp://origin03.nacevi.cz:1935/prozeta-live01/_definst_/prozeta-live01-MP4_432p-1.stream exec setuidgid uzivatel /usr/bin/mplayer2 $URL -dumpstream -dumpfile $OUTDIR/tvnoe_$DATUM.mp4 # zbytecny radek navic, aby zvyraznovac syntaxe na ABC zobrazil toto podtrzitko --^
Spouštěcí skript do cronu (6:00)
#!/bin/bash SVC=/usr/local/bin/svc OUTDIR=/path/to/storage/tvnoe DATUM=$(date +"%Y-%m-%d") # URL s programem na konkretni den URL="http://www.tvnoe.cz/program-na-den.html?date=$DATUM&action=print&printType=txDay" # vyparsujeme jen cast stranky, ktera nas zajima /usr/bin/wget -q "$URL" -O - | html2text | grep -B1 -A100 "\-\-\-\-\-\-\-\-\-\-" | grep -B 100 "**** Programov" > $OUTDIR/tvnoe_$DATUM.txt # stop service (pro jistotu) $SVC -d /service/tvnoe sleep 1 # start service $SVC -u /service/tvnoe
Restart služby do cronu (12:00, 18:00)
svc -t /service/tvnoe
Vypínací skript do cronu (1:30)
#!/bin/bash SVC=/usr/local/bin/svc OUTDIR=/path/to/storage/tvnoe # stop service $SVC -d /service/tvnoe sleep 1 # opravit streamy, aby fungoval seek for i in $(find $OUTDIR/ -regextype posix-extended -regex '.*[0-9]\.mp4$' -print) ; do /usr/bin/ffmpeg -i $i -acodec copy -vcodec copy "${i%.*}_seek.mp4" chown uzivatel:uzivatel "${i%.*}_seek.mp4" rm $i done # presunout mp4 do adresare podle data for i in $OUTDIR/*_seek.mp4 ; do NEWDIR=$(echo $i | cut -d"_" -f2) # kontrola tvaru datumu a presun if [[ $NEWDIR =~ ^20[0-9]{2}-[0-9]{2}-[0-9]{2}$ ]]; then /bin/mkdir -p $OUTDIR/$NEWDIR /bin/mv $i $OUTDIR/$NEWDIR/ fi done
Tiskni
Sdílej:
Jsem přesně čekal.
No vidíš to, tak ses dočkal . Mezi námi děvčaty - pro mě nemá žádná televize takovou hodnotu, abych si zapráskal disk deseti GB denně, natož ještě jezuitskou propagandou. Mě by zajímalo, kdože to ten kanál financuje, když je to bez reklamy. Duch svatý? To určitě není levná záležitost.
Jinak návod dobrý, možná to někdo použije, já tedy ale rozhodně ne. Tedy až nu jezuitskou plíživou vlezlost. Řekl bych, že ten návod byl napsán hlavně kvůli tomu jezuuitskému kanálu, ale to je jen moje nepotvrzená předtucha
natož ještě jezuitskou propagandouPochybuju, že tv noe má s jezuity cokoli společného.
že tv noe má s jezuity cokoli společného.No tak to já taky pochybuju, že za tím vysíláním stojí řád jezuitů
jj , tech par stoleti upalovani se jim uz zajedlo ... ted jen ocernuji a prohlasuji za nemocne vsechny co neodpovidaji jejich predstave sveta ...
restituce mi nevadi , ale ohanet se ve spojitosti s cirkvi s nejakou moralkou ... a zvlast u veci jako je Radio proglass a Tv noe ..
Takže už kapišto, králíku?Ono nic není černobílé. Mně to jejich zaměření naopak moc jasné není - na stránkách vágně deklarují rodinné zaměření s křesťanskými hodnotami, což ale nic moc neřekne, je to hodně široký pojem (mnohem širší než katolicismus). Nekoukám na jejich TV, takže nemůžu soudit, co přesně jsou zač. Co se týče Jezuitů, ani ti nejsou tak černobílí, jak je líčí Jirásek. U mě osobně mají menší černý puntík než Římskokatolická církev jako taková... Ačkoli ne o moc
...tak tam seděli na nějakým dýchánku ve studiu nějací ovaroví biskupové a pochvalovali si tam círk. restituce.Čímž sis vlastně odpověděl na otázku, jakpak že se tato stanice financuje. Financujeme si ji všichni, aniž by všichni chtěli
Mně to jejich zaměření naopak moc jasné není - na stránkách vágně deklarují rodinné zaměření s křesťanskými hodnotami,Hmm, takhle mě nad tím ani moc přemýšlet nenapadlo. Když se to zakládalo, tak se to explicitně založilo jako křesťanská televize, tj. jako je Proglas křesťanské rádio. Ale je jasné, že ne každý o tom tehdy věděl, tak ho může zarazit, že se to implicitně považuje za jasnou věc... Stačí číst Katolický Týdeník :P
černý puntíkTakhle bych na to zareagoval - něco, co se táhne skrz 2000 let Evropských dějin jako jeden z hlavních hybatelů/kulturních faktorů, a ještě navíc je to náboženství (čímž myslím, že náboženství má velkou sílu a dokáže vedle dobrého v lidech vzbudit i to zlé), to ani nemůže z té historie vyjít bez černého puntíku. Svoje negativní důsledky měla třeba věda (rozvoj destruktivních schopností lidstva, třeba), industrializace, osvícenské/sekulární proudy (které jsou pozitivně důležité jako vyvažování teistických proudů) a tak. Navíc církev byla často spojena se státní politikou či zájmy konkrétních panovnických rodů a tak podobně. Já bych naopak řekl, že právě vzhledem k té minulosti bychom měli být o to víc vděční za současný stav :)
Ale mam za to, ze spolecensky min nebezpecny... bude ten druhyAle s tím bych i souhlasil. Ten druhý, když uvidí reálný svět, tak zapomene na přikázání a půjde skočit ze skály.
Retro Music a Rebel se celkem dají
To by chtělo zálohovat na nějaký server (nejlépe ve stejné serverovně, kde jsou oni) a domů si natahat jen ty vybrané pořady.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.