Lenny’s GStreamer plays Asao

I just discovered that Lenny’s GStreamer plays Nellymoser’s flash audio without any difficulty. This is awesome and definitely so much easier than with Ubuntu Hardy. Back then I had to convert such FLVs’ audio tracks into MP3 using ffmpeg built from source.

Video pyörii Totemissa nykien

Lähtökohta
Minulla on matroska-säiliöön kääritty videotiedosto, testi.mkv, joka sisältää x264:llä pakatun kuvasignaalin eikä mitään äänisignaalia. Pakettienhallinnassa gstreamer0.10-ffmpeg on asennettuna. Avaan videotiedoston sen oletustoistimella, Totem-elokuvasoittimella. Totemin ikkuna avautuu ja video alkaa pyöriä.
Ongelma
Videon toisto on nykivää tai hidastetun näköistä. Videon tapahtumat pysyvät oikeassa ajassa, mutta on kuin joka toinen tai sitäkin useampi kuva jätettäisiin näyttämättä niin että videon näkyvä kuvataajuus on melkein puolet oikeasta.
Ongelman syy
Gstreamer-ffmpegissä on ohjelmavirhe, jonka takia H264-pakkausmenetelmää käyttävien videoiden toisto on nykivää.
Ratkaisu
Ratkaisua ei vielä ole. Gstreamer-ffmpegiin on tehty päivitys, jossa ongelma on ainakin osittain korjattu, mutta päivityksen sisältävää versiota ei vielä löydy pakettivarastosta.
Ongelman voi kiertää osittain asentamalla vlc-paketin ja käyttämällä sen jälkeen H264:llä pakattujen videoiden katseluun Sovellukset → Ääni & video -valikosta löytyvää VLC media playeria. Sen jälkeen videoiden toisto hidastelee ainoastaan leikkauskohdissa.

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.

Joidenkin QuickTime-videoiden ääni pätkii GStreamerilla (Totemilla) toistettaessa

Lähtökohta
Olen ladannut 12.2.2008 ilmestyneen jakson Rocketboom -ohjelmasta (37,7 Mt:n videotiedosto). Synaptic-pakettienhallinnassa totem, totem-gstreamer ja gstreamer0.10-ffmpeg on asennettu.
Ongelma
Kun avaan videotiedoston Totem-elokuvasoittimella ja käynnistän sen toiston, ääni kuulostaa samalta kuin äänilevytallenteen toisto kuulostaa silloin, kun levy pyörii hieman liian hitaasti: ääni on matalampi kuin sen pitäisi olla. Muutaman sekunnin välein ääni myös hyppää yli lyhyen matkaa. Haluan, että ääni toistuu tarkoitetun korkuisena eikä hyppelehdi.
Ongelman syy
Äänen mataluus johtuu siitä, että ääniraita, jonka oikea näytteenottotaajuus on 48000 Hz, soitetaan Totemissa ikään kuin sen taajuus olisi 44100 Hz.

Hyppelehtiminen johtuu luultavasti siitä, että ääni synkronoidaan kuvan kanssa muutaman sekunnin välein, ja liian hitaasti pyörivä ääni jää muutamassa sekunnissa selvästi jälkeen normaalinopeudella pyörivästä kuvasta.

Ratkaisu
Ratkaisua ei vielä ole, mutta ongelman voi kiertää Rocketboomin kohdalla tilaamalla videot WMV-muodossa. WMV-muotoisina Rocketboom-videot vaikuttaisivat toimivan niin kuin pitääkin.

Lisäksi ohjelmasta on tarjolla HD-laatuinen syöte. HD-laatuisten videoiden ääni toimii oikein, mutta omalla koneellani kuva nykii hieman, arvatenkin riittämättömän suoritintehon takia.

Huomautus
Olen ladannut samana päivänä ilmestyneen jakson Meet the GIMP -ohjelmasta (22,4 Mt:n videotiedosto). Kun toistan Meet the GIMP -videon Totemilla, se pyörii oikein. Komento mplayer -frames 1 -ao null -vo null -identify meetthegimp032.mp4 kertoo videosta seuraavaa:

Quicktime/MOV file format detected.
ID_VIDEO_ID=0
ID_AUDIO_ID=1
VIDEO:  [mp4v]  640x480  24bpp  25.000 fps    0.0 kbps ( 0.0 kbyte/s)
ID_FILENAME=meetthegimp032.mp4
ID_DEMUXER=mov
ID_VIDEO_FORMAT=mp4v
ID_VIDEO_BITRATE=0
ID_VIDEO_WIDTH=640
ID_VIDEO_HEIGHT=480
ID_VIDEO_FPS=25.000
ID_VIDEO_ASPECT=0.0000
ID_AUDIO_FORMAT=mp4a
ID_AUDIO_BITRATE=0
ID_AUDIO_RATE=44100
ID_AUDIO_NCH=2
ID_LENGTH=1199.88
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffodivx] vfm: ffmpeg (FFmpeg MPEG-4)
==========================================================================
ID_VIDEO_CODEC=ffodivx
==========================================================================
Forced audio codec: mad
Opening audio decoder: [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)
ID_AUDIO_BITRATE=128000
ID_AUDIO_RATE=44100
ID_AUDIO_NCH=2
Selected audio codec: [faad] afm: faad (FAAD AAC (MPEG-2/MPEG-4 Audio) decoder)
==========================================================================
AO: [null] 44100Hz 2ch s16le (2 bytes per sample)
ID_AUDIO_CODEC=faad
Starting playback...
VDec: vo config request - 640 x 480 (preferred colorspace: Planar YV12)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1.33:1 - prescaling to correct movie aspect.
ID_VIDEO_ASPECT=1.3333
VO: [null] 640x480 => 640x480 Planar YV12
A:   0.0 V:   0.0 A-V:  0.030 ct:  0.000   1/  1 ??% ??% ??,?% 0 0 

Komento mplayer -frames 1 -ao null -vo null -identify rb_08_feb_12.mov kertoo Rocketboom-videosta seuraavaa:

ISO: File Type Major Brand: Original QuickTime
Quicktime/MOV file format detected.
ID_AUDIO_ID=0
ID_VIDEO_ID=1
VIDEO:  [mp4v]  480x270  24bpp  23.976 fps    0.0 kbps ( 0.0 kbyte/s)
ID_FILENAME=rb_08_feb_12.mov
ID_DEMUXER=mov
ID_VIDEO_FORMAT=mp4v
ID_VIDEO_BITRATE=0
ID_VIDEO_WIDTH=480
ID_VIDEO_HEIGHT=270
ID_VIDEO_FPS=23.976
ID_VIDEO_ASPECT=0.0000
ID_AUDIO_FORMAT=mp4a
ID_AUDIO_BITRATE=64000
ID_AUDIO_RATE=48000
ID_AUDIO_NCH=1
ID_LENGTH=297.92
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffodivx] vfm: ffmpeg (FFmpeg MPEG-4)
==========================================================================
ID_VIDEO_CODEC=ffodivx
==========================================================================
Forced audio codec: mad
Opening audio decoder: [faad] AAC (MPEG2/4 Advanced Audio Coding)
AUDIO: 48000 Hz, 2 ch, s16le, 64.0 kbit/4.17% (ratio: 8000->192000)
ID_AUDIO_BITRATE=64000
ID_AUDIO_RATE=48000
ID_AUDIO_NCH=2
Selected audio codec: [faad] afm: faad (FAAD AAC (MPEG-2/MPEG-4 Audio) decoder)
==========================================================================
AO: [null] 48000Hz 2ch s16le (2 bytes per sample)
ID_AUDIO_CODEC=faad
Starting playback...
VDec: vo config request - 480 x 270 (preferred colorspace: Planar YV12)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.
ID_VIDEO_ASPECT=1.7778
VO: [null] 480x270 => 480x270 Planar YV12
A:   0.1 V:   0.0 A-V:  0.021 ct:  0.002   2/  2 ??% ??% ??,?% 0 0

Väärän näytetaajuuden käyttö Totemissa käy ilmi, kun videon pyöriessä ohjelmassa valitsen Elokuva-valikosta Ominaisuudet: Sivupalkkiin avautuvien tietojen Ääni-osiossa Näytetaajuudeksi ilmoitetaan 44100 Hz. Mplayer, jonka mukaan siis ääniraidan taajuus on 48000 Hz, toistaa ääniraidan oikein.

Miro can't play this file

Lähtökohta
Olen lisännyt Participatory Culture Foundationin pakettivaraston Synaptic-pakettienhallinnan pakettivarastoihin ja asentanut sieltä uusimman Miro Internet TV:n. Olen asettanut Miron Asetukset-ikkunan Toisto-välilehdeltä kohdan Toista videot peräkkäin valituksi.
Olen lisännyt /apps/miro/renderers -asetusavaimen listaan arvon gstrenderer, eli Miro toistaa nyt videot käyttäen samoja ohjelmistorutiineja kuin Totem-elokuvasoitin.
Olen tilannut Miroon kanavia, ja Miro on ladannut kanavilta uusia videoita. Otan Mirossa esille uusien, ladattujen videoiden näkymän ja aloitan videoiden pyörityksen käynnistämällä listan ensimmäisen videon.
Ongelma
Videon vaihtuessa, eli edellisen videon loputtua Miro ilmoittaa uuden videon kohdalla Miro can't play this file. You may be able to open it with a different program. Näin ei tapahdu joka kerta vaan (näennäisen) satunnaisesti. Haluan, että Miro toistaa videon virheilmoituksen antamisen sijasta.
Ongelman syy
Ei vielä tiedossa.
Ratkaisu
Ratkaisua ei vielä ole, mutta ongelman voi kiertää kahdella eri tavalla.

  • Palaan Mirossa uusien videoiden näkymään ja aloitan vidoiden pyörityksen tällä kertaa käynnistämällä ensimmäisenä äsken ongelmaan liittyneen videon. Se pyörii nyt normaalisti.
  • Virheilmoituksen yhteydessä on REVEAL FILE -linkki, jonka valittuani Miro avaa videotiedostokansionäkymän. Jos haen kansionäkymästä Mirossa ongelmaan liittyneen videon, avaan ja pyöritän sen Totem-elokuvasoittimella, se toimii normaalisti.
Huomautuksia
  • Ongelma ilmeni edellisen Miron päivityksen jälkeen. Päivitin silloin miro– ja miro-data -paketit versiosta 1.1.1-3 versioon 1.1.2-0pcf1. Ennen päivitystä ongelmaa ei ollut.
  • Miron foorumeilta löysin yhden tätä virheilmoitusta käsitelleen viestisäikeen. Siinä käyttäjä oli onnistunut ratkaisemaan ongelman asentamalla Ubuntun päivityksiä. Omassa järjestelmässäni ongelman ilmenemisen jälkeen ilmestyneiden päivityksien asentaminen ei ole vaikuttanut ongelmaan.