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.