Month: February 2008

  • [Ratkaisu] Kuvakoon korkeusulottuvuuden automaattinen määrääminen Mencoderia käytettäessä

    Lähtökohta
    Pakettienhallinnassa mencoder on asennettuna. Minulla on videotiedosto, jonka haluan uudelleenpakata Mencoderilla. Olen antanut Mencoderille muiden parametrien lisäksi joukon kuvankäsittelysuotimia, muiden muassa rajauksen (crop). Lisäksi suodinten joukossa on scale, jolla käsken Mencoderia muuttamaan videon kuvakokoa niin, että se on 640 pikselin levyinen. Korkeuden tulee olla jaollinen 16:lla, ja sellainen, että kuvasuhde on mahdollisimman lähellä alkuperäisen kuvan kuvasuhdetta rajauksen jälkeen.
    Ongelma
    Sopivan kuvakorkeuden laskeminen on turhan monimutkaista. Haluan, että Mencoder laskee korkeudelle sopivan lukuarvon automaattisesti.
    Ratkaisu
    Mencoder-komento, jonka avulla saan pakatun kuvan automaattisesti haluamaani kuvakokoon, on seuraavassa:

    mencoder testi.m2v \
    -vf pullup,softskip,crop=704:560:8:10,scale=640:-10 -nosound \
    -ovc x264 -x264encopts bitrate=1000 -of rawvideo -o testi.264

    Kuvankäsittelysuotimista scale=640:-10 -asetuksen jälkimmäinen arvo, -10 käskee Mencoderia laskemaan pystysuuntaisen resoluution siten, että lähtökohtana käytetään alkuperäisesestä rajatun kuvan kuvasuhdetta, ja että lopullinen arvo on 16:n monikerta. Tässä tapauksessa Mencoder laskee suoritettaessa sen arvoksi 352.

  • [Ratkaisu] Listaa kaikki libavcodecin tukemat pakkausmuodot

    Lähtökohta
    Pakettienhallinnassa ffmpeg on asennettuna. Haluan tietää mitä libavcodecin tukemia videon- ja äänenpakkausmuotoja voin käyttää pakkaamisessa.
    Ongelma
    En tiedä miten libavcodecin tukemat pakkausmuodot voisi selvittää.
    Ratkaisu
    Libavcodecin tukemat pakkausmuodot voi listata seuraavalla komennolla:

    ffmpeg -formats | less
  • [Ratkaisu] Kuva- ja äänisignaalin erottelu MPEG-tiedostosta

    Lähtökohta
    Minulla on testi.mpg -niminen videotiedosto. Olen ottanut selville, että video on MPEG-2 -muotoinen, ja että se sisältää M2V-muotoisen kuvasignaalin ja MP2-muotoisen äänisignaalin. Pakettienhallinnassa mplayer on asennettuna. Haluan erotella videon kuvasignaalin erilliseen M2V-muotoiseen tiedostoon, ja äänisignaalin erilliseen MP2-muotoiseen tiedostoon.
    Ongelma
    En tiedä miten MPEG-2 -muotoisen videotiedoston sisältämät signaalit voisi erotella alkuperäisestä tiedostosta erillisiin tiedostoihin.
    Ratkaisu
    M2V-signaalin voi erottaa MPEG-2 -muotoisesta, testi.mpg -nimisestä videosta seuraavalla komennolla:

    mplayer -dumpfile testi.m2v -dumpvideo testi.mpg

    Tämän komennon suorittamisen jälkeen minulla on alkuperäisen videotiedoston kanssa samassa hakemistossa uusi, testi.m2v -niminen tiedosto, joka sisältää pelkän kuvasignaalin alkuperäisestä videosta.

    MP2-signaalin voi erottaa MPEG-2 -muotoisesta, testi.mpg -nimisestä videosta seuraavalla komennolla:

    mplayer -dumpfile testi.mp2 -dumpaudio testi.mpg

    Tämän komennon suorittamisen jälkeen minulla on alkuperäisen videotiedoston kanssa samassa hakemistossa uusi, testi.mp2 -niminen tiedosto, joka sisältää pelkän äänisignaalin alkuperäisestä videosta.

  • [Ratkaisu] Kuinka MPEG-tiedoston sisältämät signaalityypit selvitetään?

    Lähtökohta
    Minulla on .mpg -päätteinen videotiedosto, testi.mpg. Pakettienhallinnassa ffmpeg on asennettuna. Haluan tietää mitä muotoa videotiedoston sisältämä kuva- ja äänivirta ovat.
    Ongelma
    En tiedä miten videotiedostoni sisältämän kuva- ja äänisignaalin muodon voisi selvittää.
    Ratkaisu
    Saan videotiedoston sisällöstä tietoja seuraavalla komennolla:

    ffmpeg -i testi.mpg

    Komennon antama tuloste kertoo muun muassa myös videotiedostoni kuvan ja äänen pakkausmuodon:

      Stream #0.0[0x1e0]: Video: mpeg2video, yuv420p, 720x576, 8400 kb/s, 25.00 fps(r)
      Stream #0.1[0x1c0]: Audio: mp2, 48000 Hz, stereo, 160 kb/s

    Videotiedostoni sisältää siis MPEG-2 PES -muotoisen kuvasignaalin ja MPEG-1 Audio Layer II -muotoisen äänisignaalin.

  • [Ratkaisu] Mihin MythTV:n tallennustiedostot menevät?

    Lähtökohta
    Olen asentanut MythTV:n onnistuneesti ja tallentanut sillä ohjelman. Haluan käsitellä tallennustiedostoa toisessa sovelluksessa.
    Ongelma
    En tiedä mihin MythTV on sijoittanut tallentamansa videotiedoston.
    Ratkaisu
    Oletusarvoisesti MythTV sijoittaa tallennustiedostot /var/lib/mythtv/recordings -hakemistoon.
  • [Ratkaisu] Listaa kaikki Mencoderin pakkauksen tukemat pakkausmuodot

    Lähtökohta
    Pakettienhallinnassa mencoder on asennettuna. Haluan tietää mitä videon- ja äänenpakkausmuotoja asennettu Mencoder pystyy käyttämään videoiden pakkaamiseen.
    Ongelma
    En tiedä miten Mencoderin tukemat pakkausmuodot voisi selvittää.
    Ratkaisu
    Äänenpakkauksessa käytettävissä olevat muodot saa selville seuraavalla komennolla:

    mencoder -oac help

    Videonpakkauksessa käytettävissä olevat muodot saa selville seuraavalla komennolla:

    mencoder -ovc help

    Näiden lisäksi käytettävissä olevat kuvan ja äänen säiliömuodot saa selville seuraavalla komennolla:

    mencoder -of help
    Huomautuksia
    • Mikäli tuettujen pakkausmuotojen joukossa on listattu lavc, tässä ratkaisussa annettujen komentojen antamien muiden muotojen lisäksi tuettuja ovat myös kaikki libavcodecin tukemat pakkausmuodot.
    • Niinkin suoraviivainen kuin tämä ratkaisu on, videonpakkausmuotojen listausparametrin löytäminen Googlella oli yllättävän vaikeaa, ja koska Mencoderin valtavan pitkällä ohjesivullakin se on listattu vasta rivillä 5187, sen löytäminen sieltäkään ei ole ihan triviaali tehtävä.
  • [Ratkaisu] Rytmilaatikko .nfo-tiedostosta: "Tiedoston MIME-tyyppiä ei voi tunnistaa"

    Lähtökohta
    Minulla on kansio, jossa on musiikkitiedostoja ja yksi .nfo -päätteinen tiedosto. Tuon kansion sisällön Rytmilaatikko-musiikkisoittimeen valitsemalla sen Musiikki-valikon Tuo kansio... -kohdan kautta avautuvassa kansiovalitsimessa.
    Ongelma
    Rytmilaatikon Sivupaneeliin ilmestyy Tuonnin virheet -kohta samannimisen näkymän merkiksi. Kun valitsen sen, näkymän Sijainti-kentässä on .nfo -päätteisen tiedoston hakemistopolku ja Virhe-kentässä ilmoitus Tiedoston MIME-tyyppiä ei voi tunnistaa. Haluan, että .nfo -päätteisen tiedoston MIME-tyyppi tunnistetaan, tai jos se ei ole mahdollista, haluan, että Rytmilaatikko ei ilmoita tuonnin aikana havaitsemistaan virheistä.
    Ongelman syy
    .nfo -päätteisten tiedostojen MIME-tyyppiä ei ole määritelty järjestelmän MIME-tyyppejä määrittelevissä tiedostoissa.
    Ratkaisu
    Lisään järjestelmään .nfo -päätteisille tiedostoille MIME-tyypin tunnistamiseen tarvittavat tiedot.

    1. Suljen Rytmilaatikon.
    2. Avaan oman MIME-tyyppejä määrittelevän tiedostoni seuraavalla komennolla:
      gedit ~/.local/share/mime/packages/Override.xml
    3. Etsin tiedostosta sen viimeisen rivin, joka näyttää seuraavalta:
      </mime-info>

      Lisään välittömästi sen yläpuolelle seuraavat rivit:

      <mime-type type="text/x-extension-nfo">
      	<comment>NFO-tiedosto</comment>
      	<glob pattern="*.nfo"/>
      </mime-type>
    4. Tallennan muutokset tiedostoon ja suljen tekstieditorin.

    Kun tämän jälkeen käynnistän Rytmilaatikon ja tuon siihen .nfo -tiedoston sisältävän kansion, Tuonnin virheet -kohdetta ei ilmesty Sivupaneeliin.

  • Kirjanmerkkisijainnit eivät toimi geditissä

    Lähtökohta
    Olen avannut gedit-tekstieditorin ja luonut siinä uuden HTML-asiakirjan. Painan Työkalupalkin Tallenna-nappia. Avautuvan tiedostovalitsimen Sijainnit-osiosta valitsen Asiakirjat-kirjanmerkin, jonka olen asettanut osoittamaan kotihakemistossani olevan Työpöytä-alihakemiston sisällä olevaan Asiakirjat-hakemistoon. Kirjoitan Nimi: -kenttään tiedostonimen testi.html ja valitsen Tallenna.
    Ongelma
    Tallennuksen jälkeen asiakirjani sisältävän välilehden otsikkona geditissä on Tallentamaton asiakirja 1 eikä tiedoston nimi, testi.html niin kuin pitäisi olla. Myös Asiakirjat-valikossa asiakirjani on listattu Tallentamaton asiakirja 1:nä sen oikean tiedostonimen sijasta.
    Jos nyt painan Tallenna-nappia uudestaan, gedit avaa taas tallennustiedostovalitsimen sen sijaan että se tallentaisi asiakirjan muutokset suoraan äsken tallennettuun tiedostoon kysymättä sen nimeä.
    Jos suljen asiakirjani ja avaan sen sitten valitsemalla testi.html -tiedoston avattavan tiedoston valitsimessa Asiakirjat-kirjanmerkin kautta, avautuva Tallentamaton asiakirja 1 -välilehti ei näytä asiakirjani sisältöä. Sen otsikon edessä olevan Gnome-jalan varpaat liikkuvat sen merkiksi, että tiedostoa avataan, ja hiiren osoitin on asiakirjan sisällön päälle vietynä pyörivä sekuntikello varattuna olemisen merkiksi. Välilehden voi kuitenkin sulkea.
    Ongelman syy
    Ei vielä tiedossa.
    Ratkaisu
    Ratkaisua ei vielä ole. Ongelman voi kiertää niin tallennettaessa kuin ladattaessakin hakeutumalla tiedostovalitsimessa Asiakirjat-hakemistoon kotihakemiston alla olevan Työpöytä-hakemiston kautta kirjanmerkin käyttämisen sijasta.
    Huomautuksia
    • Tiedoston tallentaminen onnistuu ongelmasta huolimatta, eli testi.html luodaan kyllä Asiakirjat-kansioon. Ongelma ilmenee siis vain sen jälkeen geditin tavassa käsitellä juuri tallennettua tiedostoa.
    • Olen kokeillut avaamista ja tallentamista kirjanmerkkisijaintien kautta samanlaisella tiedostovalitsimella geditin lisäksi Firefox-selaimessa ja GIMP-kuvienkäsittelyohjelmassa. Kummassakaan tätä ongelmaa ei ilmennyt missään kokeiluistani.
  • Koodin väritys -välilehteä ei ole geditin asetuksissa

    Lähtökohta
    Gedit-tekstieditorin ohjetiedosto /usr/share/gnome/help/gedit/C/gedit.xml viittaa geditin asetuksissa olevaan Syntax Highlighting Preferences– eli Koodin väritys -välilehteen, ja kertoo siellä olevasta Enable syntax highlighting– eli Koodin väritys käytössä -valitsimesta. Olen avannut geditin asetusikkunan valitsemalla Muokkaa-valikosta kohdan Asetukset. Haluan ottaa koodin värityksen tilapäisesti pois käytöstä.
    Ongelma
    Geditin asetukset -ikkunassa ei ole Koodin väritys -välilehteä. Välilehtiä on kaikkiaan neljä: Näytä, Muokkaa, Kirjasimet & Värit (sic) ja Liitännäiset. Millään välilehdistä ei ole valitsinta, jolla koodin värityksen saisi pois käytöstä.
    Ongelman syy
    Koodin väritys -välilehti on poistettu geditin asetuksista muotoiluratkaisun takia. Ohjetiedostossa on virhe, sillä sitä ei ole päivitetty heijastamaan tätä muutosta.
    Ratkaisu
    Ratkaisua ei vielä ole. Ongelman voi kiertää seuraavalla tavalla:

    1. Suljen geditin.
    2. Avaan Asetusten muokkaus -sovelluksen gconf-editor -komennolla.
    3. Otan käytössä-valinnan pois /apps/gedit-2/preferences/syntax_highlighting/enable -avaimesta.
    4. Suljen Asetusten muokkauksen.

    Kun tämän jälkeen käynnistän geditin, koodin väritys on pois käytöstä.

  • Flash-videoiden (FLV) kesto on väärä, kelaaminen ei toimi

    Lähtökohta
    Pakettienhallinnassa gstreamer0.10-fmpeg on asennettuna.
    Olen ladannut FLV-muotoisen flash-videotiedoston YouTubesta. Avaan videon Totem-elokuvasoittimella toistettavaksi ja valitsen Elokuva-valikosta kohdan Ominaisuudet, jolloin Totem-ikkunan oikeassa laidassa oleva sivupalkki näyttää videon tiedot.
    Ongelma
    Totem ilmoittaa videon ajalliseksi kestoksi 0 sekuntia, Ruutunopeudeksi 1000 kehystä per sekunti ja lisäksi tilarivi ilmoittaa, että meneillään on virtaustoisto. Mikään näistä tiedoista ei pidä paikkaansa.

    Jos tartun Aika: -liukusäätimeen ja yritän hakeutua videossa eteen- tai taaksepäin, liukusäädin hyppää videon alkuun ja videon toisto alkaa alusta.

    Ongelman syy
    Gstreamer-ffmpeg -ohjelmistossa on ohjelmavirhe, jonka takia videon kelaaminen ei ole mahdollista, eivätkä videosta annetut tiedot pidä paikkaansa.
    Ratkaisu
    Ratkaisua ei vielä ole. Ohjelmavirhe on korjattu gstreamer-ffmpeg -ohjelmiston päivityksessä, mutta päivitys ei vielä ole saatavilla pakettivarastosta. Ongelman voi kiertää asentamalla vlc– ja vlc-nox -paketin ja toistamalla flash-videon sen jälkeen Sovellukset → Ääni & video -valikosta löytyvällä VLC media playerilla.