Portál AbcLinuxu, 30. dubna 2025 10:11

RTMP

22.2.2010 22:05 | Přečteno: 4966× | Výběrový blog

Funkční RTMP klient v Linuxu je skutečností.

Mnozí poskytovatelé video obsahu přešli na protokol RTMP (Real Time Messaging Protocol). Snad si od toho slibovali lepší přehrávání v přehrávači SWF od Adobe nebo obtížnější odkrytí svého autorského vlastnictví.

To druhé se jim podařilo. Dlouhou dobu neexistoval fungující otevřený klient, který by dokázal takto šířená data vyžádat, zpracovat a uložit v přístupné podobě. Zcela paradoxně existuje svobodná implementace serveru (součást projektu Gnash). Nicméně po klientech šla firma Adobe jako husa po flusu. Například s pomocí DMCA se domohla stažení nástroje rtmpdump ze SourceForge. Navíc „šifrovaná“ varianta protokolu RTMPE nikdy nebyla zcela rozkryta.

Nicméně dav tvořený myriádami zastupitelných jedinců není možné umlčet, a tak vše bylo jen otázkou času. Nakonec lidé kolem MPlayeru zveřejnili a uvedli do stavu použitelnosti novou verzi rtmpdumpu 2.1d.

Tento kousek (při rozbalování dejte pozor na plochý archiv) nabízí čtyři nástroje:

rtmpdump
stahuje proud a ukládá jej na standardní výstup (včetně podpory dešifrování otiskem SWF souboru (vizte README))
rtmpsrv
hloupý server, který dokáže vypsat strukturu požadavku klienta
rtmpsuck
transparentní RTMP proxy s možností vypsat komunikaci (včetně šifrovacích klíčů) a uložit bokem protékající multimédia
streams
HTTP brána k RTMP serveru (umožnuje vytvořit HTTP GET požadavek na RTMP data a vrátit je jako standardní HTTP dokument)

Malý příklad:

$ ./rtmpdump -r 'rtmp://81.0.246.113/z1live/z1live1' | mplayer -cache 512 -noconsolecontrols -
RTMPDump v2.1d
(c) 2010 Andrej Stepanchuk, Howard Chu, The Flvstreamer Team; license: GPL
Connecting ...
Starting download at: -0.001 kB
Metadata:
  author                
  copyright             
  description           
  keywords              
  rating                
  title                 
  presetname            Custom
  creationdate          Mon Feb 22 21:00:00 2010
  videodevice           Osprey-230 Video Device 1
  framerate             25.00
  width                 608.00
  height                342.00
  videocodecid          avc1
  videodatarate         650.00
  avclevel              30.00
  avcprofile            66.00
  videokeyframe_frequency5.00
  audiodevice           Osprey-230 Audio Device 1
  audiosamplerate       22050.00
  audiochannels         1.00
  audioinputvolume      75.00
  audiocodecid          mp4a
  audiodatarate         48.00
0.545 kB / 0.00 secMPlayer SVN-r30554-4.3.4 (C) 2000-2010 MPlayer Team

Přehrávám -
Čtu ze std. vstupu...
Naplnění cache:  0.00% (0 bajtů)   
Detekován formát souboru libavformat.
313.901 kB / 3.45 sec[flv @ 0x9727bc0]Estimating duration from bitrate, this may be inaccurate
Nalezen video proud [lavf], -vid 0
Nalezen audio proud [lavf], -aid 1
VIDEO:  [H264]  608x342  0bpp  25.000 fps    0.0 kbps ( 0.0 kbyte/s)
482.582 kB / 5.13 sec==========================================================================
Otevírám video dekodér: [ffmpeg] FFmpeg's libavcodec codec family
Vybrán video kodek: [ffh264] vfm: ffmpeg (FFmpeg H.264)
==========================================================================
==========================================================================
Pokouším se vynutit rodinu audiokodeku -dmo...
Pokouším se vynutit rodinu audiokodeku ...
Otevírám audio dekodér: [faad] AAC (MPEG2/4 Advanced Audio Coding)
FAAD: compressed input bitrate missing, assuming 128kbit/s!
AUDIO: 44100 Hz, 2 ch, s16le, 128.0 kbit/9.07% (ratio: 16000->176400)
Vybrán audio kodek: [faad] afm: faad (FAAD AAC (MPEG-2/MPEG-4 Audio))
==========================================================================
AO: [alsa] 48000Hz 2ch s16le (2 bytes per sample)
Začínám přehrávat...
Poměr stran obrazu filmu je 1.78:1 - škáluji na správný poměr.
VO: [xv] 608x342 => 608x342 Planar YV12 
A:   0.8 V:   0.7 A-V:  0.029 ct:  0.039   0/  0 70% 134%  9.2% 6 0 54% 
Končím... (Konec)

A překvapení nakonec:

$ mplayer -v | head -n1
MPlayer SVN-r30554-4.3.4 (C) 2000-2010 MPlayer Team
       

Hodnocení: 100 %

        špatnédobré        

Obrázky

RTMP, obrázek 1

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (3) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

Grunt avatar 22.2.2010 22:15 Grunt | skóre: 23 | blog: Expresivní zabručení | Lanžhot
Rozbalit Rozbalit vše Re: RTMP
Odpovědět | Sbalit | Link | Blokovat | Admin
nebo obtížnější odkrytí svého autorského vlastnictví.
Přesně tak. RTMP je DRM technologie. Nebo spíš pokus o ni.
Dlouhou dobu neexistoval fungující otevřený klient
V Gnashi implementace a malý skriptík byl už docela dlouho. Akorát to né vždy fungovalo tak jak má.
Nakonec lidé kolem MPlayeru zveřejnili a uvedli do stavu použitelnosti novou verzi rtmpdumpu 2.1d.
Dobře oni. To zas bude rachot ze strany Adobe. Na to vsadím dřeváky.
Na co 64-bitů když to jde i s jedním? | 80.78.148.5 | Hack (for) free or Die Hard!
22.2.2010 23:09 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: RTMP

Tak RTMP by mělo umět i věci jako RPC, takže video on demand by mělo být ještě křupavější než kdy jindy (žádné zdržování s navazováním nových spojení při požadavku na změnu obsahu, vícecestné proudování, nezávislá signalizace a data atd.). Bohužel mám takový dojem, že, jak píšete, firmy si RTMP vybraly a používají z něj jen DRM.

Grunt avatar 22.2.2010 23:19 Grunt | skóre: 23 | blog: Expresivní zabručení | Lanžhot
Rozbalit Rozbalit vše Re: RTMP
Takové protokoly už dávno před RTMP existovaly a dokonce byly i standardizované. Teda aspoň co se já pamatuju.
Na co 64-bitů když to jde i s jedním? | 80.78.148.5 | Hack (for) free or Die Hard!
poky74 avatar 22.2.2010 22:21 poky74 | skóre: 36 | blog: Zápisník | Vrchlabí
Rozbalit Rozbalit vše Re: RTMP
Odpovědět | Sbalit | Link | Blokovat | Admin

Vůbec nemám tušení o co jde, ale stáhl jsem si to a zmakeoval, pustil si nějakou televizi...

Jelikož na klasickou televizi jsem už dost dlouho nekoukal tak nemám přehled co se teď děje, co jsem se dočetl tak z toho moc moudrej nejsem, mohl by mi někdo vysvětlit kde bych mohl sehnat link na jiné televize (ekonomika mě moc nebere).

 

Díky

Chcete Linuxové samolepky nebo Tuxe na klíče? ->
22.2.2010 23:19 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: RTMP

Tak třeba jsem zprovoznil Óčko. Ale je zajímavé, že rtmpdumpu je nutné přidat parametr --live a výsledný proud mplayer nepobere (ffplay ale už ano). Ale při spuštění přímo mplayerem přehrávání funguje velmi dobře. (Jen je vhodné opravit poměr stran, protože v 5:4 dostávají černí hiphopeři úplně jiný rozměr :)

Jinak obecně existují katalogové služby, jen ta je kvalita často ubohá. Lepší zdroje je nutné hledat ručně, protože bývají záměrně schované, aby na ně člověk koukal ve webovém prohlížeči plném reklam.

Grunt avatar 22.2.2010 23:23 Grunt | skóre: 23 | blog: Expresivní zabručení | Lanžhot
Rozbalit Rozbalit vše Re: RTMP
výsledný proud mplayer nepobere
-cache 8129
Na co 64-bitů když to jde i s jedním? | 80.78.148.5 | Hack (for) free or Die Hard!
poky74 avatar 23.2.2010 14:29 poky74 | skóre: 36 | blog: Zápisník | Vrchlabí
Rozbalit Rozbalit vše Re: RTMP

očko by se mi líblo...

 

 

./rtmpdump -r 'rtmp://stream6.idnes.cz/live/ocko' | mplayer -cache 512 -noconsolecontrols -
RTMPDump v2.1d
(c) 2010 Andrej Stepanchuk, Howard Chu, The Flvstreamer Team; license: GPL
Connecting ...
MPlayer SVN-r30526-4.4.3 (C) 2000-2010 MPlayer Team
142 audio & 332 video codecs
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 -.
Reading from stdin...
Cache fill: 0.00% (0 bytes) ERROR: Closing connection: NetStream.Play.StreamNotFound
Cache fill: 0.00% (0 bytes)


Chcete Linuxové samolepky nebo Tuxe na klíče? ->
23.2.2010 21:14 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: RTMP
Psal jsem, že rtpmdump potřebuje parametr --live.
Grunt avatar 22.2.2010 23:21 Grunt | skóre: 23 | blog: Expresivní zabručení | Lanžhot
Rozbalit Rozbalit vše Re: RTMP
Vůbec nemám tušení o co jde
Lepší nevědět.
Jelikož na klasickou televizi jsem už dost dlouho nekoukal tak nemám přehled co se teď děje, co jsem se dočetl tak z toho moc moudrej nejsem
Ordinace v růžové zahradě, Ulice. Pokud tyto dva pojmy někomu nic neříkají, tak je naprosto zbytečné se RTMP zabývat. (Já to ještě dvakrát použil na Střepiny, ale jinak téměř vůbec)
Na co 64-bitů když to jde i s jedním? | 80.78.148.5 | Hack (for) free or Die Hard!
24.2.2010 01:27 Fenry
Rozbalit Rozbalit vše Re: RTMP
Smím li se zeptat, jak tedy stáhnout video ze stránek Novy? Přesněji jak získat ten link?
Grunt avatar 24.2.2010 01:33 Grunt | skóre: 23 | blog: Expresivní zabručení | Lanžhot
Rozbalit Rozbalit vše Re: RTMP
Na co 64-bitů když to jde i s jedním? | 80.78.148.5 | Hack (for) free or Die Hard!
24.2.2010 14:40 Fenry
Rozbalit Rozbalit vše Re: RTMP
Děkuji :)
limit_false avatar 22.2.2010 23:26 limit_false | skóre: 23 | blog: limit_false
Rozbalit Rozbalit vše Adobe otevrelo RTMP protokol
Odpovědět | Sbalit | Link | Blokovat | Admin
RTMP protokol je jiz temer rok otevren, viz http://www.adobe.com/devnet/rtmp/pdf/rtmp_specification_1.0.pdf

Krome gnash a rtmpdump existuje celkom dost klientu a serveru: vlc, red5, flazr, crtmpserver, dokonce i nejaky erlangovsky.
When people want prime order group, give them prime order group.
23.2.2010 00:13 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: Adobe otevrelo RTMP protokol
protokol je jiz temer rok otevren

Prohibited Uses

The rights and licenses granted by Adobe in the RTMP Specification, including those granted in the Patent License, are conditioned upon Your agreement to use the RTMP Specification for only streaming video, audio and/or data content and not to make, have made, use, sell, offer to sell, import or distribute: (i) any technology that intercepts streaming video, audio and/or data content for storage in any device or medium; or (ii) any technology that circumvents technological measures for the protection of audio, video and/or data content, including any of Adobe’s secure RTMP measures. No right or license to any Adobe intellectual property is granted for such prohibited uses.

Bavíme se o klientech, které fungují. Pro mě je nový rtmpdump a jeho začlenění do mplayeru opravdu novinka. Žádný z klientů mi do teď nefungoval (pravda vlc jsem už rok neviděl).

Ale jinak dík za přehled. Až budu chtít stavět server, bude se hodit.

Grunt avatar 23.2.2010 00:16 Grunt | skóre: 23 | blog: Expresivní zabručení | Lanžhot
Rozbalit Rozbalit vše Re: Adobe otevrelo RTMP protokol
pravda vlc jsem už rok neviděl
U VLC byl problém s adresou. RTMP dovede nést (či spíše vyžaduje) více parametrů a ve VLC byl jeden řádek, který se automaticky parsoval.
Na co 64-bitů když to jde i s jedním? | 80.78.148.5 | Hack (for) free or Die Hard!
23.2.2010 06:03 Ondra
Rozbalit Rozbalit vše VLC
Odpovědět | Sbalit | Link | Blokovat | Admin
hmm, to je zajmavy:

zkousim si hrat s RTMP a VLC v1.0.3 - rtmp://81.0.246.113/z1live/z1live1

prehravani funguje ok

jenom kdyz chci stream ukladat, ulozi se jen zvuk - bez videa...
26.2.2010 09:33 Zdeněk Štěpánek | skóre: 57 | blog: uz_mam_taky_blog | varnsdorf
Rozbalit Rozbalit vše Re: RTMP
Odpovědět | Sbalit | Link | Blokovat | Admin
Mozna jsem mimo, ale nepamatuju si ze by mi nekdy takovehle live streamy v mplayeru nefungovaly.

Nic jsem nekompiloval, jen jsem spustil to co bylo na screenshotu a uplne bez problemu to hraje.

MPlayer SVN-r30526-4.4.3 (C) 2000-2010 MPlayer Team

Cislovani tam asi vymejslel nekdo zhulenej. Cislo revize mam nizsi a cislo verze vyssi.

Zdenek
www.pirati.cz - s piráty do parlamentu i jinam www.gavanet.org - czfree varnsdorf
26.2.2010 10:50 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: RTMP

Ony nefungují všechny ani teď. Třeba s Russia Today mi MPlayer nenaváže spojení. rtmpdump ano.

Verze MPlayeru je jen to první číslo. Druhé číslo je verze překladače.

Jinak netvrdím, že MPlayer obstojně umí RTMP až verze, co jsem ukazoval. Prostě to je první snímek dodávaný v Gentoo, u kterého jsem si všiml, že funguje.

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.