Ru-Board.club
← Вернуться в раздел «Программы»

» Media Player Classic - Home Cinema (MPC-HC)

Автор: T2008
Дата сообщения: 05.05.2013 11:55
Aleksoid1978

mkv - воспроизводится без проблем
flv - некоторые воспроизводятся, некоторые нет
ts - воспроизводится (но таких у меня всего 2 файла)

KLite Codec Pack - не установлен
Может, с какой-то программой кодеки установились...
Как понять, какой именно файл декодера используется при проигрывании конкретного видеофайла??
Автор: meupv
Дата сообщения: 05.05.2013 12:07
T2008
Через graphstudio можно посмотреть
Автор: T2008
Дата сообщения: 05.05.2013 12:24
meupv

Ну покажет она какие в системе кодеки стоят, но кто сказал что МРС-НС их будет использовать? Откуда, какая-то стороння утилита (типа GraphStudio) знает что МРС-НС будет использовать для проигрывания??? Думаю, если средствами МРС-НС это не посмотреть, то больше никак.
Автор: meupv
Дата сообщения: 05.05.2013 13:05
T2008
Глянь при воспроизведении видео, какие фильтры используются, и посмотри какие файлы им соответствуют, через GraphStudio или regedit
PS граф по системным меритам, по идее, не должен отличаться
PPS Даже при отключенных внутренних фильтрах MPC-HC их юзает(c пометкой low merit))))))))))
Автор: szl
Дата сообщения: 05.05.2013 14:54

Цитата:
Нужно понять, как собирается МРС-ВЕ, в отличие от МРС-НС - так как в ВЕ этой проблемы нет (процесс быстро выгружается). На 99% код НС и ВЕ идентичен

T2008, тут дело не только в сборке, код BE и HC в настоящий момент давольно таки сильно отличаются. В ВЕ все базовые сплитеры переписаны с лучшей оптимизацией в работе с различными форматами, и они могут гораздо больше, чем их аналоги из HC. Это же коснулось и базовых декодеров, оптимизация лучше (переписан код), и они понимают больше форматов. Встроенный граф то же изменен.
Автор: V0lt
Дата сообщения: 05.05.2013 15:05
T2008
Проблема либо в MPC AVI Splitter, либо MPC Audio Decoder. Что бы понять что именно, надо отключать каждого по отдельности.
Сначала надо снять галку с AVI, потом с MPEG Audio, и напоследок снять обе эти галки. Проверить отключение фильтра можно, глянув в список активных фильтров.

Думаю, тупит буфер данных.
Автор: Aleksoid1978
Дата сообщения: 05.05.2013 15:41
T2008

Как посмотреть фильтры - во время проигрывания : правая кнопка мыши->Фильтры - и скрин выложить, все просто
Автор: terenty79
Дата сообщения: 05.05.2013 15:44
странные дела однако. когда смотрю через mpc-hc mkv файл на встроенном декодере, загрузка проца почти 100%. процессор athlonxp 2400, видеокарта gf6600. выводится через vmr9, в цветовое пространство YUY2. когда же смотриш этот же файл, через лите версию MPC-HC, и вместо встроенных используется декодер ffdshow, и сплитер lav, то внезапно загрузка цп выше 50% не подымается. правда ffdshow показывает вывод через NV12. почему вдруг такая разница.
Автор: T2008
Дата сообщения: 05.05.2013 22:22
V0lt
Aleksoid1978

Ребята, спасибо, проблема локализована!
Если в Вид/Настройки/Встроенные фильтры - Фильтры источников снять галочку с "AVI" (самый верхний пункт) - то задержка на завершение процесса исчезает, точнее с 3 секунд уменьшается до 0.5 секунд. Снятие галочки с MPEG Audio на задержку не влияет. Манипуляцию с установкой/снятием галочки с "AVI" проделал раз 10 - всё четко, задержка связана с этим пунктом. Причём когда завершается процесс с 3 секундной задержкой, то в "Диспетчере задач" можно наблюдать как монотонно уменьшаются показания используемой ОЗУ. Типа очень медленно освобождается выделенная память.
Вообщем считаю проблема локализована, но как её устранить???
Автор: V0lt
Дата сообщения: 05.05.2013 23:12
T2008
Возможно эти билды будут лучше:
mpc-hc-7156.x86_avi1000.7z
mpc-hc-7156.x86_avi100.7z
mpc-hc-7156.x86_avi10.7z
или что-нибудь еще поломается
Автор: T2008
Дата сообщения: 06.05.2013 00:13
mpc-hc-7156.x86_avi10.7z - Теперь процесс всегда завершается быстро,
но 1й файл (который закрывался 3 секунды) - показуется кадр и дальше не воспроизводится, при прокрутке ползунком, показуются следующие кадры, но воспроизведение не идёт, стоит на одном кадре и всё.
А 2й файл (который закрывался 0.5 секунды) - воспроизводится без проблем.

mpc-hc-7156.x86_avi100.7z, mpc-hc-7156.x86_avi1000.7z - точно тоже самое, что и mpc-hc-7156.x86_avi10.7z
Автор: V0lt
Дата сообщения: 06.05.2013 05:08
T2008

Цитата:
но 1й файл (который закрывался 3 секунды) - показуется кадр и дальше не воспроизводится, при прокрутке ползунком, показуются следующие кадры, но воспроизведение не идёт, стоит на одном кадре и всё.

Залей куда-нибудь этот файл посмотреть.

Добавлено:
PS: Сегодня в 7157 сделали небольшую правку
Fix: MPC-HC was sometimes slow to close (audio kept playing for a few seconds).
The wrong overloaded function was called when closing the media after 0615b15.
This commit fixes #3113.

Но это скорее всего какой-то другой баг лечится.
Брать тут.
Автор: GuitarFan
Дата сообщения: 06.05.2013 08:17
В моем плеере временами пропадает звук, картинку продолжает показывать. Но если я попробую перемотать куда-то - и картинка зависает. Кодеки уже переустанавливал. Ставил сразу x64, потом удалил и поставил какой-то другой, потому что MPC не появился первый раз. В общем переустановки не помогли, удалял вручную драйвера - при следующем входе в систему они сами установились и тоже не помогло.
Автор: T2008
Дата сообщения: 06.05.2013 13:24
V0lt

Установил версию 1.6.8.7157 (9c5bdfe) - разницы по задержке нет. Это правится глюк, не связанный с тем, что я наблюдаю.

Видео, в котором на тестовых сборках отображался кадр и воспроизведение не шло закачал сюда (55МБ) http://zalil.ru/34487213
На обычных версиях он воспроизводится без проблем.

Как же быть с этой 3 секундной задержкой и почему в МРС-ВЕ её нет, может подсмотреть как там реализовано или взять нужный компонент оттуда??
Автор: terenty79
Дата сообщения: 06.05.2013 19:28
я покопался немного в исходниках ffmpeg, в часности в ассемблерных файлах, для декодирования h264. там активно юзаются только MMX, SSE2, и в 10 битном варианте есть немного AVX. а коды xvid похоже c 2001 вообще не особо ковыряли, так как там вообще один mmx только. не SSE1, SSE3, SSSE3, ни SSE4-4A, и уж тем более 3dnes совершенно не используются. а между тем например в исходниках mpg123 всё это хозяйство задействоно, именно в ассемблерном варианте. почему так получается? в ffmeg надеются на чудесную способность GCC генерировать оптимизированный код, или просто все уже на аппаратный декодинг перешли, и на софтварные оптимизации забили?
Автор: V0lt
Дата сообщения: 06.05.2013 21:34
T2008

Цитата:
Как же быть с этой 3 секундной задержкой и почему в МРС-ВЕ её нет, может подсмотреть как там реализовано или взять нужный компонент оттуда??

Не все так просто. Помимо изменений AViSplitter в MPC-BE так же сильно изменен BaseSplitter. Мне пока непонятно в чем затык.
Автор: T2008
Дата сообщения: 06.05.2013 21:45
V0lt

А почему на тестовых сборках тот файл не воспроизводился?
Хотя задержки при закрытии в них не было. В чём были изменения, если не секрет.
Автор: V0lt
Дата сообщения: 06.05.2013 21:52
T2008
В тех сборках я уменьшал максимальное количество пакетов в "буфере" (MAXPACKETS_AVI). Думал поможет. Но как оказалось, MPC-BE с тем же количеством пакетов работает нормально.
Автор: T2008
Дата сообщения: 06.05.2013 22:04
V0lt
Как бы не получилось, но с изменённым параметров - задержка исчезла.
А чем хитёр тот файл, почему он себя так ведёт при проигрывании?
Автор: V0lt
Дата сообщения: 07.05.2013 17:53
T2008

Цитата:
А чем хитёр тот файл, почему он себя так ведёт при проигрывании?

Изучил файл. В нем плохо реализовано чередование видео и аудио.
Отключи опцию "Поддержка плохочередующихся файлов" в настройках встроенного AVI-сплиттера.
В MPC-BE эта опция отключена по умолчанию.
Автор: T2008
Дата сообщения: 07.05.2013 18:22
V0lt

Если в внутреннем фильтре АVI снимаю галочку "Поддержка плохочередующихся файлов" то задержка при закрытии уменьшается - место поиска проблемы ещё сузилось.
Хочу понять чем тот режим отличается, кстати даже со снятой галочкой файл воспроизводится вроде без проблем. Ещё огромная разница по занятию ОЗУ при воспроизведении этого файла. Галочка снята - процесс МРС-НС занимает 17МБ ОЗУ. Галочка установлена - аж 70 МБ ОЗУ. Почему такая разница???
Автор: V0lt
Дата сообщения: 07.05.2013 18:39
T2008

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

Если файл "плохочередующийся" и стоит эта галка, то встроенный сплиттер не подцепится. Подцепится либо системный либо внешний.

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

Старые версии предупреждали доставучим окошком в начале воспроизведения. Современные лишь пишут подсказку при наведении на AVI в списке встроенных фильтров.
Автор: T2008
Дата сообщения: 07.05.2013 19:31
Кстати, если при закрытии окна МРС-НС, пока не исчез процесс из памяти, быстро переключиться на другое окно, т.е. сделать его активным, то в 50-80% случаев (ну почти всегда) процесс МРС-НС зависает навечно, уже не завершаясь даже за 3 секунды. В итоге, получаем зависший процесс занимающий в ОЗУ около 16...18 МБ памяти.
Короче глюк ещё более локализовался - при закрытии процесса МРС-НС нельзя переводить фокус на другое окно - это приводит к зависанию процесса.

Видите какие вы счастливые, у вас МРС-НС завершается за пол-секунды, поэтому даже не подозреваете что таит в себе эта задержка. А когда я за 3 секунды успеваю потыцать везде, так находится куча глюков.

Добавил:
Ха, я тут посчёлкал, так МРС-НС почти всегда зависает и не важно запустил я новое видео или нет, достаточно просто кликнуть по окне Тотал Коммандера, чтобы процесс завис. А уже после двойного клика на файле запускается второй процесс, который естественно работать уже не может, так как первый уже завис просто от клика по окну Тотала. Вот такая история ребята... Надо смотреть как МРС-НС завершает свой процесс и почему ему так не нравится перевод фокуса не другое окно.
Автор: V0lt
Дата сообщения: 07.05.2013 20:25
T2008

Цитата:
Кстати, если при закрытии окна МРС-НС, пока не исчез процесс из памяти, быстро переключиться на другое окно, т.е. сделать его активным, то в 50-80% случаев (ну почти всегда) процесс МРС-НС зависает навечно, уже не завершаясь даже за 3 секунды.

У меня не получилось воспроизвести.
Автор: T2008
Дата сообщения: 07.05.2013 21:45
V0lt

Делаю так - открываю ТС, разворачиваю на весь экран, перехожу в каталог с видео, выбираю проблемные файлы с которыми МРС-НС выгружается особо долго (типа "01-Утомленные солнцем (Сочи).avi").
Запускаю "Диспетчер задач" (контрл+альт+дел), включаю в свойствах отображение поверх всех окон и высокую скорость обновления, сдвигаю в угол, чтобы не мешал кликать по видео. Далее... Двойной клик ЛКМ по проблемному видеофайлу, запустился МРС-НС, пошло воспроизведение. Кликаю на "крестик" закрывая МРС-НС, окно плеера исчезает сразу (но процесс ещё висит) быстро кликаю мышкой по Диспетчеру задач. Далее 2 секундный тупняк, в "Диспетчере" ничего видимого не происходит... Через 2 секунды, память занимаемая МРС-НС резко уменьшается с 70-80 МБ до 16-18 МБ и всё получили зависший процесс... Вот этот процесс в 16-18 МБ может теперь там бесконечно долго висеть, пока вручную не кильнёшь. Если плеер завершает свой процесс быстро (за 0.5 секунды), то воспроизвести этот глюк маловероятно.
После небольшой тренировки, этот глюк я воспроизвожу в 9 случаях из 10!!!
Автор: Aleksoid1978
Дата сообщения: 08.05.2013 01:32
Проверил я эту авишку "01-Утомленные солнцем (Сочи).avi" в HC/BE на встроенных сплиттерах, все открывается быстро, хотя да - на моих системах врят-ли какие-либо задержки можно заметить, особенно на .AVI
Автор: T2008
Дата сообщения: 08.05.2013 08:05
Aleksoid1978

Вы упустили самое основное, всё открывается быстро и прекрасно проигрывается, фишка в том, что не всё ЗАКРЫВАЕТСЯ быстро!!!
Есть глюк в том, что определённые файлы закрываются очень долго (у меня до 3 секунд). Если во время закрытия плеера, кликнуть по любому другому окну (сделать другое окно активным), то плеер виснет - окно не отображается, а процесс висит.
Я уверен, что в коде программы есть некорректность, где-то при завершении процесса происходит вызов какой-то функции, получение хендла и ещё что-то активного процесса (окна МРС-НС), а поскольку фокус переведён на другое окно - то плеер зависает.
Проверил на других ПК, ситуация не повторяется. Видимо мой Семпрон 1.8 ГГц крайне тупой процессор (или медленно работает с ОЗУ). На Пентиуме 1.8 ГГц - процесс завершается мгновеенно (за 0.5с).
Есть ещё разбарахоленный старый ПК в районе Селерона 1.2ГГц, попробую его сегодня собрать и потестировать.
Автор: Aleksoid1978
Дата сообщения: 08.05.2013 08:15
T2008

Да - я перепутал, у меня и закрытие моментально. Я думаю все здесь присутствующие понимают - что отловить такой "баг" ... практически нереально.

P.S. Хотя нет, подтверждаю, что на этом файле закрытие со встроенным AVISplitter происходит дольше, так что возможно я смогу понять из-за чего это, и может быть даже исправить
Автор: sergeo78
Дата сообщения: 08.05.2013 18:48
соберите пожалуйста, если можно, плеер без ключей sse, в проекте msvc2010 и gcc. чтоб только mmx и x87 было. и в маке файле оптимизацию под p3 замените на pentium pro, а ещё лучше вообще на простой пентиум.
Автор: T2008
Дата сообщения: 08.05.2013 21:09
Aleksoid1978
V0lt

Сегодня удалось протестировать работу МРС-НС на Селероне 1000 МГц. Задержка при закрытии плеера значительно меньше (не понимаю почему), хотя Селерон 1ГГц процессор слабее, чем мой Семпрон 1.8ГГц. Всё-же, вышеупомянутую проблему с зависанием процесса при переключении окна на закрывающемся МРС-НС я тоже получил!!! Из 10 проверок, зависанием процесса закончились 2. Потом ещё поклацал раз 30 и опять пару раз получил вис. Если на другое окно не переключаться - то зависания процесса не бывает. Поведение точно такое-же, занимаемая процессом память уменьшается с 75-90МБ до 17МБ и на этом значении виснет.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196

Предыдущая тема: Opera (часть 21)


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.