Studentská dílna Macgyver zve na další Virtuální Bastlírnu - pravidelné online setkání všech, kdo mají blízko k bastlení, elektronice, IT, vědě a technice. Letní prázdniny jsou za námi a je čas probrat novinky, které se přes srpen nahromadily. Tentokrát jich je více než 50! Těšit se můžete mimo jiné na:
Hardware – Bus Pirate na ESP32, reverse engineering Raspberry Pi, pseudo-ZX-80 na RISC-V, PicoCalc, organizéry na nářadí z pěny nebo … více »Google Chrome 140 byl prohlášen za stabilní. Nejnovější stabilní verze 140.0.7339.80 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 6 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.
LeoCAD (Wikipedie) je svobodná multiplatformní aplikace umožňující také na Linuxu vytvářet virtuální 3D modely z kostek lega. Vydána byla verze 25.09. Zdrojové kódy a AppImage jsou k dispozici na GitHubu. Instalovat lze také z Flathubu.
RubyMine, tj. IDE pro Ruby a Rails od společnosti JetBrains, je nově zdarma pro nekomerční použití.
Český LibreOffice tým vydává překlad příručky LibreOffice Calc 25.2. Calc je tabulkový procesor kancelářského balíku LibreOffice. Příručka je ke stažení na stránce dokumentace.
Byla vydána (Mastodon, 𝕏) vývojová verze 3.1.4 příští stabilní verze 3.2 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání.
Zakladatel ChimeraOS představil další linuxovou distribuci zaměřenou na hráče počítačových her. Kazeta je linuxová distribuce inspirována herními konzolemi z 90. let. Pro hraní hry je potřeba vložit paměťové médium s danou hrou. Doporučeny jsou SD karty.
Komunita kolem Linuxu From Scratch (LFS) vydala Linux From Scratch 12.4 a Linux From Scratch 12.4 se systemd. Nové verze knih s návody na instalaci vlastního linuxového systému ze zdrojových kódů přichází s Glibc 2.42, Binutils 2.45 a Linuxem 6.15.1. Současně bylo oznámeno vydání verze 12.4 knih Beyond Linux From Scratch (BLFS) a Beyond Linux From Scratch se systemd.
Organizátoři konference LinuxDays ukončili veřejné přihlašování přednášek. Teď je na vás, abyste vybrali nejlepší témata, která na letošní konferenci zaznějí. Hlasovat můžete do neděle 7. září. Poté podle výsledků hlasování organizátoři sestaví program pro letošní ročník. Konference proběhne 4. a 5. října v Praze.
Byla vydána verze 11.0.0 vizuálního programovacího jazyka Snap! (Wikipedie) inspirovaného jazykem Scratch (Wikipedie). Přehled novinek na GitHubu.
A dostávám se k dnešnímu dílu. Díky dalšímu nakopnutí jsem začal zkoumat možnost přehrávání archívních záznamů. Na webu ČT je jich hodně - zajímavé situace, rozhovory, fejetony... Otevřel jsem si tedy jednu stránku a hledal jsem Token a našel.
<param name="initparams" value='token=NDk5NDcxMjM3fDYzNDAyNTYxNDg2MzkwNjI1MA==,pic=http://img.zoh.cz/apollo/pictures/20102242403473529.jpg,video=ZOH390,' />Zajímavě vypadá řetězec video=ZOH390. Vypadá přesně jako identifikátor, který je třeba pro vygenerování playlistu. Tak jsem to tedy zkusil. Vytvořil jsem SOAP zprávu s ID ZOH390 a Typem Archive. A tradá, obdržel jsem adresu na playlist kde bylo požadované video.
Pak už bylo jednoduché upravit skript tak, aby akceptoval typ vysílání ARCHIVE následovaný odkazem na url stránky s videem. Skript si stáhne stránku z odkazu, vytáhne si ID a spustí smplayer se správným playlistem. Pro správnou funkci je tedy třeba nejprve zjistit url ze stránek ČT. Odvážnější si můžou zahrát ruskou ruletu a zkoušet přímo zadávat náhodné ID. Například ZOH390, ZOH391, ZOH128. Skript tyto ID podporuje.
Skript jsem upravil a začal testovat. Jenže z ničeho nic přestal skript pracovat. Ale totálně. Nejprve jsem si myslel, že jsem někde udělal chybu, ale jak jsem nakonec zjistil, na webu ČT začali používat přesměrování a vyžadovat podporu cookies. Ke všem volání curl je nyní třeba přidat parametry "-c cookie_file" a "-L".
Po této úpravě začal skript opět fungovat a je tedy možno vychutnat si kanadský gól, který proletěl skrz síť brány:
zohd.sh ARCHIVE http://zoh.ct24.cz/article.asp?id=963Případně rozhovor s Martinou Sáblikovou, ale ten mi teď nechce fungovat.
zohd.sh ARCHIVE http://zoh.ct24.cz/article.asp?id=485Dostanu odkaz na playlist, ale smplayer nedostane data. Tohle se děje u všech starších videí. Server nestíhá, nebo tam je jiný problém?
Upravená verze skriptu je v prvním komentáři.
Tiskni
Sdílej:
grep -i token |grep -i token
ve funkci getToken, coz asi nebude potreba.
-c $COOKIE .... --save-cookies=$COOKIE --load-cookies=$COOKIE --keep-session-cookies -L .... wget dela automaticky nasledovani presmerovani -H 'header text' .... --header='header text' -d 'post data' .... --post-data='post data' -d @postfile .... --post-file=postfileBylo by to mozne udelat? Ted jsem v rychlosti splodil neco takovyho, ale netestoval jsem to. Muzes to vyzkouset a pripadne zaclenit? Melo by stacit nahradit vsechny curl prikazy prikazem
downloadwc
(jako download wget curl). Pro curl se pouzijou zadane parametry, pro wget se zkonvertuji.
downloader="wget" # downloader="curl" function downloadwc() { case "$downloader" in "wget" ) postdata="" i=$# while [ $i -gt 0 ]; do v="$1" shift i=$(($i-1)) case "$v" in "-H" ) t="$1" ; shift ; i=$(($i-1)) ; set -- "$@" "--header=$t" ;; "-L" ) true ;; "-c" ) t="$1" ; shift ; i=$(($i-1)) ; set -- "$@" "--save-cookies=$t" "--load-cookies=$t" "--keep-session-cookies" ;; "-d" ) t="$1" ; shift ; i=$(($i-1)) if [ "${t:0:1}" = "@" ] ; then set -- "$@" "--post-file=${t:1}" else postdata="$postdata${postdata:+&}$t" fi ;; esac done if [ -n "$postdata" ] ; then set -- "$@" "--post-data=$postdata" ; fi wget "$@" ;; "curl" ) curl "$@" ;; esac }
getHTML() { HEADER="Content-Type: text/xml; charset=utf-8" COOKIE=$(mktemp) DPROG=$(basename $DOWNLOADER) URL="$1" if [ "$2" ] then if [ "$DPROG" = "curl" ] then curl -H "$HEADER" -H "SOAPAction: \"http://ivysilani.visual.cz/services/GetPlaylistUrl\"" -L -c $COOKIE -d "@$2" "$URL" else wget --output-document=- --save-cookies=$COOKIE --load-cookies=$COOKIE --keep-session-cookies --header="$HEADER" --header="SOAPAction: \"http://ivysilani.visual.cz/services/GetPlaylistUrl\"" --post-file=$2 "$URL" fi else if [ "$DPROG" = "curl" ] then curl -H "$HEADER" -L -c $COOKIE "$URL" else wget --output-document=- --save-cookies=$COOKIE --load-cookies=$COOKIE --keep-session-cookies --header="$HEADER" "$URL" fi fi rm -f $COOKIE }
Především by měla ČT nechat dostatečně nadimenzovat servery a linky k nimNo, tohle spis ukazuje jak je marne snazit se vysilat video v takovem rozsahu unicastem. 4 Mb/s pro bezny TV stream * 10 tisic uzivatelu = 40 Gb/s, Cesko ma ale 10 milionu lidi. NACEVI (distributor videa pro CT) to sice castecne obchazi tim, ze ma distribucni body hostovane i u jednotlivych (odberatelskych) ISP, nicmene podstata problemu zustava.
ne ne, funkcni sluzba je jen zaminka pro dalsi a dalsi vypalneMně je tedy milejší výpalné a funkční služba než výpalné a nefunkční služba. Případ, že nebude existovat výpalné, v tomto porovnávání vynechávám.
CT je potreba zprivatizovat - pak at si provozuje co chceAno, též bych byl pro privatizaci ČT, nicméně toho se téměř jistě nedočkáme. Proto musíme brát jako fakt, že tu zůstane jako "veřejnoprávní" a výpalné se bude vybírat tou nejhorší možnou metodou (tj. s tím, že neplatí rovnost před zákonem a ČT má právo na získávání informací o tom, kdo odebírá elektřinu).
mplayer -playlist
a odkaz odsud
Žádnej skript, žádný mono není potřeba.
Sáblíková tady:
mplayer -playlist http://89.221.209.9/iVysilani/Services/Streaming/ClientPlaylist.aspx?id=NTAyMDc2MDgyfDYzNDAyNjMxNzQwODEyNTAwMA==
Forced audio codec: mad Requested audio codec family [wma9spdmo] (afm=dmo) not available. Enable it at compilation. Requested audio codec family [wma9spdshow] (afm=dshow) not available. Enable it at compilation. Cannot find codec for audio format 0xA. Read DOCS/HTML/en/codecs.html!
Otevírám audio dekodér: [ffmpeg] FFmpeg/libavcodec audio decoders AUDIO: 44100 Hz, 2 ch, s16le, 64.0 kbit/4.54% (ratio: 8005->176400) Vybrán audio kodek: [ffwmav2] afm: ffmpeg (DivX audio v2 (FFmpeg)) ========================================================================
MPlayer SVN-r30554-4.4.3 (C) 2000-2010 MPlayer Team