MPlayer a záznam (uložení) video / audio streamu RealOne Player (Helix) *.rm, *.ram a Windows Media Player *.asf, *.asx do lokálního souboru v Linuxu / Ubuntu

Streamované multimediální soubory obsahují zvukový a (nebo) obrazový záznam, který se přehrává během stahování. Stačí se podívat na on-line vysílání ČT24. Podobně pracuje i IPTV.

Problém nastává, když si člověk chce takový stream uložit pro pozdější přehrávání. Ani RealPlayer, komunitní Helix, či Windows Media Player takovou volbou (patrně záměrně) nedisponují.

Uložení streamu do souboru pomocí MPlayer

Velmi mocným multimediálním multifunkčním přehrávačem je MPlayer, který se po mnoha letech aktivního vývoje blíží verzi 1.0. :-D A právě pro tento účel jej lze velmi dobře použít, aniž by se musel používat sharewarový program typu WM Recorder.

Instalace MPlayer a MEncoder v Ubuntu

Pokud používáte Ubuntu 6.06 Dapper nebo 6.10 Edgy Eft, je potřeba nainstalovat MPlayer a pro převod videoformátů přidružený projekt MEncoder.

BASH:
  1. sudo apt-get install mplayer mencoder

Poté je potřeba zjistit, odkud se streamuje zamýšlený multimediální soubor.

Meta soubory *.ram a datové soubory *.rm

Meta soubory s extenzí *.ram jsou zejména určeny pro vkládání na webové stránky, neboť obsahují nejen informací o samotných multimediální souborech formátu RM (RealMedia Streaming File), ale i další, jako parametry pro přehrávač RealOne Player či URL pro RTSP protokol. Soubor je opravdu jednoduchý, v základním ASCII napsaný a může vypadat například takto:

HTML:
  1. rtsp://multimedia.chovancik.cz/clips/high/rm/fun.rm
  2. http://www.chovancik.cz/clips/high/rm/fun.rm
  3. file:///home/pchovancik/multimedia/clips/rm/fun.rm

Důležité pro náš záměr je najít odkaz na fyzický multimediální soubor v tomto souboru, což reprezentuje každý jeden řádek, například rtsp://multimedia.chovancik.cz/clips/high/rm/fun.rm.

Meta soubory *.asx a datové soubory *.asf

Streamované, pro internet cílené, multimediální soubory vyvinuté společností Microsoft mají formát ASF (Advanced Streaming Format). Pro ně se vytvářejí meta soubory s extenzí *.asx, které zjednodušeně řešeno vytvářejí propojení mezi webovou stránkou a tímto multimediálním(i) souborem(y), v podstatě je to tzv. playlist. Jeho formát je založen na XML a může vypadat třeba takto jednoduše, byť může obsahovat velké množství dalších informací:

XML:
  1. <ASX VERSION="3">
  2.    <ENTRY>
  3.       <REF HREF="mms://multimedia.chovancik.cz/clips/high/asf/fun.asf">
  4.       <REF HREF="http://www.chovancik.cz/clips/high/asf/fun.asf">
  5.       <REF HREF="file:///home/pchovancik/multimedia/clips/asf/fun.asf">
  6.    </ENTRY>
  7. </ASX>

I zde je pro nás důležité najít odkaz na fyzický soubor v tomto XML souboru, což je URL obsažená ve značce REF HREF, zde například mms://multimedia.chovancik.cz/clips/high/asf/fun.asf.

Stažení zamýšleného multimediálního streamu

Pro tento účel využijeme MPlayer a to následujícím příkazem:

BASH:
  1. mplayer -dumpfile soubor.rm -dumpstream  rtsp://multimedia.chovancik.cz/clips/high/rm/fun.rm

Tento příkaz zajistí, aby se stream uložil do souboru s názvem soubor.rm. Jak jednoduhé. :-)

Převod formátu RM nebo ASF na AVI (XviD)

I když je stream uložen na lokálním disku, tak v něm nefunguje seeking (libovolné přeskakování v čase), je dobré jej převést do nějakého pro tento účel vhodnější formátu s indexem. Fajn by mohl být třeba XVid v kontejneru AVI. V praxi lze i index k ASF souboru vytvořit add post, avšak XviD mi jako otevřený formát sedí lépe. ;-)

Zde přichází na řadu MEncoder:

BASH:
  1. mencoder -ovc xvid -xvidencopts bitrate=500:pass=2 -oac mp3lame -lameopts mode=1:q=3 soubor.rm  -o soubor.avi

A náš záměr je naplněn.

Jenom připomínám, že pro soubory ASF je nutné mít nainstalované proprietární uzavření kodeky. Pro Ubuntu je více informací na českých wiki stránkách. :-D

Ubuntu Star (icon) Toto téma lze nalést i na českém Wiki Ubuntu.

Slabé...Jde to...Pěkné...Perfektní...Excelentní... (hlasováno 3x, průměr: 3,67 z max. 5)
Loading ... Loading ...
Obdobné články:

Více komentářů (10) na “MPlayer a záznam (uložení) video / audio streamu RealOne Player (Helix) *.rm, *.ram a Windows Media Player *.asf, *.asx do lokálního souboru v Linuxu / Ubuntu”

  1. Václav
    10.Březen 2009 (Úterý) 17:42
    10

    Pomůže mi tohle všechno? RealPlayer mi stáhne ve formátu *.rm , ale je to trhané. Při přehrávání na stránce je to O.K. Bude výsledek výše vámi popsanými postupy, programy a návody lepší nebo bych marnil čas a poradí mi někdo - co s tím ?

  2. Sumix
    6.Červen 2008 (Pátek) 19:49
    9

    Zdravím, též se zabývám teď touto problematikou a narazil jsem na několik problémů:
    1. též mi nefunguje nahrávání až od určitého času
    2. co je ale divné, že se nahrávání neukončí ani po nastaveném čase (používám kombinaci -ss a -endpos)
    3. zkoušel jsem parametr -speed v bláhové naději, že by třeba proces uložení mohl probíhat rychleji. Bohužel neprobíhá, a stahování streamu v reálném čase je docela neefektivní :-/

    Pokud by někdo s těmito problémy pohnul, byl bych opravdu vděčný :-)

  3. ObiSkyWalker
    2.Září 2007 (Neděle) 12:21
    8

    Zdravím :-)

    díky za skvělý článek :-) Jen bych chtěl upozornit, že mimo MPlayer umí stream zaznamenávat i VLC media player, přitom záznam rovnou encoduje do vámi zvoleného formátu. Nastavení je jednoduché, VLC má přívětivé GUI.

  4. Pavel Chovančík
    15.Prosinec 2006 (Pátek) 20:26
    7

    Zdravím Vás Jiří,

    u mne to bohužel MPlayer neumím (Ubuntu 6.10). Nevím, jak je to možné, ale ani když si stáhnu stream a pak použii -ss.

    Takže sice nemám chybovou hlášku, ale vždy to hraje od začátku. :-D

    Ještě to prozkoumám. ;-)

  5. antelao
    15.Prosinec 2006 (Pátek) 19:51
    6

    [5] Děkuji za odpověď. K Vaší poznámce, že "si s tím současný MPlayer neporadí a začně steam přehrávat od začátku" bych chtěl říct, že můj MPlayer si s tím poradí - na webu ČT kliknu na "spustit přehrávání" a stream se začne bez problémů přehrávat od 00:41:58. Sice hodí nějako Error hlášku, ale hraje - viz screenshot
    (bohužel neumím udělat screenshot i s videem)

    Pořád mi to vrtá hlavou - když MPlayer umí stream přehrávat od 00:41:58, proč by ho neuměl taky ukládat?

    Pro úplnost dodávám, že používám kubuntu 6.06.1 + firefox + mediaplayerconnectivity a pro formát realvideo mám nastaveno přehrávat v gmplayer.

    jiří

  6. Pavel Chovančík
    15.Prosinec 2006 (Pátek) 09:38
    5

    [4] To stejné jsem řešil také, pokud nemá index, tak si s tím současný MPlayer neporadí a začně steam přehrávat od začátku.

    Archiv ČT je v současné době dělen na cca 2 hodiny dlouhé sekvence záznamů a v metasouboru je poslán právě startovací milník. To funguje pod Windows Media Player, ale pod MPlayerem (plug-in) to začně vždy od začátku.

    Tedy bohužel, zde prozatím pomoci neumím. ;-)

  7. antelao
    14.Prosinec 2006 (Čtvrtek) 19:38
    4

    Dobrý den. Rád bych se zeptal, jetli lze pomocí tohoto postupu uložit pouze střední část streamu. Našel jsem parametry −ss a −endpos, ale stále se mi nedaří. Celý kód:
    mplayer -dumpfile soubor.rm -dumpstream rtsp://ct1.server.streaming.visual.cz/ct/high1/UdalostiP241106.rm -ss 00:41:58 −endpos 01:19:52

    Dokážete poradit? děkuji, jiří.

  8. Pavel@cetoraz
    7.Prosinec 2006 (Čtvrtek) 17:23
    3

    Já používám plugin do Firefoxe mplayerplug-in, který umí ukládat přehrávané soubory do určeného adresáře. Stačí dát do jeho konfiguračního souboru tyto dva parametry:
    dload-dir=/home/xpj/dwnld
    keep-download=1

  9. Pavel Chovančík
    29.Listopad 2006 (Středa) 01:30
    2

    Ahoj,

    jasně, díky za připomenutí. Také jej mám nainstalovaný, byť jej moc nevyžívám ;-)

  10. viitan
    27.Listopad 2006 (Pondělí) 21:59
    1

    Ahoj!

    Dekuji za supr navod. Osobne jeste muzu doporucit pro najdeni adresy streamu na strance plugin do firefoxe MediaPlayerConnectivity.

Zanechte, prosím, komentář

XHTML: Můžete použít tyto značky: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>