HDTV + mplayer = тормоза

Имеется машинка: P4 1.8, 1Gb памяти, видео GF5700LE (проприетарные
дрова). Всё собрано с максимальной оптимизацией флаги
получены подбором с помощью програмки (название забыл):

CFLAGS="-march=pentium4 -Os -fomit-frame-pointer -fgcse -ftracer -fgcse-lm"

emerge -pv mplayer:

media-video/mplayer-1.0.20070622-r1 USE="X a52 aac aalib alsa bidi bl
cddb cdparanoia cpudetection custom-cflags dga directfb dts dv dvb dvd
dvdnav enca encode fbcon ftp ggi gif gtk iconv jpeg libcaca lirc live
lzo mad mmx mmxext mp3 musepack nas openal opengl oss png quicktime
radio rar real rtc samba sdl speex srt sse sse2 svga tga theora tivo
truetype v4l v4l2 vidix vorbis win32codecs x264 xanim xinerama xv xvid
zoran -3dnow -3dnowext (-altivec) -amrnb -amrwb -arts -bindist -debug
-doc -esd -ipv6 -ivtv -jack -joystick -livecd -md5sum -mp2 -pnm
-ssse3 -unicode -xvmc" VIDEO_CARDS="vesa -mga -s3virge -tdfx"

emerge -pv nvidia-drivers

x11-drivers/nvidia-drivers-1.0.9755-r1

Проблема такая, что при просмотре hdtv фильмов наблюдаются жуткие
тормоза, выпадения кадров и рассинхронизация звука. Вопрос такой, это
нормально для моего железа или же проблема в софте, если последнее, то
что делать?!

Заранее спасибо!!!

у мну

у мну также
потому вместо сабжа пользую xine

начинаем

начинаем раскопки )

что за хдтв?
потому что HDTV HDTV-у рознь. это вам не название кодека или что-то подобное. это скорее похоже на контейнер, где внутри может скрываться от 1920 на 1080 (60i) до на 2 раза меньше по всем направлениям.

и в зависимости от качества картинки результат на подобных машинах будет совершенно разный

$ mplayer Крепкий\

$ mplayer Крепкий\ орешек\ 3.mkv
MPlayer dev-SVN-rUNKNOWN-4.1.2 (C) 2000-2007 MPlayer Team
CPU: Intel(R) Pentium(R) 4 CPU 1.80GHz (Family: 15, Model: 2, Stepping: 4)
CPUflags: MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
Скомпилировано для определения типа процессора во время выполнения.

Воспроизведение Крепкий орешек 3.mkv.
[mkv] ID дорожки 1: video (V_MPEG4/ISO/AVC), -vid 0
[mkv] ID дорожки 2: audio (A_AC3) "DD 5.1", -aid 0, -alang rus
[mkv] ID дорожки 3: audio (A_AC3) "DD 5.1", -aid 1, -alang eng
[mkv] Будет воспроизвоиться дорожка 1.
Обнаружен Matroska формат файла!
VIDEO: [avc1] 1280x720 24bpp 23.976 fps 0.0 kbps ( 0.0 kbyte/s)
==========================================================================
Открываю декодер видео: [ffmpeg] FFmpeg's libavcodec codec family
Выбран видеокодек: [ffh264] vfm: ffmpeg (FFmpeg H.264)
==========================================================================
==========================================================================
Открываю декодер аудио: [liba52] AC3 decoding with liba52
Using SSE optimized IMDCT transform
Using MMX optimized resampler
AUDIO: 48000 Hz, 2 ch, s16le, 448.0 kbit/29.17% (ratio: 56000->192000)
Выбран аудиокодек: [a52] afm: liba52 (AC3-liba52)
==========================================================================
AO: [oss] 48000Hz 2ch s16le (2 bytes per sample)
Начало воcпроизведения...
VDec: запрос vo config - 1280 x 720 (предпочтимое цветовое пространство: Planar YV12)
VDec: использую Planar YV12 в качестве выходного csp (не 0)
Movie-Aspect - 1.78:1 - премасштабирую для коррекции соотношения сторон фильма.
VO: [xv] 1280x720 => 1280x720 Planar YV12
A: 3.0 V: 2.3 A-V: 0.712 ct: 0.002 56/ 56 120% 7% 1.9% 50 0

сегодня утром в

сегодня утром в таком же качестве смотрел "ходячий замок хаула"
проц амд64 3000+ (1,8ГГц не разогнан) и геФорс6600гт (плюс 1 гиг памяти)
тормозов как в мплеере и специально поставленном ксине не нашёл. единственный глюк - это квадратики в меню xine, щас разбираюся/

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

большинство статей и обзоров на тему хдтв прямо говорят, что настройки, типа твоих (разве что видяха?..), подойдут как раз на этот размер. фуллХДТВ (если так можно сказать) начинаются от частот двух с половиной ГГц, ниже - слайдшоу

__
иЗвиНиТе зА НеРоВНый ПочЕРк!

У меня AthlonXP 1800

У меня AthlonXP 1800 (тактовая частота 1533мегагерца) и видеокарта GeForce4. xine и VLC на любом HD подтормаживают. Mplayer 1200Х720 тянет без выброса кадров(кодек xvid). но постобработку приходтсо отключать в обязательном порядке. Вот такие пироги.

Млин что же

Млин что же делать :((( Проц грузиццо на полную, такое ощущение что всё таки железо слабовато :(

Не будь ЭМО!

Не будь ЭМО! ссылку на файл дай (можно торрент). я гляну и отпишусь. ок?
пи.си. орех в таком качестве найден.
кстати, рекомендую http://torrents.ru/forum/viewtopic.php?t=305295&spmode=full#seeders

Да ореха я для

Да ореха я для примера взял, так на любом фильме :(

Для P4 1.8 вполне

Для P4 1.8 вполне нормально что тормозит 720р в avc1.
avc1 довольно ресурсоемкий кодек, да ещё и разрешение немалое. Попробуй посмотреть 720р зажатое xvid, возможно тормозить не будет.

Твои CFLAGS при сборке mplayer"а не раборают, можно было не указывать.

У меня есть другая проблема: почему mplayer загружает только одно ядро процессора?

> У меня есть

> У меня есть другая проблема: почему mplayer загружает только одно ядро процессора?

Потому что mplayer - однопоточный. :)

однопоточный.? :-(

Да не ожидал такого подвоха, но vlc и xine получается тоже однопоточные :-(
Это побороть нельзя? А то на AMD X2 3800+ иногда тормозит 1920х1080р H264.

тут в кодеках

тут в кодеках дело, а не в самом плеере. кодек либо поддерживает многопоточность, либо нет.

Хочу многопоточный mplayer

При желании, возможно и с однопоточным кодеком распаралеливать(такое слово бывает?) декодирование. Всё просто: создаётся два потока, каждый из которых декодирует определённый кусок файла, допустим 1с. Работает так: первый поток декодировал с 0с по 1с готовые данные буферизируются, в это же время второй поток декодирует интервал 1-2с. Всё, можно начинать показывать склеивая буферизированные данные с первого и второго потоков. Конечно лучше когда кодек сам будет этим заниматься, тогда можно достичь лучшей производительности и избежать не которых проблем.
Кроме того, раз уж mplayer не может распаралеливать декодирование видео ввиду ограничений кодеков(кстати почему всё кодеки однопоточные), то можно было хотя бы в отдельные потоки вынести постобработку, аудио, маштабированние. Это хоть и не очень сильно, но всё же облегчило участь второго ядра.

mplayer

mplayer действительно однопоточный, и как альтернативу используют MplayerXP, который является многопоточным

man mplayer

man mplayer пробовали читать?
-lavdopts
threads=<1-8> (MPEG-1/2 only)
number of threads to use for decoding (default: 1)

Не стыдно?

смотрите в

смотрите в сторону многонитевого форка MPlayerXP
http://mplayerxp.sourceforge.net/

А какое железо

А какое железо нужно что бы смотреть hdtv с самым высоким разрешением?!

пойми. все

пойми. все зависит не только от разрешения, но от кодека.
чтобы улучшить просмотр фильмов:
-cpudetection - этот флаг надо отключить. он заставляет определять поддерживаемые инструкции процессора каждый раз, как ты запускаешь плеер. Без него он просто будет врубать автоматом твой sse и sse2(этот флаг для бинарников, которые будут запускатся на разных процессорах)
Обязательно проверь, включен ли режим DMA для жестких дисков
hdparm /dev/hda

/dev/hda:
multcount = 16 (on)
IO_support = 1 (32-bit)
unmaskirq = 1 (on)
using_dma = 1 (on) -включен
keepsettings = 0 (off)
readonly = 0 (off)
readahead = 256 (on)
geometry = 30401/255/63, sectors = 488397168, start = 0

включен ли direct rendering:
glxinfo | grep direct

direct rendering: Yes
запусти gmplayer и в последней вкладке в настройках отключи постпроцессинг(постобработку видео).

Не в железе дело

хдтв нормально смотрелось без тормозов на атлон хп 1000+ и радеон 8500
весь секрет в том, что собрать с -O3 и аппаратным ускорением на видюхе(direct rendring)

dga : Adds DGA

dga : Adds DGA Support (Xfree86) (DGA=Direct Graphic Access)
?
Но dga вроде как давно устарело, или как?

не туда тебя

не туда тебя понесло.
glxinfo | grep direct
direct rendering: Yes

Только вот не

Только вот не надо ля-ля. Это вызывающе неверная информация

Чё то не вериться

Чё то не вериться.
Я конечно понимаю что у AMD Athlon XP производительность на мегагерц значительно выше чем у P4 1.8, но всё же P4 1.8 скорее всего немного быстрее. Кроме того, нет такого процессора AMD Athlon XP 1000+, самый младший это 1500+ (1300MHz).

Цитата:
весь секрет в том, что собрать с -O3 и аппаратным ускорением на видюхе(direct rendring)

mplayer ложил на твои -O3, он всё равно соберётся приблизительно с такой оптимизацией:
-Wdisabled-optimization -Wno-pointer-sign -Wdeclaration-after-statement -Wall -Wno-switch -Wpointer-arith -Wredundant-decls -O4 -march=твой_проц -mtune=твой_проц -pipe -ffast-math -fomit-frame-pointer

-vfm ffmpeg -lavdopts

-vfm ffmpeg -lavdopts lowres=1:fast:skiploopfilter=all
Возможно хватит -lavdopts skiploopfilter=all

Аналогичная проблема была. Комп: пенек 2600, 512МБ, GeForce 6600 - тормозит
Описанный способ мне помог.

Ура! Помогло :)У

Ура! Помогло :)
У меня тоже были траблы с рипами x264 1080p - тормозили на Pentium 4 2.8 ГГц. Сначала думал что проблемы с дровами видеокарты (юзаю mplayer с "-vo sdl" на встроенной i915), но mplayer с параметрами "-vfm ffmpeg -lavdopts lowres=1:fast:skiploopfilter=all" так сильно не тормозит (на динамичных сценах кадры дропаются, но в целом смотреть вполне можно). Так что выходит, что все-таки тормоза были в части декодирования видео процом.
Да, на Core 2 Duo 4300 таких проблем уже нет :)
Ghost99-у спасибо за совет

-framedrop -fps 25,976

Попробуй опцию -framedrop -fps 25,976 мне помогло

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
root@Antarctic $ emerge -av penguins

твоя видяха не поддерживает

твоя видяха не поддерживает хдтв, поэтому рендеринг ложиться на плечи слабого слабого процессора.
отсюда и тормоза. следовательно либо отказаться от хдтв и прочего что весит больше 1,4 гига, либо пробовать всякие --framedrop и прочие

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".