Portál AbcLinuxu, 30. dubna 2025 11:20
$ 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?
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.
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
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.
'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.
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.
#!/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.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.