LINUX.ORG.RU

Тормозит mplayer


0

0

Симптомы такие:

Для MPEG4: Если включить вывод звука через ALSA, начинается едва заметное притормаживание раза 2-3 в секунду. Практически убралось когда указал вместо дефолтных значений звуковуху на hw=0,0. Но тем не менее, если вывод звука перенаправить на /dev/null, визуально тормоза вообще исчезают, следовательно тот трюк помог, но не до конца. Если вместо gmplayer заюзать фронтэнд smplayer, тот там как ни указывай звуковую систему, всё равно будут тормоза как и в случае дефолтных настроек без указания hw=0.0.

Для DVD: Бывает, помотаешь туда-сюда, а он как начнёт тормозить раз 3-5 в секуду, помогает разве что установить на паузу, подождать несколько секунд и опять пустить проигрываться. Как будто даёшь ему возможность заполнить там какие-то буферы.

Всё это читается с винта, DMA включено. Вполне возможно, что эти два случая никак не связаны между собой. Но всё равно странно - при воспроизведении нагрузка проца даже и близко не приближается к 50%. А притормаживает.

Собран с такими флагами:

media-video/mplayer-1.0_rc1-r2 USE="X aac alsa dts dvd dvdread encode esd gif gtk iconv jpeg mad mmx opengl png rtc sdl sse sse2 theora truetype unicode vorbis win32codecs x264 xv xvid -3dfx -3dnow -3dnowext -aalib (-altivec) -amr -arts -bidi -bindist -bl -cdparanoia -cpudetection -custom-cflags -debug -dga -directfb -doc -dv -dvb -enca -fbcon -ggi -ipv6 -jack -joystick -libcaca -lirc -live -livecd -lzo -matrox -mmxext -musepack -nas -openal -oss -real -samba -speex -svga -tga -v4l -v4l2 -xanim -xinerama -xvmc"

Ответ на: комментарий от Gharik

Зайбацу :-))

iostat -x
Linux 2.6.18-gentoo-r7 (home)   05.07.2007

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           2,79    0,00    0,97    0,51    0,00   95,74

Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
sda               0,05     0,00    0,01    0,00     0,06     0,00    10,39     0,00   19,15   3,11   0,00
sdb               0,43    13,92    2,69    3,11    68,62   136,27    35,32     0,12   20,67   2,12   1,23

==========

MPlayer 1.0rc1-4.1.2 (C) 2000-2006 MPlayer Team
CPU: Intel(R) Pentium(R) 4 CPU 3.00GHz (Family: 15, Model: 4, Stepping: 3)
CPUflags:  MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
Скомпилировано для x86 CPU со следующими расширениями: MMX MMX2 SSE SSE2
xscreensaver_disable: Не могу найти окно XScreenSaver'а.
[GUI] Добавляю видеофильтр: pp

Воспроизведение /home/lexa/Video/Lost 3/Lost - 3x08 - Flashes Before Your Eyes.avi.

Обнаружен AVI формат файла!
VIDEO:  [XVID]  608x336  24bpp  23,976 fps  1013,5 kbps (123,7 kbyte/s)
Информация о клипе:
 Software: cant touch this
SUB: Detected subtitle file format: subviewer
SUB: Read 563 subtitles.
СУБТИТРЫ: добавлен файл субтитров (1): /home/lexa/Video/Lost 3/Lost - 3x08 - Flashes Before Your Eyes.srt
xscreensaver_disable: Не могу найти окно XScreenSaver'а.
Открываю видео фильтр: [pp]
==========================================================================
Попытка форсировать семейство видеокодеков no...
Открываю декодер видео: [ffmpeg] FFmpeg's libavcodec codec family
Выбран видеокодек: [ffodivx] vfm: ffmpeg (FFmpeg MPEG-4)
==========================================================================
[PP] Использую внешний фильтр постобработки, max q = 6.
==========================================================================
Открываю декодер аудио: [mp3lib] MPEG layer-2, layer-3
AUDIO: 48000 Hz, 2 ch, s16le, 128,0 kbit/8,33% (ratio: 16000->192000)
Выбран аудиокодек: [mp3] afm: mp3lib (mp3lib MPEG layer-2, layer-3)
==========================================================================
AO: [alsa] 48000Hz 2ch s16le (2 bytes per sample)
Начало воcпроизведения...
VDec: запрос vo config - 608 x 336 (предпочтимое цветовое пространство: Planar YV12)
[PP] Использую внешний фильтр постобработки, max q = 6.
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect - 1,81:1 - премасштабирую для коррекции соотношения сторон фильма.
VO: [xv] 608x336 => 608x336 Planar YV12 

==========

Тормозит даже когда винт не используется, когда первые мегабайты видео из кэша берутся.

Zaibatsu
() автор топика
Ответ на: комментарий от Zaibatsu

Сам кэш включен, звуковушка кошерная с аппаратным микшером и на приличном чипе, что аппаратно занимается передискретизацией в 44100 (или прозрачно гонит на выход в 48000Гц)?

gharik@darkstar ~ $ cat .mplayer/gui.conf | grep cache
cache = "yes"
cache_size = "65535"

Gharik
()
Ответ на: комментарий от Gharik

Кэш включен, гонял туда-сюда размер и вообще отключал - не помогает.

Звуковушка встроенная - чё-то там Realtek High Definition Audio.

Zaibatsu
() автор топика

Выкладывай конфиг, у тя тормоза IMHO связаны с pp (неграмотным пользованием оного) + autosync + framedrop.... в общем возможен вагон вариантов. Если при -nosound тормозов нет - то играй с autosync-ом (ставь равным 100). Для начала оставь в config-е:

vo=xv
ao=oss
autosync=0
dr="yes"
monitoraspect=width:height
double="yes"
framedrop="yes"

sda00 ★★★
()

Проблему решил таким способом: переконфигурил в который раз звуковуху alsaconf'ом, уж не помню чё на этот раз там было, но тормоза при использовании alsa исчезли окончательно. Разве что во фронтэнде smplayer они как были, так и остались, даже если указать в настройках вместо просто alsa - alsa:device=hw=0.0 (которое я юзаю в gmplayer'е) - не помогает, похоже прога пока ещё только развивается.

Но возникла другая мысль - может где-то в конфиге alsa можно указать, что дефолтная звуковуха - это та самая, hw=0.0, которая, а не непойми что?

Zaibatsu
() автор топика
Ответ на: комментарий от sda00

> и зачем простите cpudetection?

Да походу не в этом проблема, а где-то в связке проги с аудио, или же в самой alsa. Проц-то практически не грузится, хоть десяток копий программы запускай.

Zaibatsu
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.