SVTPlay-relayen kan nu ställa in kvalitet

Har fulhackat in i SVTGet nu så den genom HTTP förstår GET-variabeln “q” för att ställa in kvalitet, med högst egendefinierade kriterier:

@SVTGet now supports ?q={highest,high,medium,low,lowest,crap,flv} or bitrates ?q={2400,1400,850,320}. Default is medium, or 1400kbps.

Så om man vill ha högre kvalitet än standard så rekommenderar jag att lägga till “?q=highest” i slutet av svtget.se-urlen, vilket väljer högsta kvalitet tillgänglig. Som tidigare behöver man i övrigt bara byta ut “svtplay.se” till “svtget.se”, som i detta exempel för att se första avsnittet av SVTs julkalender:

mplayer http://svtget.se/v/2623121/julkalendern__tjuvarnas_jul/del_1_av_24?q=low

Nästa steg blir att se över rtmpgw’s källkod för att t.ex. webläsare etc. ska kunna mata in HTTP-offset på något sätt, vilket är en förutsättning för t.ex. HTML5-videoelementet. Hoppas det inte blir för mycket läsande av RTMP-specifikation och grejer.

Sedan vore det förstås även häftigt med en automagisk WebM-encoder i stil med ffmpeg så man inte behöver leverera MPEG-4 med de avskyvärda patentproblemen.

All källkod för relay-grejerna dyker upp på Github när jag ids. Huvudsakligen är det ingen mystik eller magi dock, och i vart fall inte särskilt väldokumenterat.

8 thoughts on “SVTPlay-relayen kan nu ställa in kvalitet”

  1. Endera dagen skall nog även jag få detta att fungera. Men tydligen inte just nu. :(

    Media Type 0:
    ————————–
    Unknown

    AM_MEDIA_TYPE:
    majortype: MEDIATYPE_Stream {E436EB83-524F-11CE-9F53-0020AF0BA770}
    subtype: Unknown GUID Name {F2FAC0F1-3852-4670-AAC0-9051D400AC54}
    formattype: TIME_FORMAT_NONE {00000000-0000-0000-0000-000000000000}
    bFixedSizeSamples: 1
    bTemporalCompression: 0
    lSampleSize: 1
    cbFormat: 0

    1. Björn Felten: Kan du ge lite mer info om vad du försöker med? Med vilken klient och url t.ex?

      Sedan kan det påpekas att felhanteringen inte är särskilt användarvänlig. Dels håller jag på att meka lite då och då, vilket gör att saker inte alls fungerar för nya sessinoer. Sedan kanske felmeddelanden inte presenteras särskilt fint av alla klienter.

      1. Javisst, Mikael.

        Jag försöker med VLC — där bara händer det absolut ingenting. Vare sig med hela din URL här ovan, eller med delen efter ?q borttagen.

        Med Mediaplayer Classic fungerar det inte heller, men där får jag i alla fall upp ovanstående felmeddelande när jag utelämnar ?q-delen — annars bara något om “can’t render the file” i nedersta raden (hur översätter man “bottom bar” i detta fall?).

        Och, jo, det hela sker i Windows XP SP3. Ubuntu har, som sagt, fixat så att jag inte kan komma vidare ifrån 10.4 — kanske en anledning till att Ubuntu gått ner från 11 till 4% på senaste året… :(

        1. Björn Felten: Det kan säkert vara ren otur också för dig. Jag har märkt att lighttpd av någon mystisk anledning säger internal server error på CGI-anrop, vilket den inte loggat (pga mina inställningar).

          Så det är väl mest en tidsfråga innan det fungerar vettigt. Pirateplay.se borde väl fungera tillsvidare i alla fall om du vill “spela in”.

  2. Mjukvarupatent är inte giltiga i EU, så om du inte flyttar din server till USA kan du lugnt skippa recodern.

    1. Fredrik: handlar snarare om att man vill uppmärksamma fria format framför slutna skräplicensierade sådana.

      + att t.ex. Mozilla Firefox inte stöder MPEG-4 av just anledningen mjukvarupatent, så för att främja fria webläsare ser jag det som en skyldighet för mig som förespråkare att leverera fria format när jag kan.

  3. Hejsan.
    Har i veckan noterat att de verkar testa nytt på svtplay. Senaste avsnittet av “Danne&Bleckan” innehåller en url till en Flash Media Manifest-fil istället för rtmp-urlar av det vanliga slaget, så där går svtget bet. (Det finns ett “/test/” med i url:en, men det kanske är nåt de tänker gå över till generellt). En effekt är också att svtplays spelare inte låter en välja kvalitet manuellt.

Leave a Reply

Your email address will not be published. Required fields are marked *