Portál AbcLinuxu, 30. dubna 2025 10:26
Inspirován blogpostem iVysílání ČT -- řešení přes wget a mplayer/mencoder jsem se rozhodl zveřejnit svůj skripty na archiv Novy.
Použití:./nova-dl.py http://archiv.nova.cz/multimedia/televizni-noviny-19-5-2009.html
název-pořádu.flv
, v našem případě tedy 009-05-19_TN_tn.flv
-q QUALITY, --quality=QUALITY Vybere kvalitu (low/high) -o OUTPUT, --output=OUTPUT Nastaví cílový soubor
UPDATE 30.5.: vývoj pokračuje na GitHubu
Tiskni
Sdílej:
V příloze skript s přiloženým rtmpdump 1.6 (statická x86 32b binárka).
s přiloženým rtmpdump 1.6 (statická x86 32b binárka).
A to jako proč?
A to jako proč ne? Nikomu to nenutím...
Kriminálka Las Vegas, kriminálka Miami, New York, Washington, Los Angeles a Námořní vyšetřovací služba
Ani jedno z nich tam nenajdeš, je tam jenom jejich tvorba. Takže maximálně Kriminálka Anděl
Zkus na tu stránku jít a kliknout na "seznam pořadů"...
Comeback tam je. Je to snad jediná věc, která na Nově stojí za toJednou jsem to viděl a jsou tam pasáže, kterým jde i zasmát. Poněkud trapná je ale inspirace americkými sitkomy a to pouštění smíchu. Příběhu, kdy tam nějaká ta hlavní umělkyně točila údajně v mládí pornofilmy s názvem "Třicet přírazů majora Zemana" atd. jsem se docela i zasmál :))
Jasně, ale připomíná mi to také to Windowsácké řešení typu hlavně ať to funguje.
Jo, ale to jen do chvíle než člověk instaluje a konfiguruje už podesáté aplikaci, která si nese svoji verzi knihovny GTK(za GTK si samozřejmě dosaďte dle libovůle cokoliv jiného). Prostě se mi to nelíbí. Když už, tak aspoň distribuovat se zdrojáky, ale úplně nejlépe samozřejmě vypsat závislost.
Když už, tak aspoň distribuovat se zdrojákyTo podle licence stejně musí. rtmpdump je GPL.
Na vyžádání ano.
Toto neplatí?:
6. Conveying Non-Source Forms. You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d.
IMHO min. jeden z těch bodů musí dodržet a jelikož neposkytl do teď nic, tak předpokládám, že asi bude dodávat zdrojový kód či místo ze kterého ho můžu získat až na vyžádání.
... či místo ze kterého ho můžu získat až na vyžádáníTo môže byť dosť problematické (ak teda nebude stačiť odkaz na nejaký torrent tracker) pretože rtmpdump môže byť použitý na sťahovanie chráneného obsahu a preto také miesto asi momentálne neexistuje.
LOL, tak to jsem vůbec netušil. To abych smazal z počítače wget, všechny webové prohlížeče, libcurl, libsoap, pidgina, libpurple, telnet, celý síťový stack…a neměl bych čirou náhodou vyhodit z okna celý počítač když už jsme u toho? Co to zas je za hnus zelený?
Co to zas je za hnus zelený?Takže ještě jednou a pomalu. D M C A. dý em sí ej. DMCA. Myslíte, že bych mohl vývojářům nabídnou pár set mega prostoru na serveru v ČR? Vtrhne do serverovny policie a zabaví celý rack?
rtmpdump has been replaced with a forked version called flvstreamer. flvstreamer is basically rtmpdump without rtmpe support. rtmpdump will still work as before for for backwards compatibility reasons. Please ensure you upgrade to get_iplayer v1.87 or above.(zdroj) To jako kvůli tomu?
Takže ještě jednou a pomalu. D M C A. dý em sí ej. DMCA.
Proč tu ještě nikde nevidím správně otagovanou zprávičku? [1],[2]
Myslíte, že bych mohl vývojářům nabídnou pár set mega prostoru na serveru v ČR? Vtrhne do serverovny policie a zabaví celý rack?
Těžko říct. Je to projekt na SourceForge. To by se ho SourceForge a mám pocit, že i autor(pokud není z U.S., tak se omlouvám) museli zříct. Jinak je to docela jedno. Samotná utilita rtmpdump je jen vypreparovaná z knihoven v XBMC a to je zase inspirované téměř stejnojmennou utilitou z gnashe(utilities/rtmpget.cpp). A v Gnashi už je to delší dobu a zatím to nikomu nevadilo. Akorát jsem si teda do teď myslel, že Adobe už dávno uvolnilo specifikace, když to tak honosně ohlašovali a oni místo toho zatím jen prudí.
Proč tu ještě nikde nevidím správně otagovanou zprávičku? [1],[2]A jo, ono to proběhlo teprve tento týden? Mě nenapadlo podívat se na datum a myslel jsem si, jak je to dávno...
Těžko říct. Je to projekt na SourceForge. To by se ho SourceForge a mám pocit, že i autor(pokud není z U.S., tak se omlouvám) museli zříct.Google na 1. místo na dotaz rtmpdump vrací stránku sourceforge.net/projects/rtmpdump/, na které je napsáno "Invalid Project". Tak že by se ho už na SF zřekli?
A jo, ono to proběhlo teprve tento týden? Mě nenapadlo podívat se na datum a myslel jsem si, jak je to dávno...
Samotný rtmpdumper vznikl začátkem tohoto měsíce. A v době psaní tohoto blogu byl ještě zdroják tam kde má být. Je to tři dny staré.
Google na 1. místo na dotaz rtmpdump vrací stránku sourceforge.net/projects/rtmpdump/, na které je napsáno "Invalid Project". Tak že by se ho už na SF zřekli?
Jen ho přesunuli/forknuli na neutrální půdu. Zdrojáky mám pro jistotu ještě v počítači.
and 2) identify the person or persons responsible for posting the infringing material. If you are unwilling or unable to provide this information for privacy or other reasons, we will issue a subpoena seeking the same.Ještě že tam nežiju. A autor blogpostu taky ne, mohl by být stíhán. Pokud je autor dumperu z USA, tak se má na co těšit, pokud ne, tak by tam neměl už nikdy jezdit - dopadl by jako Skljarov...
Snad nějaký (nebo snad i tento) Rus. Těžko říct. Jako by se po něm slehla zem.
BTW: Podobné je to s patenty. Nemusíš být zrovna Rus aby na tebe měly odezvu.
Těžko říct. Jako by se po něm slehla zem.Po mě by se asi v této situaci taky slehla zem
BTW: Podobné je to s patenty. Nemusíš být zrovna Rus aby na tebe měly odezvu.? Tady snad SW patenty neplatí, takže co mi můžou z USA udělat? Už jsi něco naznačoval, nechceš to rozvést?
Tak teď už snad nikdo nepochybuje o tom, že je tam ta binárka... Ale nestačím hledět, co se to děje... zdrojáky naštěstí taky mám
rtmpdump has been replaced with a forked version called flvstreamer. flvstreamer is basically rtmpdump without rtmpe support. rtmpdump will still work as before for for backwards compatibility reasons. Please ensure you upgrade to get_iplayer v1.87 or above.
Pár dnů zpět jsem se díval do bugzilly rtmpdumperu a zrovna tam kdosi ohlašoval, že použije rtmpdumper do svého projektu, který už uměl stahovat videa z YouTube a podobných video portálů. Něco s flv. Jestli to nebyl ten flvstreamer.
Ten rtmpdump je vykuchaný z projektu XBMC a ten je zase inspirovaný (zatím) nefunkčním rtmpdumpem z Gnashe. A právě projekt Gnash je iniciátorem implementace RTMP. Když jsem to zkoušel někdy na přelomu roku, tak se mi zobrazilo s SVN verzí Gnashe jen bílo místo filmu, ale je dost možné, že už se to hnulo a nebo to lze k funkčnímu stavu dokopat. On se totiž dá vybrat jako přehrávací backend ffmpeg nebo gstreamer a ten žere jen zlomek toho co originální Flash.
Samozřejmě jsem myslel verzi z nějako SVN(nebo bazaaru nebo co to tam mají) a ne sto let starý bazmek z repositáře.
jednak mě šokovalo, že to je ještě daleko pomalejší než Flash. Předpokládal jsem, že když to používá FFmpeg a když to, na rozdíl od Flashe, bude mít funkční hardwarovou akceleraci videa, že to nebude tak nehorázně žravé jako linuxový Adobe Flash. A přitom i nekvalitní pidivideo z YouTube v tom vytíží procesor na 100 procent.
Tam je problém s nějakou knihovnou co ten stream stahuje. Moc to nechápu, protože zapnu wget a ten nežere nic, ale prej se to prioritně řeší.
hardwarovou akceleraci videa
VP6 má HW akceleraci na nějaké kartě?
Ne, myslel jsem obyčejné XVideo.
Tak to ale není akcelerace v pravém slova smyslu.
To totiž ve Flashi nefunguje, i když by papírově mělo.
Tak to jsem ani netušil. Stejně bych byl radši kdyby streamy dekódovali k tomu určené(a hlavně rychlé) knihovny, než bůh ví jaký bazmek.
Adobe to myslím vysvětlila tím, že ten jejich video přehrávač musí používat RGB, kdežto v overlayi se klasicky akcelerují formáty YUV.
Téměř všechna jejich videa jsou v YUV420 a navíc moje X let stará GF5200:
screen #0 Adaptor #0: "NV17 Video Texture" number of ports: 32 port base: 325 operations supported: PutImage supported visuals: depth 24, visualID 0x21 … number of planes: 3 type: YUV (planar) id: 0x3 guid: 03000000-0000-0010-8000-00aa00389b71 bits per pixel: 32 number of planes: 1 type: RGB (packed) depth: 24 red, green, blue masks: 0xff0000, 0xff00, 0xff
No já nevim. Stačí vyžádat plochu přesně o velikosti videa a ovládací prvky vykreslovat samostatně.
Těmi interaktivními prvky jsem myslel všechno to, co flashový přehrávač vykresluje přímo do plochy videa. Např. ty bublinkové titulky na YouTube nebo ty animované seznamy/náhledy videí a podobné nesmysly.
No tak ty by mi vůbec nechyběly.
Flashový přehrávač prostě (bohužel) není jenom přehrávání videa v okýnku.
Bohužel. Kéž by chtěli už na YouTube použít video tag.
Kdyby to nevykresloval přímo do videa, musel by to nějak vykreslovat nad to, v další vrstvě. A to tedy nevím, jestli to tak dělá.
Momentálně určitě ne. Ale není to špatný nápad. Alfa kanál je plně podporován.
Není pro tyto případy (kdy člověku stačí jenom to samotné video) nějaký plugin, založený na MPlayeru? Který jenom přehraje to FlashVideo? To musí být mnohonásobně efektivnější a rychlejší než Flash nebo Gnash.
Ano, ale ten bohužel nejede na Epiphany.
Ten flashový přehrávač např. potřebuje do toho videa vykreslovat všechny možné interaktivní prvky, což je normální RGB grafika...Přesně tak. Hezky to shrnuje swfdecí FAQ:
What do I have to do to make video playback in Swfdec as fast as with mplayer? The short answer: It's hard. Here's the problem: As you might know, hardware has a dedicated method to display video, called the video overlay. That is what xv and in turn mplayer and ffmpeg use. It has the following features: * reserve a rectangular region on the screen for video display * move a memory rectangular image of YUV video data to that region and scale it to fit. That's not a lot and works well enough for video, but not for Flash. Flash allows rendering stuff on top of the video (the end screen on Youtube for example has the last video image shine through) and it allows translucent videos and drawing non-rectangular parts of videos. All of this is not supported by xv, which is why we decided to not go through the pain to use it. The unfortunate side effect is that currently a lot more horsepower is required to display a video via Swfdec. The end goal is to use OpenGL and its video extensions to speed up Flash video. That should make it as fast as xv for graphic cards that provide these features (almost all current graphic cards do). But then, there is currently no OpenGL cairo backend, even though there's constantly talk about doing one.
A RGB/YUV konvertor a scaller měly už S3 Trio a ATI Mach64 v r. 1995
Scpecifikace X Video Extension ver. 2 je z roku 1991. Vsadím se dřívější verze jsou ještě starší než já. Největší krása je v tom, že i Xv protokol samotný už pěkně dlouho podporuje kopírování video streamů do HW a hodně dalších pěkných funkcí(nevěděl by někdo o nějak HW co podporuje třeba XvPutVideo?), ale to ne. Každá firma si musí vymyslet svůj polofunkční bazmek aby se mohla vykazovat činnost a pak se to ještě celé musí sjednocovat a odstiňovat další vrstvou. To se pak Windowsáci můžou divit.
BTW: Když jsem hledal specifikaci Xv verze 1.3(ta je snad ještě někde na papíře) tak jsem na něco narazil…no co to zas ku…?:
V reakci na stížnost, kterou jsme obdrželi v souladu s Digital Millennium Copyright Act, jsme z této stránky odstranili 1 výsledek. Pokud chcete, můžete si přečíst DMCA stížnost k těmto odstraněným výsledkům.
A po dlouhém prohrabování historií se mi podařilo najít i tu stížnost.
Může mi to prosím někdo přeložit do lidské řeči?
Samozřejmě, že je. To, že si dnešní mládež myslí, že grafická akcelerace znamená, že grafická karta dekóduje H.264, neznamená, že graficky se nedají akcelerovat jiné věci.
Pokud čtete moje komentáře, tak určitě víte, že jsem zastáncem i prostého Xv. Jen nemám rád když se používá slovo akcelerace, protože většina lidí si pod tím představí něco jiného a popravdě řečeno jsem docela překvapen a potěšen, že konečně někdo aneb nemusí hned pršet, stačí když kape…
Grafické karty např. akcelerují vykreslování 2D grafiky na desktopu (na to jsou různá rozšíření v X serveru, i když „fungují“ paradoxně tak, že jsou pomalejší než softwarové vykreslování)
Nevím jak jinde, ale na nVidii XRender jede dobře a rozdíl je znát.
To je velmi významné odlehčení procesoru (video ve fullscreenu se přehrává s úplně stejnou zátěží procesoru jako video v malém okýnku) a je to grafická akcelerace v pravém slova smyslu.
Sám si rád přehrávám ve framebufferu, takže vím, že to není taková hrůza. U dnešních Super HD-Vision o 40Mbps a nebo naopak 320x240 YouTube…ale budiž.
I moje karty píšou totéž, ale jak říkám, prostě to nefunguje.
Aha. Opravdu to nefunguje. Má to nějaké divé ID a ještě je to pod Adaptor #1: "NV05 Video Blitter"
Ale např. ty ovladače Intel s novým UXA jsou zatím ještě daleko pomalejší než byly staré s EXA.V experiental větvi Debianu se před nedávnem objevil balíček xserver-xorg-video-intel verze 2:2.7.99.1-1 a s tím už to jede krásně rychle, 3D je rychlejší než předtím (jak EXA tak XAA) a 2D jsem nějak nepostřehnul, takže to funguje v pohodě. A ani to moc nepadá
Pokud ti nevadí horší kvalita, zkus parametr -q low, je tam jinej kodek...
"Vysoká kvalita":
General Complete name : 2009-05-21_Ordinace-II-113-dil-Cerna-nocx_tn.flv Format : Flash Video File size : 418 MiB Duration : 57mn 20s Overall bit rate : 1 018 Kbps _code : NetStream.Data.Start / NetStream.Play.Complete _level : status _duration : 2207.000 _bytes : 437957248.000 Video Format : AVC Format/Info : Advanced Video Codec Format profile : High@L3.0 Format settings, CABAC : Yes Format settings, ReFrames : 3 frames Muxing mode : Container profile=Unknown@3.0 Duration : 57mn 20s Width : 720 pixels Height : 400 pixels Display aspect ratio : 16/9 Frame rate mode : Variable Frame rate : 25.000 fps Resolution : 24 bits Colorimetry : 4:2:0 Scan type : Progressive Audio Format : AAC Format/Info : Advanced Audio Codec Format version : Version 4 Format profile : LC Format settings, SBR : No Duration : 57mn 20s Channel(s) : 2 channels Channel positions : L R Sampling rate : 32.0 KHz Resolution : 16 bits
Nízká kvalita:
General Complete name : 2009-05-21_TN2.flv Format : Flash Video File size : 81.2 MiB Duration : 19mn 0s Overall bit rate : 597 Kbps _code : NetStream.Data.Start / NetStream.Play.Complete _level : status _duration : 111.000 _bytes : 85108344.000 Video Format : VP6 Duration : 19mn 0s Bit rate : 500 Kbps Width : 720 pixels Height : 400 pixels Display aspect ratio : 16/9 Frame rate : 25.000 fps Bits/(Pixel*Frame) : 0.069 Stream size : 68.0 MiB (84%) Audio Format : MPEG Audio Format version : Version 2 Format profile : Layer 3 Duration : 19mn 0s Bit rate mode : Constant Bit rate : 64.0 Kbps Channel(s) : 2 channels Sampling rate : 22.05 KHz Resolution : 16 bits Stream size : 8.70 MiB (11%)
PS: nesnáším FCK!
V Ubuntu 8.04 není problém s dekodéry, ale s podporou kontejneru FLV (při použití h.264 a AAC) v jedné z knihoven FFmpeg.
Mplayer při přehrání videa vypíše:
[flv @ 0x87516d4]Unsupported video codec (7)
Cannot find codec for audio format 0xA.
VLC při přehrání videa vypíše:
VLC nepodporuje tento audio/video formát "undf". Bohužel není žádná šance, že byste to opravil.
Totem-gstreamer při přehrání videa vypíše:
Internal data stream error.
V Ubuntu 9.10, možná i starším, se tento problém nevyskytuje. Problém lze taktéž vyřešit zkompilováním nové verze FFmpeg.
[kotyz@behemot nova-dl]$ ./nova-dl.py http://archiv.nova.cz/multimedia/comeback-1-dil-kreslo-2.html
Traceback (most recent call last):
File "./nova-dl.py", line 85, in module
main()
File "./nova-dl.py", line 18, in main
url, type = get_server(serverlist, server_id)
TypeError: 'NoneType' object is not iterable
V gitu už je to opravený. Funguje Comeback i Kriminálka Anděl...
Využívá se na nově ten RTMPE, který je z forknutého rtmpdumpu odstraněn?
Zatím funguje jak přes čisté RTMP, tak přes RTMPE. Ještě jednou dodávám:zatím
.
ERROR: Connect, handshake failed.
Failed to connect!
Download completed without errors
site_id = re.search(r'var site_id = (\d+);', videopage).group(1)Dovoluji si připojit svůj skript nova-player.sh na přehrávání v mplayeru:
#! /bin/bash URL="$@" OUTPUT_FILE="/tmp/nova-archiv.flv" PATH="$PATH:/home/pavel/bin" rm $OUTPUT_FILE /home/pavel/bin/nova-dl.py -o $OUTPUT_FILE "$URL" > /tmp/nova.log 2>&1 & sleep 1s PID=$(pidof rtmpdump) echo $PID > /tmp/pid while [ ! -f $OUTPUT_FILE ]; do sleep 1s; done sleep 2s mplayer -geometry +1024+0 -forceidx -fs -ao alsa $OUTPUT_FILE > /tmp/mplayer.log 2>&1 kill $PIDSkript se spouští přes launchy s konfigurací přiloženou k příspěvku.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.