Ladda hem din metroblogg

Den här guiden uppdaterades senast den 24 februari 2011. Se bland kommentarerna för att få reda på vad som ändrats.

Metrobloggen lägger ned. Den 25 april kommer sajten stängas ned.

Till en början meddelades att också alla bloggar skulle försvinna den 25 april, och att den som ville spara sin blogg fick klara sig bäst på egen hand. Men några dagar senare ångrade sig Metro, och nu lovar de att allt innehåll kommer sparas, samt att den som vill ska få blogga vidare på något sätt.

Som det ser ut i dag har man som metrobloggare tre alternativ:

  • Vänta och se vad Metrobloggen hittar på.
  • Ge upp sin metroblogg och börja på ny kula någon annanstans.
  • Flytta sin blogg till någon annan bloggtjänst.

Den här guiden beskriver dock hur man gör något helt annat, nämligen att ladda hem sin blogg. Resultatet av en sådan nedladdning är en exakt kopia av bloggen – sida för sida – som sedan går att titta på i en vanlig webbläsare. Kopian blir alltså tillgänglig endast från ens egen dator, men går förstås att bränna ut på CD eller dylikt.

Ändå kan det här vara en bra idé för alla er som vill vara säkra på att hela er blogg – inklusive design, alla bilder, kommentarer och arkivsidor – inte kommer bort när den ena eller andra bloggtjänsten lägger ned, gör om eller trillar isär, nu eller i framtiden. Metoden fungerar egentligen inte bara på metrobloggen.se, utan på alla bloggar.

Tyvärr gäller guiden endast Windows och unix-liknande system. MacOS-användare kan jag inte hjälpa, men ni som kan något om MacOS får hemskt gärna fylla på. Kanske kan det här vara ett bra ställe att börja på?

En beskrivning av hur man kan flytta sina inlägg och bilder (men inte kommentarer) till någon annan bloggtjänst finns sist i inlägget.

Börja ladda ned din blogg

Först ska vi räkna ut vilket så kallat »länkdjup« du ska använda. Detta är inte alls så svårt som det låter. Och är du absolut säker på att du inte någon enda månad skrivit fler inlägg än 40, så kan du faktiskt klicka här för att hoppa över den här delen helt och hållet.

Annars måste du undersöka saken närmare. Länkdjupet är en vanlig siffra som påverkar hur mycket du kommer att ladda hem. Ju högre länkdjup, desto fler sidor kommer att laddas hem. Givetvis vill du ladda hem alla sidor som hör till din blogg, men samtidigt så få sidor från andra bloggar som möjligt. Därför är det viktigt att välja rätt länkdjup.

Det förinställda länkdjupet är 3. För att ta reda på om du behöver använda något annat djup gör du så här:

  1. Surfa in på din blogg, och hitta års- och månadsarkivet i sidospalten.
    Års- och månadsarkivet

    Års- och månadsarkivet

  2. Leta upp den månad bland alla månader och år som har flest sidor. Om till exempel januari 2008 har 7 sidor, medan juni 2010 har 8, så är det juni 2010 som har flest sidor. Det är viktigt att du inte fuskar med detta, om du verkligen vill vara säker på att hela bloggen kommer laddas hem. Du kan hitta antalet sidor längst ned på månadens första sida.
  3. När du hittat din längsta månad, se efter om listan över sidor har tre punkter eller inte. Om listan inte har några punkter (alltså »…«), så behöver du inte ändra länkdjup. Det betyder att du ska klicka här för att fortsätta guiden.
    Inga punkter

    Inga punkter = inget krångel

  4. Om listan med sidor däremot har punkter, så behöver du räkna ut ditt länkdjup. Så här kan en sådan lista se ut:
    Dåligt

    Nu måste du räkna litet.

  5. Ta antalet sidor för den här månaden, som ju är din längsta månad, och leta upp rätt länkdjup i tabellen nedanför:
    Antal sidorLänkdjup
    1–4 sidor3
    5–8 sidor4
    9–12 sidor5
    13–16 sidor6
    17–20 sidor7
    Och så vidare…
    Bloggen jag använde som exempel i bilden ovan hade sex sidor på sin längsta månad. Därför är länkdjupet 4.

Om svaret inte blev 3, så kom ihåg ditt länkdjup eller skriv ned det på en lapp. Blev det 3 kan du däremot strunta i allt som har med länkdjup att göra från och med nu.

* * *

Nu är det dags att förbereda själva nedladdningen. Om du använder Linux eller BSD, så klickar du här för att hoppa till ditt avsnitt. Använder du däremot Windows ska du fortsätta läsa.

Så här gör du i Windows

Du behöver tre saker innan du kan sätta igång. Dels en mapp att ladda ned bloggen i, dels programmet wget som kommer genomföra själva nedladdningen, och så behöver du en batch-fil som styr wget till rätt blogg och pekar ut vad som ska laddas hem. Vi börjar med de tre sakerna:

Det här behöver du

  1. En nedladdningsmapp. Skapa helt enkelt en mapp på skrivbordet. I resten av guiden kommer jag att kalla den här mappen för nedladdningsmappen.
  2. wget. Du laddar hem installationsprogrammet från den här sidan. Det är länken Setup till höger om texten Complete package, except sources du letar efter. Spara filen på skrivbordet, men vänta med installationen.
  3. GetMetroblogg.bat. Detta är den batch-fil som kommer att styra nedladdningen. Du hämtar filen genom att högerklicka på den här länken och välja Spara länk som… (eller vad det råkar heta på din dator). Spara den i nedladdningsmappen.

Förberedelser

Först installerar vi wget, sedan skriver vi in vilken blogg som ska hämtas i batch-filen. (Detta är petigt, så följ instruktionerna noga. Kolla på bilderna för att vara säker på att du gör rätt.)

  1. Starta installationsprogrammet för wget som du hämtade tidigare.
  2. Godkänn avtal, klicka på nästa och så vidare, tills det är dags att välja var på datorn programmet ska installeras. Skriv c:\GnuWin32 i rutan och tryck på next. Skriver du ett enda tecken fel kommer nedladdningen inte fungera, så dubbelkolla att du gjort rätt innan du går vidare. [bild]
  3. Strax ska du välja vad du ska installera. Kryssa ur rutan för documentation, för du kommer ändå inte läsa den. [bild]
  4. När du ska välja Start Menu Folder så kryssar du i rutan längst ned, för du vill inte ha wget i startmenyn. [bild]
  5. Fullfölj installationen genom att acceptera vad installationsprogrammet föreslår. Avsluta installationsprogrammet när installationen är färdig.

Nu är det bara en förberedelse kvar, nämligen att välja vilken blogg som ska laddas ned.

  1. Öppna en webbläsare och surfa till din metroblogg. Om du inte har något månadsarkiv på bloggens framsida, så måste du skaffa ett sådant innan du går vidare.
  2. Högerklicka på bloggens namn längst upp på sidan, alltså den länk i stor stil som leder till bloggens framsida, och välj att kopiera adressen från menyn. [bild]
  3. Minimera webbläsaren och öppna nedladdningsmappen på skrivbordet.
  4. Högerklicka på filen GetMetroblogg.bat och välj att redigera den. (Eller edit om du har engelskt Windows.)
  5. Klistra in adressen till din blogg, som du nyss kopierade, på rätt ställe. Resultatet kommer att se ut ungefär så här:

    REM
    REM  Mellan "-tecknen på raden nedan ska du klistra in
    REM  adressen till framsidan på din blogg.
    REM

    set url="http://www.metrobloggen.se/jsp/public/permalink.jsp?article=XX.XXXXXXXX"

    Observera att adressen inte ska vara radbruten, även om det kanske ser ut så här i bloggen.
  6. Endast vissa bloggar: Om du med hjälp av guiden kommit fram till att du behöver ett annat länkdjup än 3, så måste du även ändra länkdjupet i filen. Alla som inte behöver ändra länkdjup, ska hoppa över det här steget.
    För att använda ett länkdjup på 4 så ska du ändra i filen så att det sedan ser ut ungefär så här:

    REM
    REM  Länkdjup. Ändra bara när detta krävs.
    REM

    set depth=4

  7. Spara filen. (Välj alltså Spara från menyn, och inte Spara som…)
  8. Stäng filen.

Ladda ned

Det här är det enklaste. Kör GetMetroblogg.bat genom att dubbelklicka på ikonen. Nu öppnas en kommandoprompt, alltså ett svart textfönster. Om allt går som det ska, så tar det ett bra tag innan programmet är färdigt. Stora bloggar kan ta flera timmar att ladda hem.

Det är mycket viktigt att du inte avbryter nedladdningen innan den är färdig. I det skick sidorna laddas hem ser de nämligen inte riktigt riktiga ut i en webbläsare. Allra sist, när allt är nedladdat, så kommer wget automatiskt att skriva om alla sidor som laddats ned, så att de blir som de ska och går att surfa mellan.

Först när detta är avslutat och det står i fönstret att nedladdningen är klar, har du alltså en fungerande kopia av din blogg.

Sista avsnittet, som berättar var din blogg hamnat när nedladdningen är färdig, är gemensam för alla operativsystem. Klicka här för att hoppa till det.

* * *

Nu följer här instruktioner för dem som använder Linux eller BSD.

Så här gör du i *nix

Det är litet lättare att dra hem en blogg i unix-liknande system.

Så här gör du

  1. Se till att wget är installerat. Det är det antagligen redan.
  2. Om du inte har något månadsarkiv på bloggens framsida, så måste du skaffa ett sådant innan du går vidare.
  3. Kopiera adressen till din bloggs framsida. Detta kan du göra genom att högerklicka på bloggens namn som visas i stor stil längst upp på framsidan, och välja kopiera länk eller dylikt.
  4. Öppna ett terminalfönster och ställ dig i skrivbordet:

    $ cd Desktop

    I sällsynta fall heter skrivbordet något annat än Desktop, till exempel Skrivbord. Då får du anpassa dig. :-)
  5. Spara bloggens adress, som du kopierade i steg 2, i en miljövariabel:

    $ export URL="http://www.metrobloggen.se/jsp/public/permalink.jsp?article=XX.XXXXXXXX"

    Observera att detta är en enda rad, även om det ser radbrutet ut här i min blogg.
  6. Vidare så vill du att wget ska presentera sig som Internet Explorer för Metrobloggens servrar. En sådan presentation sparar vi också i en miljövariabel:

    $ export UA="Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; GTB6.6; SLCC2; .NET CLR 2.0.50727; InfoPath.2)"

    Citationstecknen ovan är mycket viktiga. Även det här kommandot består av endast en rad.
  7. Nu kör vi! De flesta kan köra det här:

    $ wget --no-check-certificate -np -k -K -p -E --no-cookies --referer="$URL" -r -U "$UA" -l 3 "$URL"

    Ni som däremot behövde ett annat länkdjup än 3, måste ändra siffran 3 mot slutet av raden till det länkdjup som behövdes.
  8. Några minuter eller timmar senare är nedladdningen färdig.

Klar! Var sjutton är min blogg?

I nedladdningsmappen finns nu en mapp som heter www.metrobloggen.se. I den finns massor av mappar och filer. Om du öppnar mappen jsp och därefter mappen public, så hittar du alla bloggsidor. De heter kryptiska saker som så här:

permalink.jsp?article=19.88323.html
permalink.jsp?article=19.88323.orig
permalink.jsp?article=19.88775.html
permalink.jsp?article=19.88775.orig
permalink.jsp?article=19.89376.html
permalink.jsp?article=19.89376.orig

Öppna vilken av de filer som slutar på .html som helst i en webbläsare, och klicka på bloggens namn längst upp på sidan. Om sidan du får upp inte tillhör din blogg, så får du pröva en annan fil istället. Det är omöjligt att undvika att några sidor du egentligen inte vill ha följer med av bara farten.

Surfa sedan runt och kontrollera att allt du vill ha finns där. Det är en bra idé att koppla ned sig från internet först, helst genom att helt enkelt rycka nätverkssladden ur datorn, men i nödfall kan du prova att säga åt Firefox att arbeta i »frånkopplat läge« från arkiv-menyn.

Anledningen till att du måste koppla bort internet, är att du vill veta om något som skulle hämtas till hårddisken inte blev hämtat. Det finns nämligen en risk att din webbläsare i smyg hämtar bilder och sidor som saknas, under tiden du bläddrar runt, istället för att upptäcka att de inte finns på hårddisken. Då märker du inte om något saknas.

Alla filer som slutar på .orig kan du förresten ta bort om du vill. De behövs bara medan nedladdningen fortfarande pågår.

Om det fortfarande krånglar för några så vill jag veta så mycket som möjligt om vad som händer. Tanken med den här guiden är att alla som vill ska kunna ladda hem sina bloggar innan den 25 april när metrobloggen.se försvinner från nätet. Därför behöver jag hjälp att lösa alla problem.

Skicka gärna en felrapport via epost. Se till att bifoga din ändrade GetMetroblogg.bat, och gärna skärmdumpar på hur felet såg ut i det svarta textfönstret. Min epost-adress finns att hämta här.

Om du inte kan eller vill skicka epost får du gärna beskriva problemet i en kommentar nedan, men det blir svårare att lista ut vad som gått snett då.

Alternativ för den som vill flytta bloggen

För den som dessutom (eller istället) vill flytta sin blogg har Ted Valentin tagit fram ett verktyg som gör detta enkelt. Bilderna i din blogg kopieras till en av hans servrar, och du får alla inlägg i en så kallad XML-fil, som du sedan kan ladda upp på flera andra bloggtjänster, till exempel Blogger eller Wordpress. Båda tjänsterna är utmärkta. Blogger drivs av Google, men personligen rekommenderar jag Wordpress. Inga kommentarer följer tyvärr med i flytten.

Om någon vill flytta sin metroblogg till den litet dockskåps-aktiga bloggtjänsten Nattstad, så har de tagit fram ett eget verktyg för ändamålet. Såvitt jag förstår saken, så följer bara inlägg och bilder med – alltså inte några kommentarer – när man flyttar sin blogg dit, precis som när man använder Ted Valentins tjänst.

Lycka till!

Ladda hem din metroblogg (gammal version)

Den här guiden fungerar för vissa, men inte för andra. Därför har jag skrivit en helt omarbetad version, som använder sig av en litet annorlunda metod. Troligtvis fungerar den för de allra flesta.

* * *

Metrobloggen lägger ned. Den 25 april kommer allt material försvinna från nätet. Av någon anledning sägs inte ett ord om hur man kan göra för att spara sin blogg, så att den inte försvinner för alltid. Förmodligen beror det på lika delar inkompetens och nonchalans.

Så det är väl upp till mig att visa hur man kan göra. :-)

OBS: Metoden nedan fungerar inte för alla.

Det här behöver du

Du behöver ett program som heter wget för att följa de här instruktionerna.

Windows-användare kan hämta wget från den här sidan. Linux-användare får själva lista ut om de har programmet eller hur de skaffar det. MacOS-användare kan jag tyvärr inte hjälpa, men om någon kan bistå med sådana instruktioner så lämna gärna en kommentar.

Det är viktigt att bloggens första sida har ett månadsarkiv, i stil med det som finns i vänsterspalten på metrobloggens egen blogg.

Så här gör du

  1. Skapa en mapp på skrivbordet. Döp den till vad du vill.
  2. Endast Windows: Lägg filen wget.exe, som du nyss laddade ned, i mappen.
  3. Högerklicka på rätt knapp nedan, och spara filen i samma mapp. (Alternativet heter ofta Spara länk som… eller Save Link As….)
  4. Kopiera länken till framsidan på den metroblogg du vill spara, till exempel genom att högerklicka på bloggens namn längst upp på sidan och välja kopiera adress, kopiera länk eller liknande. Det är mycket viktigt att du använder den »krångliga« adressen, alltså den som ser ut ungefär på det här viset:

    http://www.metrobloggen.se/jsp/public/permalink.jsp?article=19.16155309

  5. Om du använder den kortare varianten (till exempel http://www.metrobloggen.se/metrobloggen) så kanske du drar hem många filer som du inte behöver också, förutom din blogg. Det är onödigt.
  6. Öppna mappen som du skapat på skrivbordet.
  7. Endast Linux/BSD: Döp om filen getmetro.txt till getmetro.sh. Högerklicka sedan på filen och se till att göra den körbar.
  8. Öppna den fil som heter getmetro.sh eller getmetro.bat i en textredigerare, som till exempel Anteckningar i Windows eller Gedit i Gnome.
  9. Nästan överst i filen ska du klistra in adressen du kopierade i steg 4.
    I Windows blir det då så här:

    REM
    REM  MELLAN "-TECKNENA PÅ RADEN NEDAN SKA DU KLISTRA IN
    REM  ADRESSEN TILL FÖRSTA SIDAN PÅ DIN BLOGG.
    REM

    set url="http://www.metrobloggen.se/jsp/public/permalink.jsp?article=XX.XXXXXXXX"

    Adressen ser kanske radbruten ut här i bloggen. Den får dock inte radbrytas!
    I Linux eller BSD blir det så här:

    #!/bin/sh

    # Klistra in adressen till din bloggs framsida mellan "-tecknena nedan.

    URL="http://www.metrobloggen.se/jsp/public/permalink.jsp?article=XX.XXXXXXXX"

    Inte heller här får adressen vara radbruten.
  10. Spara och stäng filen.
  11. Nu är det bara den glidiga biten kvar.
    Windows: Allt du behöver göra nu är att köra getmetro.bat. Då öppnas ett svart textfönster som spyr upp en hel mängd text. När kräkandet är färdigt, så är bloggen nedladdad. Tänk på att det kan ta ett tag, till och med flera timmar för en stor blogg.
    Linux/BSD: Öppna ett terminalfönster, gå in i mappen, och kör skriptet därifrån istället. Till exempel så här:

    $ cd Desktop/Metrobloggmapp
    $ ./getmetro.sh

  12. Avbryt inte nedladdningen förrän den är färdig. Sist av allt ordnar wget nämligen så att din kopia av bloggen går att surfa i med en webbläsare. Du måste alltså vänta tills hämtningen är klar innan du kan gå vidare i guiden.

Klar! Var sjutton är min blogg?

Mjo, den ligger faktiskt i mappen som du skapade på skrivbordet, men det är kanske inte helt självklart var.

Om du ser efter i den, så finner du en annan mapp som heter www.metrobloggen.se. Öppna den, och fortsätt därefter först in i jsp och sedan public.

I den mappen finns massor av filer som heter sådana här saker:

permalink.jsp?article=19.88323.html
permalink.jsp?article=19.88323.orig
permalink.jsp?article=19.88775.html
permalink.jsp?article=19.88775.orig
permalink.jsp?article=19.89376.html
permalink.jsp?article=19.89376.orig

Öppna vilken av de filer som slutar på .html som helst i en webbläsare, och klicka på bloggens namn längst upp på sidan.

Surfa sedan runt och kontrollera att allt du vill ha finns där. Det är en bra idé att koppla ned sig från internet först, helst genom att helt enkelt rycka nätverkssladden ur datorn, men i nödfall kan du prova att säga åt Firefox att arbeta i »frånkopplat läge« från arkiv-menyn.

Anledningen till att du måste koppla bort internet, är att du vill veta om något som skulle hämtas till hårddisken inte blev hämtat. Det finns nämligen en risk att din webbläsare i smyg hämtar bilder och sidor som inte laddats ned direkt från nätet, istället för från hårddisken. Då märker du inte om något saknas.

Alla filer som slutar på .orig kan du förresten ta bort om du vill. De behövs bara så länge wget fortfarande håller på att ladda hem. Skriptet (alltså .bat- eller .sh-filen du laddat hem) går för övrigt att ladda hem vilken sajt som helst med. Dock kan man behöva anpassa det så kallade länkdjupet beroende på hur många »klick« som krävs för att komma till alla sidor som ska laddas hem. Du ändrar länkdjup genom att byta ut siffran 3 i filen (nära slutet av den långa raden) till något annat antal.

Fungerar det inte? Fråga i en kommentar! Glöm inte att (kortfattat) redogöra vad du gjort och vad som inte fungerade. :-)

SVTPlay från terminalen

Tänkte bara kort meddela att jag kluddat ihop ett skript som fixar biffen med SVTPlay och deras fasoner. Det ska vara Bourne-kompatibelt, vilket innebär att alla BSD-, Linux- och Solaris-användare gläds. Hur det är på Mac vet jag däremot inte.

6 mars: Skriptet underhålls numera på den här sidan.

Ladda hem från SR

Det går att ladda hem samtliga Sveriges Radios program, inte bara dem som finns i poddformat. I det här inlägget ska jag berätta hur man gör för att hämta de litet klurigare m4a-filerna, samt hur man tankar hem rtmp-strömmar. I ett påföljande inlägg kommer jag att presentera en uppdatering av mitt gamla radioskript, sedan SR gjort om sin sajt en smula.

Jag kommer att demonstrera tre metoder som går att använda när man vill ladda hem ett klipp, ett program eller spela in en stump från den direktsända webbradion.

Ladda hem med en webbläsare

Den här metoden fungerar för många klipp. De enklaste klippen att ladda hem är dem som är märkta med (MP3). Allt du behöver göra är att högerklicka och spara.

Klipplänk 1

Om det inte är ett sådant MP3-klipp du ska hämta hem, så behöver du göra litet mera än bara klicka. Börja med att högerklicka på klippets länk, som kan se ut på ett par olika sätt:

Klipplänk 2 Klipplänk 3

Ladda hem filen och öppna den i en text-editor. Leta sedan upp <entry>-avsnittet i filen:

<entry>
    <title>Ekonyheterna</title>
    <abstract>Nyheter</abstract>
    <ref href="http://sverigesradio.se/topsy/ljudfil/2888490.m4a" />
    <duration value="00:07:02" />
</entry>

Det är den fetade raden ovan som du är intresserad av. Där har du nämligen adressen till ljudfilen. Mata in den i webbläsaren, så hämtas den hem.

Kanske fungerar det inte. Får du istället fram en irriterande mediaspelare inuti webbläsarfönstret á la QuickTime, så måste du vara litet lurig. Skapa i sådana fall ett html-dokument på exempelvis ditt skrivbord, och fyll det med följande innehåll:

<a href="http://sverigesradio.se/topsy/ljudfil/2888490.m4a">Tanka</a>

Öppna filen i din webbläsare, högerklicka på länken och välj att ladda hem den.

Med cURL istället för webbläsare

Människor som begåvats med att använda cURL kan göra så här istället:

$ curl -LO http://sverigesradio.se/topsy/ljudfil/2888490.m4a

Fast med cURL och ett vettigt skal behöver man inte ladda hem någon fil och öppna den i texteditor. Rabbla istället upp den här ramsan:

curl -LO $(curl -s "URL"|grep 'ref href'|sed 's/.*href="\(.*\)".*/\1/')

URL ska givetvis ersättas med adressen till filen som innehåller adressen till ljudfilen. Citattecknen är viktiga.

Ladda hem i MPlayer

Den här metoden bygger på att det går att spela upp filer direkt från webben i MPlayer.

Till att börja med ska du göra likadant som om du laddat hem med din webbläsare: Högerklicka på länken. Ladda dock inte hem länken, utan kopiera den.

Om du bara vill spela upp klippet i MPlayer, så gör du så här:

$ mplayer -playlist "http://sverigesradio.se/api/radio/radio.aspx?type=broadcast&id=2886735&codingformat=.m4a&metafile=asx"

För att spara klippet till hårddisken använder du följande formel:

$ mplayer -dumpstream -dumpfile "Sparat radioprogram".m4a -playlist "http://sverigesradio.se/api/radio/radio.aspx?type=broadcast&id=2886735&codingformat=.m4a&metafile=asx"

En nackdel med detta är att det tar lika lång tid att ladda hem programmet som att lyssna på det. I normalfallet finns inte heller någon fördel – det är helt enkelt bättre att använda föregående metod.

Men när det gäller SR:s äldre klipp och program, som ofta bara finns som rtsp-strömmar, så är det här ett trevligt sätt att hämta hem programmen på.

Spara ljudströmmar med RTMPDump

Den här metoden fungerar för alla rtmp-strömmar, oavsett vad de innehåller. Det finns två sätt att komma åt rtmp-adresser. Det ena är att råka ha dem i en fil sedan tidigare, som jag. :-)

Du behöver förstås installera RTMPDump. (FLVstreamer fungerar taskigt med SR:s strömmar, är min erfarenhet.) Närmare instruktioner för att installera i Windows finns i det här inlägget.

Det andra sättet är att man hittar dem någonstans. Uppenbarligen kommer de numera även som nedladdningsbara .rtmp-filer. Om du inte har någon adress som börjar med rtmp://, utan en http://-adress till en .rtmp-fil, så ladda hem filen och öppna den i en text-editor.

Även den här gången söker du det här avsnittet i filen:

<entry>
    <title>P2 Musik</title>
    <abstract>P2 Musik</abstract>
    <ref href="rtmp://rtmp-live.sr.se/webbradio/kanaler/p2musik-aac-96" />
</entry>

Och även den här gången är det den fetmarkerade raden ovan du är intresserad av.

I det här exemplet råkar rtmp-adressen vara P2:s direktsändning:

rtmp://rtmp-live.sr.se/webbradio/kanaler/p2musik-aac-96

Du kan fuska fram en sändning av högre kvalitet genom att ändra siffran på slutet:

rtmp://rtmp-live.sr.se/webbradio/kanaler/p2musik-aac-192

Eftersom detta är en direktsändning, så fungerar RTMPDump snarare som en inspelningsapparat än ett nedladdningsprogram. Det betyder vad du tror att det betyder: När du startar programmet så börjar det spela in, och när du avslutar det (med CTRL-C) så slutar du spela in.

Nåväl, här är kommandot:

$ rtmpdump -o "Min radioinspelning".m4a -r "rtmp://rtmp-live.sr.se/webbradio/kanaler/p2musik-aac-192" -v

Hade detta inte varit en direktsändning, så skulle det inte ha varit något -v på slutet. Då hade du inte heller behövt avsluta RTMPDump manuellt, eftersom det hade slutat när filen tog slut.

Vill du lyssna på ett program samtidigt som du hämtar hem det – även om det är en direktsändning du spelar in från – så kan du göra så här:

$ mplayer -nocache "Min radioinspelning".m4a

Det var allt. Adjö!

Koda om filmer för Android och iPhone

Problem: Du har en film, kanske är den nedtankad från SVTPlay eller på en DVD-skiva, och nu vill du se på den i mobilen. Men den är för otymplig!
Lösning: Koda om filmen till telefonbrukbart mp4-format.
Svårighetsgrad: Lätt omständigt. (Svårare dock för Windows-användare, som saknar $-skal.)

Du behöver:

Om du ska rippa filmen från en DVD behöver du även något program för detta. Om du däremot redan har en färdig filmfil, till exempel en sådan du dragit hem från SVTPlay, så kan du klicka här för att hoppa till nästa avsnitt.

Rippa från DVD (med MEncoder)

För att kopiera från det .vob-format som film-DVD:er använder, så behöver du även något program som kan kopiera filmen till en typisk container i stil med .mpg eller .avi. MEncoder håller måttet, och följer med MPlayer. Så vitt jag vet kan du även göra detta med VLC i Windows, men hur får du allt lista ut själv.

För att med MEncoder skapa filmfilen du behöver från en DVD, ska du först ta reda på vilket kapitel du vill ha.

Prova dig fram med följande kommandon:

$ mplayer dvd://1

$ mplayer dvd://2

$ mplayer dvd://3

Använd parametern -dvd-device om MPlayer inte hittar din DVD-skiva:

## Du kan läsa direkt från enheten:
$ mplayer -dvd-device /dev/cd0c dvd://1

## Om du mountar skivan kan du läsa från den så här istället:
$ mplayer -dvd-device /mnt/disc dvd://1

## Eller förstås så här, om du rippat den rakt av:
$ mplayer -dvd-device metropolis.iso dvd://1

När du funnit rätt kapitel är det dags att kopiera filmen. Glöm inte att använda samma -dvd-device-parameter, eller förstås att ange rätt kapitel:

## Utan -dvd-device:
$ mencoder -oac copy -ovc copy -o "film".mpg dvd://3

## Med -dvd-device:
$ mencoder -oac copy -ovc copy -o "film".mpg -dvd-device metropolis.iso dvd://3

Nu har du skaffat dig filen film.mpg. Dags att konvertera!

Så här gör du

När jag konverterar filmer för mobiltelefon, så är jag ute efter förutsägbar filstorlek. Guiden utgår därför från att vad du önskar dig är 100 megabyte per timme film. I mitt tycke räcker detta alldeles utmärkt. Parametrar för andra MB/h finns sist i inlägget.

  1. Du behöver artbestämma videon litet grand. Det handlar om saker som är unika för varje film. Med MPlayer kan det göras så här:

    $ mplayer -frames 0 -identify "film".mp4 | egrep "(VIDEO_WIDTH|VIDEO_HEIGHT|VIDEO_FPS|AUDIO_BITRATE|AUDIO_FORMAT)"

    Observera att kommandot som ska köras inte får radbrytas, trots att det kanske ser radbrutet ut här bloggen. Utmatningen ser ut ungefär så här:

    ID_VIDEO_WIDTH=640
    ID_VIDEO_HEIGHT=360
    ID_VIDEO_FPS=25.000
    ID_AUDIO_FORMAT=MP4A
    ID_AUDIO_BITRATE=0
    ID_AUDIO_BITRATE=128000

    • Filmens aspect ratio är 16:9, eftersom 640 genom 360 är 1,777…. Ofta skrivs det 1.77:1 istället. En annan vanlig ratio är 1.33:1 eller 4:3.
    • Filmens framerate är 25.
    • Ljudets format är MP4A, vilket strax kan få betydelse.
    • Ljudets bitrate är 128k.
    Håll nu ordning på dessa tal och antal.
  2. Ett ytterligare antal nuffror behöver bestämmas. För 100MB/h rekommenderar jag de följande:
    1. Audio bitrate: 96k (eller 128k för högre ljudkvalitet).
    2. Audio channels: 2 för hörlurar, annars 1 för mono.
    3. Video resolution: 240 på y-ledden, alltså 320x240 för 4:3 och 428x240 för 16:9.
    4. Video bitrate: 131.5k (eller 99.5k om du valde 128k som audio bitrate).
    5. Video framerate: 15 (alt. original/2, i mitt exempel alltså 12.5).

    Den film jag använder som exempel kommer från SVTPlay och heter film.mp4. De kodar vanligtvis sitt ljud i MP4A-format. Eftersom detta är samma format som vår färdiga mobilfilm kommer att använda, så kan vi välja att kopiera ljudströmmen istället för att koda om den. Ljudkvaliteten blir då oerhört mycket bättre, men eftersom 128k tar större plats än 96k, så måste videokvaliteten göras sämre (99.5k) om vi ska hålla oss till 100 MB/h. Jag kommer att demonstrera bägge varianterna.

  3. Nu ska vi bestämma våra rörliga parametrar. Vi har en film i 16:9-format och vill ha stereoljud i 96k. Då blir det så här:
    • Aspect ratio: -aspect 16:9
    • Video resolution: -s 428x240
    • Video bitrate: -b 131.5k
    • Video framerate: -r 15
    • Audio channels: -ac 2
    • Audio bitrate: -ab 96k
    Vill vi däremot bara kopiera den ursprungliga ljudströmmen, som ju låg på höga 128k istället för bara 96k, så byter vi videokvalitet och kan strunta i sådant som rör ljudkvalitet:

    • Aspect ratio: -aspect 16:9
    • Video resolution: -s 428x240
    • Video bitrate: -b 99.5k
    • Video framerate: -r 15

    Nu är det dags att göra bruk av parametrarna.

  4. Det går att få bättre kvalitet och mera exakt filstorlek genom att koda filmen två gånger, istället för bara en. Det tar dock dubbelt så lång tid. Vill du snabba på, så hoppa över det här steget. Annars sätter vi FFmpeg att göra en provkodning av filmen och spara statistik i ett par loggfiler. Här är trollformeln för att göra detta i Unix-liknande system:

    $ ffmpeg -i "film".mp4 -an -f mp4 -y -vcodec libx264 -flags +loop+mv4 -cmp 256 -partitions +parti4x4+parti8x8+partp4x4+partp8x8 -subq 7 -trellis 1 -refs 5 -bf 0 -flags2 +mixed_refs -coder 0 -me_range 16 -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -qmin 10 -qmax 51 -qdiff 4 \
    -b 131.5k -aspect 16:9 -s 428x240 -r 15 \
    -acodec aac -ar 44100 -ab 96k -ac 2 \
    -pass 1 /dev/null

    Backslash markerar radbrytningar som inte behövs. Om du använder Windows måste du ta bort dem, både backslasharna och radbrytningarna. Dessutom måste du ersätta /dev/null med NUL.
    Om vi istället för att omkoda ljudet bara ska kopiera det, så ska näst sista raden ändras från -acodec aac -ar 44100 -ab 96k -ac 2 till bara -acodec copy, och så måste förstås -b 131.5k på raden före ändras till -b 99.5k. Ett Windows-exempel utan radmatningar:

    $ ffmpeg -i "film".mp4 -an -f mp4 -y -vcodec libx264 -flags +loop+mv4 -cmp 256 -partitions +parti4x4+parti8x8+partp4x4+partp8x8 -subq 7 -trellis 1 -refs 5 -bf 0 -flags2 +mixed_refs -coder 0 -me_range 16 -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -qmin 10 -qmax 51 -qdiff 4 -b 99.5k -aspect 16:9 -s 428x240 -r 15 -acodec copy -pass 1 NUL

  5. Nu är det dags att koda själva filen. Vi bestämmer oss för att den ska heta telefonfilm.mp4. Kommandona ska se likadana ut i Windows som i andra operativsystem, såvitt jag vet. Om du inte hoppade över det föregående steget ska du göra så här:

    ffmpeg -i "film".mp4 -vcodec libx264 -flags +loop+mv4 -cmp 256 -partitions +parti4x4+parti8x8+partp4x4+partp8x8+partb8x8 -subq 7 -trellis 1 -refs 5 -bf 0 -flags2 +mixed_refs -coder 0 -me_range 16 -g 250 -keyint_min 25 -sc_threshold 40-i_qfactor 0.71 -qmin 10 -qmax 51 -qdiff 4 -b 131.5k -aspect 16:9 -s 428x240 -r 15 -acodec aac -ar 44100 -ab 96k -ac 2 -pass 2 "telefonfilm".mp4

    Om du däremot hoppade över det, så tar du bort -pass 2 från slutet.
    Och valde du att kopiera ljudströmmen istället för att koda om den, så blir det så här:

    ffmpeg -i "film".mp4 -vcodec libx264 -flags +loop+mv4 -cmp 256 -partitions +parti4x4+parti8x8+partp4x4+partp8x8+partb8x8 -subq 7 -trellis 1 -refs 5 -bf 0 -flags2 +mixed_refs -coder 0 -me_range 16 -g 250 -keyint_min 25 -sc_threshold 40-i_qfactor 0.71 -qmin 10 -qmax 51 -qdiff 4 -b 99.5k -aspect 16:9 -s 428x240 -r 15 -acodec copy -pass 2 "telefonfilm".mp4

    Även här gäller att -pass 2 ska bort om du hoppade över det förra steget.
Nu är filmen klar. Resultatet finns i filen telefonfilm.mp4.

Andra MB/h

Om du vill ha riktigt små filmer, bara 50 MB/h, så kan du försöka dig på en upplösning om 120 i y-ledden, alltså 160x120 för 4:3 eller 214x120 för 16:9. Använd 17.75k som video bitrate och 96k för ljudet, eller 49.75k för videon och 64k för ljudet om du tycker bilden blir för dålig. Detta är uträknat så här:

17,75 + 96 = 49,75 + 64 = 113,75

Du kan givetvis försöka med någon annan kombination. Huvudsaken är att summan är 113,75.

För 75 MB/h är 106.5k lämplig videokvalitet till 64k på ljudet. Till ljud på 96k gäller 74.6k för video. Upplösningen bör vara 160 på y-ledden, vilket innebär 286x160 för 16:9, eller 208x156 (!) för 4:3.

För 150 MB/h gäller 360 på y-ledden, alltså 480x360 (4:3) eller 642x360 (16:9). En duglig kompromiss mellan ljud och bild är 213k för video och 128k för ljudet. Om bildkvaliteten är viktigast så kan du försöka dig på 245k för video och 96k för ljud. Konserter och sådant är bäst med 149k för video och 192k för ljud.

Till sist kan man koda i 200 MB/h, och därmed toppa de vanligaste pekskärmsmobilernas upplösning med 480 på y-ledden. Använd upplösningen 640x480 för 4:3. Om telefonen har en FWVGA-skärm (till exempel X10) så är 854x480 bra till 16:9, men har den bara en WVGA-skärm (som Galaxy S) så är det bättre med 800x450. Kompromisskvalitet får du med 327k video och 128k ljud. Bäst blir bilden med 359k video och 96k ljud, medan ljudet blir bäst med 263k video och 192k ljud.

Ännu bättre kvalitet är förstås möjlig. För 250 MB/h ska summan av ljud och video vara 568,75k, och för 500 MB/h är summan givetvis den dubbla: 1137,5k. Till upplösning kan du i bägge fallen använda samma som för 200 MB/h. 500 MB/h är för övrigt en sådan kvalitet att det är nästintill meningslöst att använda något annat än 192k ljud och 945.5k video. Eller ja, är du helt galen så kan du ju använda 320k ljud på 817.5k video. ;-)

Nu har jag säkert tryck- eller räknefelat någonstans i de snårigare partierna. Får du problem så löser det sig kanske i kommentarfältet.

Så, några frågor?