Просмотр HD 1080p кино на слабых машинах

Предыстория.

Скачал на днях фильм Остров (тот, который про клонов). Смотрел я его еще в 2006-м году, когда купил пиратский диск (там оказался 700mb dvdrip с лицензионного dvd). Позже диск потерялся, а желание еще раз посмотреть этот замечательный фильм не отпало. Решил скачать с интернета.

Так как до этого посмотрел достаточно HD-фильмов, решил и этот скачать в высоком качестве. До этого 1080p не пробовал на своем компьютере, только 720p.

Проблема.

Итак, скачался фильм. Вот его технические данные:

Island (eng, rus).GELEODOR.mkv.
[mkv] Track ID 1: video (V_MPEG4/ISO/AVC) "Island", -vid 0
[mkv] Track ID 2: audio (A_AC3) "Dolby ac3 5.1 @ 384 kbps", -aid 0, -alang rus
[mkv] Track ID 3: audio (A_AC3) "Dolby ac3 5.1 @ 640 kbps", -aid 1, -alang eng
[mkv] Track ID 4: subtitles (S_TEXT/UTF8), -sid 0, -slang eng
VIDEO:  [avc1]  1920x800, 24bpp, 23.976 fps, 7337 kb/s (FFmpeg H.264)
AUDIO: 48000 Hz, 6 ch, s16le, 384.0 kbit (AC3)

И технические данные моего компьютера:

CPU: AMD Athlon(tm) XP 3200+ (Family: 6, Model: 10, Stepping: 0)
CPUflags:  MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 0
512mb RAM, Radeon 9200 128mb

Из этого следует, что все гигантское и тяжелое. Тяжелая артиллерия, епт. 🙂

Запустил я первый раз файл:

mplayer Island\ \(eng\,\ rus\).GELEODOR.mkv

Звук постепенно опережает картинку…

Решение.

Повтыкав немного ман и несколько доков в сети, попробовал использовать framedropping (кнопка D). Однако смотреть такое невозможно, так как mplayer ни с того ни с сего начинает сбрасывать все кадры подряд, поэтому придется вечно скакать взад-вперед, чтобы что-то увидеть. То есть, отбрасываем этот вариант.

По совету самого mplayer попробовал отключить кеширование потока. Делается это так:

mplayer -nocache ./file.ext

Однако, дела это не изменило (в результате — помогло, об этом ниже). Тогда решил опять последовать совету mplayer — использовать autosync:

mplayer -autosync int ./file.ext

где int — неотрицательное целое число (≥0). Пробовал разные значения (в первую очередь 30, которые предлагает mplayer). Остановился на 1, потому что он дает тот эффект, который нужен (что именно он делает, читайте тут:  man mplayer | grep autosync -A 6).

Конечно, стало намного лучше, но все еще картинка опаздывает. Возращаться к фреймдроппингу я ни за что возвращаться не решился, так что решил прибегнуть к хирургическим методам:

mplayer -lavdopts lowres=1:fast:skiploopfilter=all

то есть явно указываем кодеку, как декодировать видео (в этом примере — декодируем видео в размере ½, с оптимизацией и отрубаем деблокинг). Теперь полная строка запуска:

mplayer -nocache -vfm ffmpeg -lavdopts lowres=1:fast:skiploopfilter=all -autosync 1 ./file.ext

И, о, чудо! Заработало!

Конечно, теперь это не здоровая (на почти 2 моих монитора 17″) картинка, но зато чувствуешь, что не зря качал такой здоровый фильм (7gb).

Всем владельцам слабых машин удачного просмотра сильного кино! 😉

Реклама

  1. > CPU: AMD Athlon(tm) XP 3200+
    Я думал они уже вымерли 🙂 Думал тока у меня один экземпляр остался на старом компе 🙂

  2. Ну, у меня Barton 1.8 был при поставке. Я его догнал немного просто (до 2.2).

  3. zveramax

    А что вариант!

  4. Денис

    Пиздец это, а не оптимизация.
    Сделал 1080p/2=540 строк, то есть меньше DVD (576 строк). Скачал бы тогда DVD или 720p рип.

  5. У меня машина Sempron 2600+ 1.5Gb GF7600,
    т.е. проц еще попроще будет чем твой

    Но тем не менее я смог НОРМАЛЬНО посмотреть BladeRunner в точно таком же качестве от того же GELEODOR

    Рецепт:
    1. Настройки Haali Media splitter -> Input -> Input buffer size увеличил до 32768 (Мб???)
    Я без понятия, что это означает, но то, что даже незначительное изменение этого параметра сильно влияет на перформенс — факт
    2. Разгон проца до 2.6 ГГц (было 1.6ГГц)
    3. Может еще что забыл, но могу сказать определенно: покрутив настройки я смог увидеть 25 fps в HDTV-качестве

    PS: смотрел MediaPlayerClassic, тот что вместе с кодеками kLite
    PPS: немного из этой истории: http://www.gamedev.ru/flame/forum/?id=76473&page=2#21

  6. У мплеера проблема в том, что x264 по части производительности декодирования не фонтан, а чтобы заставить работать CoreAVC надо попотеть.
    Можно пустить видео через tcpmp, но там с титрами полный швах.

    Я еще добавляю -cache 512000 (0.5 гига), чтобы нагрузка на хард была минимальная.

    А за статью спасибо =)

  7. M1shake

    Блин, а MPlayer намного быстрее медиаплеераклассик работает. Даже специльно настроенный MPC медленнее, чем MPlayer… сам в шоке.
    Единственно не понял куда это вписывать:
    mplayer -nocache -vfm ffmpeg -lavdopts lowres=1:fast:skiploopfilter=all -autosync 1 ./file.ext ???

    Объясните дураку. И к этим командам еще что-то надо дописывать?

  8. eee

    Спасибо! Реально заработало с небольшим изменением (lowres=0)!




Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s



%d такие блоггеры, как: