И всё же - про потребность в ресурсах при воспроизведении HQ-HD видео

alexkravchuk

Вот, откопал видео ролики с относительно большим разрешением, 1024*576 [60 кадров в секунду] (хотя если подумать, то не сильно больше dvd пытаюсь их смотреть. Система AthlonXP 1600 (1.4 Ghz GF4 MX420, ОС - FreeBSD, какого-либо значимого тюнинга не производилось. xine вообще вылетает, mplayer показывает раза в полтора-два медленнее, чем должно быть. Изначально mplayer был базовый из портов, потом скомпилировал из исходников (под процессор, соответственно) - ситуация принципиально не изменилась. Вопрос - дело скорее в ОС/драйверах, и нужно здесь копать, либо вообще компьютер слаб для такого видео - кто-нибудь на аналогичной машине смотрел такое видео на *nix/win? И существуют ли доки по оптимизации FreeBSD для просмотра видео?

vladan67

ты обалдел,?
1600 - это точто больше, чем надо... Видео 64 мб тож хватит..
оптимизацией ос занимайся

procenkotanya

У MPlayer'a надо правильно настроить метод вывода видео. Рулят *vidix, xv, xvmc (не знаю, есть ли они под *BSD gl с преобразованием цветового пространства на шейдерах (среди этих по скорости особенно рулит xvmc; насколько мне известно, в линуксе с нвидийными драйверами он работает, так что можешь попробовать).
Остальное заметно медленнее, так как преобразование цветового пространства выполняется на процессоре.

alexkravchuk

Ставлю опыты дальше, загрузился под Виндой 98. Она, впрочем, плохо настроена. Винда тормозит на этом файле ощутимо сильнее, чем mplayer. Проверил с набором кодеков и плеером от k-lite, BSPlayer, Windows Media Player. Последний скачал с microsoft'а кодек, но после этого дико тормозил. Прихожу к выводу, что дело в железе Я обращаю внимание, что это видео с высоким разрешением и качеством, выше, чем у DVD - 1024*576*60, битрейт 6 мегабит. Файлы класса 720*400*30 и битрейтом около 3 мегабит воспроизводятся без проблем.
Поэтому два вопроса:
Первый - к тем, кто игрался или пытался играться с HDTV-like на своих не самых мощных компьютерах. Получалось ли? И какие ограничения на битрейт/разрешение? Не важно, на какой операционной системе, интересует железо.
Второй: mplayer для файла использует кодек "Selected video codec: [wmv9dmo] vfm:dmo (Windows Media Video 9 DMO)". Есть ли какой-нибудь более быстрый аналог?
PS: Использовал vx - особой разницы нет. По-моему, mplayer вообще по умолчанию этот драйвер использует. Другие, как xvidix, сваливались (и из под root в том числе но здесь я, похоже, пока ещё не разобрался, что к чему.

juliuzz

под XP на Athlon XP 1800+ (реальные 1500 MHz) для h.264 файлов использую CoreAVCDecoder
почти всё играется без тормозов
кадр размером 1280x720
но как я понял у тебя WMV9
такую штуку (1280Х720) я пробовал играть на p4 2.4
шло без тормозов вообще
думаю основная твоя проблема в 60 кадрах в сек

ppplva

Что именно тормозит ? mplayer выдает время затраченное на декодирование и вывод с постпроцессингом, в процентах. Первые два числа сразу после количества кадров.

Viktory-s

[60 кадров в секунду]
А это не выводится как замедленное видео?
Например как видео летящей пули делают. Снимают с 1/1000, а потом при обычной кадровой частоте показывают. Выходит замедленно.
PS: Если я не ошибаюсь, то в mplayer можно указать частоту кадров?

juliuzz

неа
плеер выводит столько кадров, сколько прописано в заголовке файла
проблема в том, что декодер может не успевать так быстро раскодировывать

Viktory-s

Не, ну это понятно, но вот сколько там именно прописано?
Хотя более вероятно, что все же машина недотягивает.
Просто пусть посмотрит загрузку проца.

dgaf

может это 60 полукадров? т.е. 30 (29.97) fps interleaved\telecined

procenkotanya

Кодеки обычно в MPlayer'e хорошо настроены. Можешь попробовать -vfm ffmpeg, но раз уж он его не использует, наверно это не сработает. Можешь попробовать удалить codecs.conf, если он есть, чтобы MPlayer пользовался встроенным.
Можешь попробовать скачать и собрать новый MPlayer: svn co svn://svn.mplayerhq.hu/mplayer/trunk
Проверь, не является ли причиной "тормозов" принудительно включенный где-нибудь vsync (у меня это проявляется, так что на фильмах с большим fps, особенно 60, наверняка будет пропуск кадров).
Проанализируй информацию в status line
На будущее: чтобы MPlayer не показывал в n раз медленнее, а пропускал кадры, если не успевает, можно использовать опции -framedrop и -hardframedrop; если используются кодеки от ffmpeg, есть опции -lavdopts fast, -lavdopts lowres=*, -lavdopts skiploopfilter=* (последняя - для h264)

alexkravchuk

Спасибо всем за участие!
Да, пожалуй следовало сразу проверить, сколько там на чистую раскодировку уходит. Если запустить "mplayer -vo null -nosound", дабы отсечь всё ненужное, то со временем (как приоритет процесса увеличится) mplayer будет выдавать 80% загрузки, а загрузка по top при этом - 85-90%. При учёте того, что ещё нужно на экран выводить и звук раскодировать, шансов на нормальный просмотр нет, нужно или замену wmv9-декодеру искать, или перекодировать видео в другой формат (последнее - отдельная тема). Короче, наглядно убедился в том, что мой компьютер морально устарел, даже если в игрушки не играть.

ppplva

60 fps решают
Оставить комментарий
Имя или ник:
Комментарий: