Ve středu 29. dubna 2026 se v pražské kanceláři SUSE v Karlíně uskuteční 7. Mobile Linux Hackday, komunitní setkání zaměřené na Linux na mobilních zařízeních, kernelový vývoj i uživatelský prostor. Akce proběhne od 10:00 do večerních hodin. Hackday je určen všem zájemcům o praktickou práci s Linuxem na telefonech. Zaměří se na vývoj aplikací v userspace, například bankovní aplikace, zpracování obrazu z kamery nebo práci s NFC, i na úpravy
… více »LilyPond (Wikipedie) , tj. multiplatformní svobodný software určený pro sazbu notových zápisů, byl vydán ve verzi 2.26.0. Přehled novinek v aktualizované dokumentaci.
Byla vydána nová verze 11.0.0 otevřeného emulátoru procesorů a virtualizačního nástroje QEMU (Wikipedie). Přispělo 237 vývojářů. Provedeno bylo více než 2 500 commitů. Přehled úprav a nových vlastností v seznamu změn.
Společnost SpaceX amerického miliardáře Elona Muska oznámila, že si zajistila opci buď na akvizici startupu Cursor za 60 miliard dolarů (přes 1,2 bilionu Kč) do konce letošního roku, nebo na zaplacení deseti miliard dolarů za nové partnerství s touto firmou zabývající se generováním kódů. SpaceX se dále prosazuje na lukrativním trhu s vývojářskými nástroji pro umělou inteligenci (AI). Cursor, startup zabývající se prodejem modelů AI pro
… více »Díky AI modelu Claude Mythos Preview od společnost Anthropic bylo ve Firefoxu nalezeno a opraveno 271 zranitelností.
Byla vydána nová verze 2.54.0 distribuovaného systému správy verzí Git. Přispělo 137 vývojářů, z toho 66 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání.
Grafana (Wikipedie), tj. open source nástroj pro vizualizaci různých metrik a s ní související dotazování, upozorňování a lepší porozumění, byla vydána ve verzi 13.0. Přehled novinek v aktualizované dokumentaci a na YouTube. Stalo se tak na konferenci GrafanaCON 2026.
Na YouTube proběhl Framework [ Next Gen ] Event 2026. Společnost Framework představila nový Framework Laptop 13 Pro, vylepšení Framework Laptopu 16 a OCuLink Dev Kit pro připojení vysoce výkonných periferií jako jsou eGPU a bezdrátovou klávesnici s integrovaným touchpadem Framework Wireless Touchpad Keyboard.
Byl vydán Mozilla Firefox 150.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 150 bude brzy k dispozici také na Flathubu a Snapcraftu.
Byl představen (reddit, 𝕏) webový prohlížeč Brave Origin. Jedná se webový prohlížeč Brave bez VPN, krypto peněženky a odměn, tj. bez funkcí, ze kterých je vývoj Brave financován. Stojí jednorázově 59,99 dolarů. Verze pro Linux je zdarma.
Vlastně ne tak docela: místo wgetu je použit Perl a LWP. Každopádně žádné klikátko, žádná extenze do prohlížeče, jen obyčejný skript.
Použití:
./ct24.pl http://www.ceskatelevize.cz/ivysilani/209572242600013-game-page/
?streamtype=WM3 pro "TV kvalitu" a uloží video do souboru názevpořadu.avi, v našem případě tedy 209572242600013-game-page.aviVýsledné AVI lze pak normálně přehrát mplayerem nebo čímkoliv jiným. Lze přehrávat i během stahování, ale nebudete mít možnost seekovat (pokud nepoužijete -idx). Případně lze streamovat rovnou do mplayeru, pokud jej ve skriptu zavoláte místo mencoderu (případně s nějakou -cache).
Skript je "beta", takže přijímám patche
Teoreticky by jej šlo rozšířit i na archivy dalších televizí, to může někdo zkusit...
Update: uživatelům s novější verzí libwww se nepodaří stáhnout žádnou stránku s chybou 403 forbidden. Opravený skript je níže v diskusi.
Tiskni
Sdílej:
$ cat .mplayer/mencoder.conf [x264tv1] profile-desc="x264 from tv pass 1" oac=copy=yes of=lavf=yes ovc=x264=yes x264encopts=pass=1:turbo=1:threads=0:bitrate=2000:direct_pred=auto:me=umh:interlaced [x264tv2] profile-desc="x264 from tv pass 2" oac=mp3lame=yes lameopts=preset=studio of=lavf=yes ovc=x264=yes x264encopts=pass=2:turbo=0:threads=0:bitrate=2000:direct_pred=auto:me=umh:interlaceda pak
mencoder -profile x264tv1 -o vystup.mkv vstupnísoubor a mencoder -profile x264tv2 -o vystup.mkv vstupnísoubor
Až přijdu z práce tak hned vyzkouším, doteď jsem používal toto popřípadě pro uložení na disk s -dumpstream
$ ct_ivysilani.pl http://www.ceskatelevize.cz/ivysilani/209411000140515-udalosti-v-regionech-praha/ Fetching: http://www.ceskatelevize.cz/ivysilani/209411000140515-udalosti-v-regionech-praha/?streamtype=WM3 Request for http://www.ceskatelevize.cz/ivysilani/209411000140515-udalosti-v-regionech-praha/?streamtype=WM3 failed with 403 ForbiddenKde je chyba? Funguje někomu tenhle link?
A víš, že tim porušuješ autorská práva? ;-)
A komu to cpes?
Jinak tohle není v principu odlišné od nahrávání dat z analogového či digitálního tuneru, jen je to poněkud pohodlnější.
nn, vcera tu byl odkaz v nejakem blogu na jeden porad na cetecku s BSA a prvni veta co tam rekla bylo "doufam ze to neukladate a nesirite" nebo neco v tom smyslu
se na to mrknete...
Přesně tak. Ale pyča moderátorka
, pyča z BSA
…vyřešeno. Dup.
A pak to smazat. Takze z toho bude jen takovej vylepsenej prenosnej stream, kterej si muzu prehrat vickrat aniz bych musel neco znova tahat z nakyho serveru. Nejak podobne funguje ta jejich pujcovna, jen se za to musi platit a funguje to jen na windows ...
Též mi nějak uniká smysl existence tohoto skriptu. Celý problém zmiňovaného blogu byl, že je tam špatný link(ve skutečnosti, tak špatný není, ale…). Problém je jen v tom, že se generují session ID a ty pak server při generování playlistu očekává(moc jsem to nezkoumal, ale asi se odesílají pomocí Cookies nebo něčeho podobného). Když se ovšem předá správné session ID generátoru playlistu, tak ten vygeneruje link na .ram soubor(u MMSH se ta session ID používá i v samotné protokolu) a v něm je jednoznačný odkaz na celý pořad: rtsp://ctrm.visual.cz/ct/tv/VedlejsiEfektyCT24-170509.rm?start=00:00:00&duration=00:52:55. Pokud člověk používá Mplayer plug-in nebo Gstreamer plugin, tak ho přes všechny tyto útrapy provede a pak stačí jen Zkopírovat adresu(popř. Copy link addres u Mplayeru) a uložit stream v libovolném prográmku. Jo to taková Nova je jiný oříšek.
stáhni link && přehraj. Což je smysl existence toho skriptu.
Pokud máte podobný skript, který na to jde přes RTSP, tak ho můžete stejně dobře zveřejnit. Ale nemá smysl se pokaždé manuálně hrabat v stáhnutém HTML atp. S pluginy mám spíš ty horší zkušenosti (a spousta jiných lidí asi taky), je obtížné to rozchodit, je nepohodlné s tím pracovat, někdy to sletí, ...
(Ne, na stahování videa není u nás absolutně nic nelegálního, neporušuješ tím vůbec nic.)Za určitých podmínek.
Že jste to nepochopil mi vůbec nevadí, ale že už i ignorujete skutečnost mi pomalu vadit začíná.
A víš, že tim porušuješ autorská práva?To nevím, skript jsem napsal já a dávám ho do public domain ...
[honza@postak ~/work]$ ./vysilani.pl http://www.ceskatelevize.cz/ivysilani/10209988352-zaslapane-projekty/
Fetching: http://www.ceskatelevize.cz/ivysilani/10209988352-zaslapane-projekty/?streamtype=WM3
Request for http://www.ceskatelevize.cz/ivysilani/10209988352-zaslapane-projekty/?streamtype=WM3 failed with 403 Forbidden
[kotyz@behemot download]$ mediainfo ct24-vedlejsi-efekty.avi
General
Complete name : ct24-vedlejsi-efekty.avi
Format : AVI
Format/Info : Audio Video Interleave
File size : 639 MiB
Duration : 52mn 56s
Overall bit rate : 1 689 Kbps
Writing application : MEncoder SVN-r29269-4.3.3
Writing library : MPlayer
Video
Format : VC-1
Codec ID : WMV3
Codec ID/Info : Windows Media Video 9
Codec ID/Hint : WMV3
Duration : 52mn 55s
Bit rate : 1 517 Kbps
Width : 768 pixels
Height : 576 pixels
Display aspect ratio : 4/3
Frame rate : 1 000.000 fps
Resolution : 24 bits
Bits/(Pixel*Frame) : 0.003
Stream size : 574 MiB (90%)
Audio
Format : WMA2
Codec ID : 161
Codec ID/Info : Windows Media Audio 2
Duration : 52mn 56s
Bit rate : 96.0 Kbps
Channel(s) : 2 channels
Sampling rate : 44.1 KHz
Resolution : 16 bits
Stream size : 36.4 MiB (6%)
Tak ted si snad konecne ty "vedlejsi efekty" zkouknu cely a v klidu 
a celkem by se mi to hodilo. Potřebuju to avi dostat do stolního přehrávače. A veškeré pokusy s převodem, byly neúspěšné. Dík
exec(qw{mencoder -of avi -cache 1024 -user-agent NSPlayer/9.0.0.3250
-oac copy -ovc copy -o}, "$file.avi", $url_stream);
zavolat
exec(qw{mplayer -cache 1024 -user-agent NSPlayer/9.0.0.3250
-dumpstream -dumpfile}, "$file.asf", $url_stream);
$ ct_ivysilani.pl http://www.ceskatelevize.cz/ivysilani/209411000140515-udalosti-v-regionech-praha/ Fetching: http://www.ceskatelevize.cz/ivysilani/209411000140515-udalosti-v-regionech-praha/?streamtype=WM3 Got playlist URL: [http://ctdir.visual.cz/iVysilani/Services/Streaming/ClientPlaylist.aspx?id=OTYwNDcyNzB8NjMzNzg0MDk5NTE4NTIzMTQz] Fetching: http://ctdir.visual.cz/iVysilani/Services/Streaming/ClientPlaylist.aspx?id=OTYwNDcyNzB8NjMzNzg0MDk5NTE4NTIzMTQz Got entry URL: [http://ctrm1.visual.cz/iVysilani.Archive?id=OTYwNDcyNjl8NjMzNzg0MDk5NTE4NTIzMTQz&session=668f7464fbce2f35389e4c1862599ac4&content=209411000140515|10118379000|udalosti-v-regionech-praha|zpravodajske] Fetching: http://ctrm1.visual.cz/iVysilani.Archive?id=OTYwNDcyNjl8NjMzNzg0MDk5NTE4NTIzMTQz&session=668f7464fbce2f35389e4c1862599ac4&content=209411000140515|10118379000|udalosti-v-regionech-praha|zpravodajske Got stream URL: [http://ctrm1.visual.cz/iVysilani.Archive?id=OTYwNDcyNjl8NjMzNzg0MDk5NTE4NTIzMTQz&session=668f7464fbce2f35389e4c1862599ac4&content=209411000140515%7C10118379000%7Cudalosti-v-regionech-praha%7Czpravodajske] MPlayer 1.0rc2-4.3.3 (C) 2000-2007 MPlayer Team CPU: AMD Athlon(tm) X2 Dual-Core QL-62 (Family: 17, Model: 3, Stepping: 1) CPUflags: MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 1 Compiled with runtime CPU detection. mplayer: could not connect to socket mplayer: No such file or directory Failed to open LIRC support. You will not be able to use your remote control. Playing http://ctrm1.visual.cz/iVysilani.Archive?id=OTYwNDcyNjl8NjMzNzg0MDk5NTE4NTIzMTQz&session=668f7464fbce2f35389e4c1862599ac4&content=209411000140515%7C10118379000%7Cudalosti-v-regionech-praha%7Czpravodajske. Resolving ctrm1.visual.cz for AF_INET6... Couldn't resolve name for AF_INET6: ctrm1.visual.cz Resolving ctrm1.visual.cz for AF_INET... Connecting to server ctrm1.visual.cz[89.221.216.16]: 80... STREAM_ASF, URL: http://ctrm1.visual.cz/iVysilani.Archive?id=OTYwNDcyNjl8NjMzNzg0MDk5NTE4NTIzMTQz&session=668f7464fbce2f35389e4c1862599ac4&content=209411000140515%7C10118379000%7Cudalosti-v-regionech-praha%7Czpravodajske Resolving ctrm1.visual.cz for AF_INET6... Couldn't resolve name for AF_INET6: ctrm1.visual.cz Resolving ctrm1.visual.cz for AF_INET... Connecting to server ctrm1.visual.cz[89.221.216.16]: 80... Resolving ctrm1.visual.cz for AF_INET6... Couldn't resolve name for AF_INET6: ctrm1.visual.cz Resolving ctrm1.visual.cz for AF_INET... Connecting to server ctrm1.visual.cz[89.221.216.16]: 80... Cache size set to 1024 KBytes Stream not seekable!
Mně v ASF funguje posouvání i bez parametrů, tak i s -idx, -noidx a -forceidx a to v SVN verzi Mplayeru i Mplayeru z repa.
Kde mam co prepsat, co tam mam napsat?
'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)' ... tak si tam zkuste dát něco jiného (do těch apostrofů). Inspiraci můžete nalezt na http://www.useragent.org/.
To bych taky někdy mohl zveřejnit můj skript na archiv.nova.cz...
Si to dumpni ručně, ne?
Není to tak lehký jako u ČT...
No není. Ale ta minuta a půl snad ještě nikoho nezabila.
Chtěl bych vidět, jak tam odtud dokážeš něco ručně stáhnout za jedna a půl minuty.
Dobře, tak minutu třicetdva:
$ time ./rtmpdump_x86 -r "rtmp://flash2.nova.nacevi.cz:80/vod/2009/05/2009-05-18_Vikend_vystrih_hasici_tn.mp4" -y "mp4:nova/2009/05/2009-05-18_Vikend_vystrih_hasici_tn.mp4" -o vykend.mp4 RTMPDump v1.6 (c) 2009 Andrej Stepanchuk, license: GPL DEBUG: Parsing... DEBUG: Parsed protocol: 0 DEBUG: Parsed host : flash2.nova.nacevi.cz DEBUG: Parsed port : 80 DEBUG: Parsed app : vod/2009 DEBUG: Parsed playpath: mp4:05/2009-05-18_Vikend_vystrih_hasici_tn.mp4 DEBUG: Setting buffer time to: 36000000ms Connecting ... DEBUG: Protocol : RTMP DEBUG: Hostname : flash2.nova.nacevi.cz DEBUG: Port : 80 DEBUG: Playpath : mp4:nova/2009/05/2009-05-18_Vikend_vystrih_hasici_tn.mp4 DEBUG: tcUrl : rtmp://flash2.nova.nacevi.cz:80/vod/2009 DEBUG: app : vod/2009 DEBUG: flashVer : LNX 9,0,124,0 DEBUG: live : no DEBUG: timeout : 300 sec DEBUG: Connect, ... connected, handshaking DEBUG: HandShake: Client type: 03 DEBUG: HandShake: Client digest offset: 533 DEBUG: HandShake: Initial client digest: C0 76 F8 63 16 7B 2C AF 13 4B B4 6F 81 74 E8 78 4B 6F 8C 7E 6D E0 42 A4 2E 8F 00 15 6E 80 7C A8 DEBUG: HandShake: Type Answer : 03 DEBUG: HandShake: Server Uptime : 337585429 DEBUG: HandShake: FMS Version : 3.0.2.1 WARNING: Trying different position for server digest! DEBUG: HandShake: Server DH public key offset: 1265 DEBUG: HandShake: Client signature digest position: 533 DEBUG: HandShake: Digest key: BB 54 F0 95 C7 93 C4 36 10 E3 6A A3 E7 96 FC 64 3C D3 02 CA AA F7 1B B5 DA E2 52 F3 A8 E2 02 DF DEBUG: HandShake: Signature calculated: F2 01 CF 59 6A AF 0D 13 66 AA 1E 60 F1 01 26 88 C7 8F E4 0A 7C 7C 27 37 0B F7 24 B5 5B 7A 90 3B DEBUG: HandShake: Server sent signature: F2 01 CF 59 6A AF 0D 13 66 AA 1E 60 F1 01 26 88 C7 8F E4 0A 7C 7C 27 37 0B F7 24 B5 5B 7A 90 3B DEBUG: HandShake: Genuine Adobe Flash Media Server DEBUG: HandShake: Calculated digest key from secure key and server digest: 49 31 42 CB 87 20 2F B6 B4 90 4B F6 2F DA B1 CC 40 6E 31 EB 96 9B 6D D7 ED E9 1B 0F 30 24 34 44 DEBUG: HandShake: Client signature calculated: D5 74 E6 15 E5 92 9B 7C F2 C8 C4 85 D4 05 A7 47 E0 7C A6 92 DA 03 BF 8B 22 6D 7D D7 15 8E ED 02 DEBUG: HandShake: Handshaking finished.... DEBUG: Connect, handshaked Connected... Starting download at 0.000 KB DEBUG: GetNextMediaPacket, received: server BW DEBUG: GetNextMediaPacket, received: client BW DEBUG: HandlePing, received ping. type: 0, len: 6 DEBUG: GetNextMediaPacket, received: invoke 190 bytes DEBUG: Property:
Bez přípravy těžko...
Sakra, se to nezkopírovalo celé:
$ time ./rtmpdump_x86 -r "rtmp://flash2.nova.nacevi.cz:80/vod/2009/05/2009-05-18_Vikend_vystrih_hasici_tn.mp4" -y "mp4:nova/2009/05/2009-05-18_Vikend_vystrih_hasici_tn.mp4" -o vykend.mp4 RTMPDump v1.6 (c) 2009 Andrej Stepanchuk, license: GPL DEBUG: Parsing... DEBUG: Parsed protocol: 0 DEBUG: Parsed host : flash2.nova.nacevi.cz DEBUG: Parsed port : 80 DEBUG: Parsed app : vod/2009 DEBUG: Parsed playpath: mp4:05/2009-05-18_Vikend_vystrih_hasici_tn.mp4 DEBUG: Setting buffer time to: 36000000ms Connecting ... DEBUG: Protocol : RTMP DEBUG: Hostname : flash2.nova.nacevi.cz DEBUG: Port : 80 DEBUG: Playpath : mp4:nova/2009/05/2009-05-18_Vikend_vystrih_hasici_tn.mp4 DEBUG: tcUrl : rtmp://flash2.nova.nacevi.cz:80/vod/2009 DEBUG: app : vod/2009 DEBUG: flashVer : LNX 9,0,124,0 DEBUG: live : no DEBUG: timeout : 300 sec DEBUG: Connect, ... connected, handshaking DEBUG: HandShake: Client type: 03 DEBUG: HandShake: Client digest offset: 533 DEBUG: HandShake: Initial client digest: C0 76 F8 63 16 7B 2C AF 13 4B B4 6F 81 74 E8 78 4B 6F 8C 7E 6D E0 42 A4 2E 8F 00 15 6E 80 7C A8 DEBUG: HandShake: Type Answer : 03 DEBUG: HandShake: Server Uptime : 337585429 DEBUG: HandShake: FMS Version : 3.0.2.1 WARNING: Trying different position for server digest! DEBUG: HandShake: Server DH public key offset: 1265 DEBUG: HandShake: Client signature digest position: 533 DEBUG: HandShake: Digest key: BB 54 F0 95 C7 93 C4 36 10 E3 6A A3 E7 96 FC 64 3C D3 02 CA AA F7 1B B5 DA E2 52 F3 A8 E2 02 DF DEBUG: HandShake: Signature calculated: F2 01 CF 59 6A AF 0D 13 66 AA 1E 60 F1 01 26 88 C7 8F E4 0A 7C 7C 27 37 0B F7 24 B5 5B 7A 90 3B DEBUG: HandShake: Server sent signature: F2 01 CF 59 6A AF 0D 13 66 AA 1E 60 F1 01 26 88 C7 8F E4 0A 7C 7C 27 37 0B F7 24 B5 5B 7A 90 3B DEBUG: HandShake: Genuine Adobe Flash Media Server DEBUG: HandShake: Calculated digest key from secure key and server digest: 49 31 42 CB 87 20 2F B6 B4 90 4B F6 2F DA B1 CC 40 6E 31 EB 96 9B 6D D7 ED E9 1B 0F 30 24 34 44 DEBUG: HandShake: Client signature calculated: D5 74 E6 15 E5 92 9B 7C F2 C8 C4 85 D4 05 A7 47 E0 7C A6 92 DA 03 BF 8B 22 6D 7D D7 15 8E ED 02 DEBUG: HandShake: Handshaking finished.... DEBUG: Connect, handshaked Connected... Starting download at 0.000 KB DEBUG: GetNextMediaPacket, received: server BW DEBUG: GetNextMediaPacket, received: client BW DEBUG: HandlePing, received ping. type: 0, len: 6 DEBUG: GetNextMediaPacket, received: invoke 190 bytes DEBUG: Property: <Name: no-name., STRING: _result> DEBUG: Property: <Name: no-name., NUMBER: 1.00> DEBUG: Property: <Name: no-name., OBJECT> DEBUG: Property: <Name: fmsVer, STRING: FMS/3,0,2,217> DEBUG: Property: <Name: capabilities, NUMBER: 31.00> DEBUG: Property: <Name: no-name., OBJECT> DEBUG: Property: <Name: level, STRING: status> DEBUG: Property: <Name: code, STRING: NetConnection.Connect.Success> DEBUG: Property: <Name: description, STRING: Connection succeeded.> DEBUG: Property: <Name: objectEncoding, NUMBER: 0.00> DEBUG: HandleInvoke, server invoking <_result> DEBUG: HandleInvoke, received result for method call <connect> DEBUG: sending ping. type: 0x0003 DEBUG: GetNextMediaPacket, received: invoke 21 bytes DEBUG: Property: <Name: no-name., STRING: onBWDone> DEBUG: Property: <Name: no-name., NUMBER: 0.00> DEBUG: HandleInvoke, server invoking <onBWDone> DEBUG: GetNextMediaPacket, received: invoke 29 bytes DEBUG: Property: <Name: no-name., STRING: _result> DEBUG: Property: <Name: no-name., NUMBER: 2.00> DEBUG: Property: NULL DEBUG: Property: <Name: no-name., NUMBER: 1.00> DEBUG: HandleInvoke, server invoking <_result> DEBUG: HandleInvoke, received result for method call <createStream> DEBUG: SendPlay, sending play: mp4:nova/2009/05/2009-05-18_Vikend_vystrih_hasici_tn.mp4 DEBUG: sending ping. type: 0x0003 DEBUG: HandleChangeChunkSize, received: chunk size change to 4096 DEBUG: HandlePing, received ping. type: 4, len: 6 DEBUG: HandlePing, received ping. type: 0, len: 6 DEBUG: GetNextMediaPacket, received: invoke 246 bytes DEBUG: Property: <Name: no-name., STRING: onStatus> DEBUG: Property: <Name: no-name., NUMBER: 0.00> DEBUG: Property: NULL DEBUG: Property: <Name: no-name., OBJECT> DEBUG: Property: <Name: level, STRING: status> DEBUG: Property: <Name: code, STRING: NetStream.Play.Reset> DEBUG: Property: <Name: description, STRING: Playing and resetting nova/2009/05/2009-05-18_Vikend_vystrih_hasici_tn.mp4.> DEBUG: Property: <Name: details, STRING: nova/2009/05/2009-05-18_Vikend_vystrih_hasici_tn.mp4> DEBUG: Property: <Name: clientid, STRING: DEAIUzvL> DEBUG: HandleInvoke, server invoking <onStatus> DEBUG: HandleInvoke, onStatus: NetStream.Play.Reset DEBUG: GetNextMediaPacket, received: invoke 176 bytes DEBUG: Property: <Name: no-name., STRING: onStatus> DEBUG: Property: <Name: no-name., NUMBER: 0.00> DEBUG: Property: NULL DEBUG: Property: <Name: no-name., OBJECT> DEBUG: Property: <Name: level, STRING: status> DEBUG: Property: <Name: code, STRING: NetStream.Play.Start> DEBUG: Property: <Name: description, STRING: Started playing nova/2009/05/2009-05-18_Vikend_vystrih_hasici_tn.mp4.> DEBUG: Property: <Name: clientid, STRING: DEAIUzvL> DEBUG: HandleInvoke, server invoking <onStatus> DEBUG: HandleInvoke, onStatus: NetStream.Play.Start DEBUG: GetNextMediaPacket, received: notify 24 bytes DEBUG: Property: <Name: no-name., STRING: |RtmpSampleAccess> DEBUG: Property: <Name: no-name., BOOLEAN: FALSE> WARNING: ignoring too small audio packet: size: 0 DEBUG: GetNextMediaPacket, received: notify 44 bytes DEBUG: Property: <Name: no-name., STRING: onStatus> DEBUG: Property: <Name: no-name., OBJECT> DEBUG: Property: <Name: code, STRING: NetStream.Data.Start> DEBUG: GetNextMediaPacket, received: notify 494 bytes DEBUG: Property: <Name: no-name., STRING: onMetaData> DEBUG: Property: <Name: no-name., OBJECT> DEBUG: Property: <Name: duration, NUMBER: 349.79> DEBUG: Property: <Name: moovposition, NUMBER: 36.00> DEBUG: Property: <Name: width, NUMBER: 720.00> DEBUG: Property: <Name: height, NUMBER: 400.00> DEBUG: Property: <Name: videocodecid, STRING: avc1> DEBUG: Property: <Name: audiocodecid, STRING: mp4a> DEBUG: Property: <Name: avcprofile, NUMBER: 100.00> DEBUG: Property: <Name: avclevel, NUMBER: 30.00> DEBUG: Property: <Name: aacaot, NUMBER: 2.00> DEBUG: Property: <Name: videoframerate, NUMBER: 0.00> DEBUG: Property: <Name: audiosamplerate, NUMBER: 32000.00> DEBUG: Property: <Name: audiochannels, NUMBER: 2.00> DEBUG: Property: <Name: trackinfo, OBJECT> DEBUG: Property: <Name: no-name., OBJECT> DEBUG: Property: <Name: length, NUMBER: 8744000.00> DEBUG: Property: <Name: timescale, NUMBER: 25000.00> DEBUG: Property: <Name: language, STRING: eng> DEBUG: Property: <Name: sampledescription, OBJECT> DEBUG: Property: <Name: no-name., OBJECT> DEBUG: Property: <Name: sampletype, STRING: avc1> DEBUG: Property: <Name: no-name., OBJECT> DEBUG: Property: <Name: length, NUMBER: 11193344.00> DEBUG: Property: <Name: timescale, NUMBER: 32000.00> DEBUG: Property: <Name: language, STRING: eng> DEBUG: Property: <Name: sampledescription, OBJECT> DEBUG: Property: <Name: no-name., OBJECT> DEBUG: Property: <Name: sampletype, STRING: mp4a> DEBUG: Set duration: 349.792000 WARNING: ignoring too small video packet: size: 5 WARNING: ignoring too small audio packet: size: 0 DEBUG: GetNextMediaPacket, received: notify 102 bytes DEBUG: Property: <Name: no-name., STRING: onPlayStatus> DEBUG: Property: <Name: no-name., OBJECT> DEBUG: Property: <Name: code, STRING: NetStream.Play.Complete> DEBUG: Property: <Name: level, STRING: status> DEBUG: Property: <Name: duration, NUMBER: 91.00> DEBUG: Property: <Name: bytes, NUMBER: 44223383.00> DEBUG: HandlePing, received ping. type: 1, len: 6 DEBUG: GetNextMediaPacket, received: invoke 250 bytes DEBUG: Property: <Name: no-name., STRING: onStatus> DEBUG: Property: <Name: no-name., NUMBER: 0.00> DEBUG: Property: NULL DEBUG: Property: <Name: no-name., OBJECT> DEBUG: Property: <Name: level, STRING: status> DEBUG: Property: <Name: code, STRING: NetStream.Play.Stop> DEBUG: Property: <Name: description, STRING: Stopped playing nova/2009/05/2009-05-18_Vikend_vystrih_hasici_tn.mp4.> DEBUG: Property: <Name: details, STRING: nova/2009/05/2009-05-18_Vikend_vystrih_hasici_tn.mp4> DEBUG: Property: <Name: clientid, STRING: DEAIUzvL> DEBUG: Property: <Name: reason, STRING: > DEBUG: HandleInvoke, server invoking <onStatus> DEBUG: HandleInvoke, onStatus: NetStream.Play.Stop Closing connection... done! real 1m32.260s user 0m0.892s sys 0m1.888s
WireSharkem. Proto jsem mluvil o tom, že to bude trošku složitější. Je tam přibalená i nějaká utilita která zjistí adresu streamu(get_streams), ale moc tomu nerozumím a WireShark je rychlejší. Na druhou stranu se ta adresa nemění a mění se jen názvy pořadů a snad je v RTMP i něco jako výpis souborů.
To ale není flash, ale H.264. Zase někdo zaspal Adobe Flash Media Server? Donedávna specifikace nebyla vůbec.
Zase někdo zaspal Adobe Flash Media Server?
Zase někdo zaspal Adobe Flash Media Server a RTMP?
Zítra asi hodím do blogu ten skript...
/etc/hosts
Souhlasím. Když tak už NUT, MKV, MP4 nebo něco podobného, ale originální kontejner je nejlepší varianta.
** MUXER_LAVF ***************************************************************** REMEMBER: MEncoder's libavformat muxing is presently broken and can generate INCORRECT files in the presence of B-frames. Moreover, due to bugs MPlayer will play these INCORRECT files as if nothing were wrong! *******************************************************************************tak teď jsem na rozpakách :)
MPlayer neumí pořádně zapisovat do ničeho jinýho než AVI... Doporučuju ffmpeg...
Ne, to je program podobný mencoderu.
A to od kdy?
Jo už jsem to pochopil. No tak přímo to dumpovat s ním asi opravdu nepůjde, protože nemá podporu pro MMSH a RTSP, ale jen file,gopher,http,pipe,rtp,tcp a udp. Na to je opravdu nejlepší použít mplayer -streamdump a nebo nějaký rtspdump(Šlo by udělat rouru z z rtspdumpu do FFmpeg, který umí číst i zapisovat do stdio). Ale pro následné převedení je dobré použít FFmpeg. Osobně teda trvám na tom, že je nejlepší ponechat stream v originálních kontejnerech, protože různé kontejnery mají různé vychytávky a převodem do nějakého kontejneru, který nějakou funkci nemá se o ni přijde a nemusí pak třeba sedět timestampy nebo to může blbnout jinak. Zvláště pak když ASF i RM fungují jak v GNU/Linuxu, tak ve Windowsech na jedničku(libmpdemux/demux_asf.c, libmpdemux/demux_real.c, ffcook, ffrv40, ffwmav2 a ffwmv3 otevřené varianty těch kodeků a kontejnerů, které až na ffrv40 fungují perfektně). Ale pokud už by bylo nezbytně nutné, tak doporučuji převod do NUTu, nový kontejner vyvinutý spoluprácí vývojářu z FFmpeg a Mplayeru. Všechny kodeky a funkce co dovede FFmpeg převést a Mplayer přehrát teno kontejner má(a pokud ne, tak se na nich pracuje). Nějaké novější ffdshow ve Windowsech by ho mělo umět.
Převodem do Matrosky, i kdybys použil software, který to umí pořádně, nezískáš vůbec nic.
kraven@nemesis: ~/scriptskraven@nemesis:~/scripts$ ./ct.pl
Can't locate LWP/UserAgent.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at ./ct.pl line 6. BEGIN failed--compilation aborted at ./ct.pl line 6.
Přesně tak potwory. To je k zblaznění s nima.
Tak zmenil jsem skript, reklamu to netaha, ale zase to netaha to nejvyssi rozliseni ... zmenili to cca pred 5 dny, asi bude jednodussi si to z nich vymoct jinak, tedy pravne.
Nevim, proc bych mel byt diskriminovan, jen proto, ze nepouzivam Win/linux.
používám Ubuntu 9.10 na 8.10 stará verze scriptu fungovala výborně. Nyní jsem přešel na novou verzi, protože stará vracela chybu 403. Mám problém s nvou, protože taky nefunguje a dělá následující
Předem díky
:~/Desktop/ct24$ ./ct24-47257.pl http://www.ceskatelevize.cz/ivysilani/20947129856-softball/
Fetching: http://www.ceskatelevize.cz/ivysilani/20947129856-softball/?streamtype=WM3
Got playlist URL: [http://ctdir.visual.cz/iVysilani/Services/Streaming/ClientPlaylist.aspx?id=MjA3NjAyMjM5fDYzMzg3NDk3ODIwNDIzMTI1MA==]
Fetching: http://ctdir.visual.cz/iVysilani/Services/Streaming/ClientPlaylist.aspx?id=MjA3NjAyMjM5fDYzMzg3NDk3ODIwNDIzMTI1MA==
Request for http://ctdir.visual.cz/iVysilani/Services/Streaming/ClientPlaylist.aspx?id=MjA3NjAyMjM5fDYzMzg3NDk3ODIwNDIzMTI1MA== failed with 500 Can't connect to ctdir.visual.cz:80 (connect: timeout)
:~/Desktop/ct24$ ./ct24-47257.pl http://www.ceskatelevize.cz/ivysilani/209572242600013-game-page/
Fetching: http://www.ceskatelevize.cz/ivysilani/209572242600013-game-page/?streamtype=WM3
Got playlist URL: [http://ctdir.visual.cz/iVysilani/Services/Streaming/ClientPlaylist.aspx?id=MjA3NjA3NDAwfDYzMzg3NDk4MTY3Mzc2MjUwMA==]
Fetching: http://ctdir.visual.cz/iVysilani/Services/Streaming/ClientPlaylist.aspx?id=MjA3NjA3NDAwfDYzMzg3NDk4MTY3Mzc2MjUwMA==
Request for http://ctdir.visual.cz/iVysilani/Services/Streaming/ClientPlaylist.aspx?id=MjA3NjA3NDAwfDYzMzg3NDk4MTY3Mzc2MjUwMA== failed with 500 Can't connect to ctdir.visual.cz:80 (connect: timeout)
:~/Desktop/ct24$
Zdravim
Myslim, ze to treba updatnut. taha to iba reklamu 
neumely hotfix:
nahradit sablonu regularniho vyrazu
make_agent_mp();
my ($url_entry) = _fetch($url_playlist,
'entry URL' => qr/REF\s+HREF="(.*?)"/xms);
vyrazem:
make_agent_mp();
my ($url_entry) = _fetch($url_playlist,
'entry URL' => qr/ENTRY><REF\s+HREF="(.*?)"/xms);
Aby to bralo az druhe entry.
Asi by to ale chtelo udelat poradne (rozdelit vsechny <ENTRY>..</ENTRY> a vyhodit ty, kde se taha reklama (kupodivu to je napsane v URL)...
C.
Mám UBUNTU 9.10,zkusil jsem oba dva skripty, co tady jsou a jedn mi píše forbiden a druhý stáhne reklamu, tak nevím
), s tím že si na stránce pořadu zvolím formát Real media a záložku "Do okna". Pak použiju tento skriptík (první řádek vyhodí reklamu):
#!/bin/bash grep Vysilani $1 > ~/tmp/CT.playlist mplayer -fs -playlist ~/tmp/CT.playlistJirka
Zkoušel jsem všechno možné, mozplugger, mozplugger odkazující do vlastního skriptu (to jsem nedotáhnul do konce, protože iVysilani posila serii odkazu), mplayer plugin, VLC plugin. V Opeře jednoduše nemožné pustit iVysilani. Řešení je prosté - IceWeasel + MediaPlayerConnectivity.
Funguje výborně. ..Bohužel to ale není Opera.