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

» The KMPlayer (часть 4)

Автор: cuba65
Дата сообщения: 08.06.2013 14:25
haxdoe
Про снайперство - есть резон, ибо Вы в полноэкранном режиме умудряетесь оставлять курсор мыши на полосе времени оконного режима. Мне кажется, проще пользоваться Enter и для выхода из полного экрана тоже, а не щёлкать дважды мышь.
Автор: haxdoe
Дата сообщения: 08.06.2013 15:59
cuba65

Я написал о том, как самолично увидеть и понять, в чем заключается глюк, обычно я пользуюсь либо enter, но чаще двойным кликом левой кнопкой мыши, и иногда при выходе из полноэкранного, курсор случайно попадал на полосу прокрутки, что происходит я уже писал и дал пример того, как если кто хочет, может сам проверить, речь конечно же о последней версии, которой я естественно уже не пользуюсь.
Автор: zallen
Дата сообщения: 08.06.2013 16:52
YJ

Собрать то можно только нужно ли ?
Собирал одно время но создалось впечатление что это никому не интересно.
Проще самостоятельно подключить делов на 2 минуты.
Автор: YJ
Дата сообщения: 08.06.2013 22:10
zallen
Ну что ж, тогда будем пробовать подключить по инструкции.
Вот только бы не запутаться и ничего не напортить

Кстати, подскажите, пожалуйста, правильно ли я понимаю.
Если хранить настройки в ini файле и подключить LAV из папки KMP,
смогу ли я использовать такой готовый комплект с флешки на разных системах ?
Или "Диспетчер фильтров" является частью ОС и его настройки на другие пк не перенесуться ?
Автор: zallen
Дата сообщения: 09.06.2013 00:46
YJ

Да этот комплект будет вполне работоспособен хотя при первых запусках видео будут вылетать ругательства насчёт отсутствия dll. Но схема подключения будет не такой как в шапке. LAV должен лежать в папке с KMP, все три фильтра нужно подключить без регистрации как внешние (не как системные). Все три принудительно и должны быть задействованы на вкладках: входной фильтр, сплиттер, внешний видеодекодер, внешний аудиодекодер.
Автор: unreal666
Дата сообщения: 09.06.2013 03:48
и еще, после настройки и выхода из KMP надо будет в ini-файле изменить абсолютные пути на эти кодеки/сплиттеры на относительные.
Автор: YJ
Дата сообщения: 09.06.2013 15:03
zallen
Спасибо, вроде бы получилось.
В системном "Диспетчере фильтров..." ничего не изменял.
В "Диспетчере заказных фильтров" добавил внешние фильтры: LAVSplitter.ax, LAVVideo.ax. Поправил приоритеты.
"LAV Splitter Source" сам третьим подцепился. Это нормально ? Его можно удалить ?

Далее во "Встроенном видеодекодере" отключил Libcodec.
"Входной фильтр/сплиттер AVI" -> Системный.
Сплиттер -> Внешний декодер -> Добавить внешний кодек: выбрал LAVSplitter.ax, LAVVideo.ax, галочки проставил, где возможно выбрал "* LAV Splitter".
Снова третьим подцепился "LAV Splitter Source". Удалить ?

Во "Внешнем декодере видео" все выбрал "LAV video decoder".
Внешний аудиодекодер - тут ничего не изменял. Может что-то упустил здесь ?

"Настройки DVD" -> "Декодер MPEG2" по инструкции.

[more=Вот что получилось][no]
[Первичный Filtergraph]
0) - LAV Splitter Source
1) - KMP Audio Codec
2) - LAV Video Decoder
3) - KMP Audio Transform(Copy)
4) - Video Mixing Renderer9(Renderless)
5) - Default DirectSound Device
[/no][/more]
И да перед воспроизведением mkv(avc) получил ошибки об отсутствующих avformat-lav-55.dll и avutil-lav-52.dll .
Они у меня лежали рядом с LAV*.ax в KMPlayer\LAVFilters, чтобы обновлять легче было.
После того как закинул оттуда все *.dll в корень папки KMPlayer, он больше не ругается.


unreal666

Код:
path=str:X:\Portable\KMPlayer\LAVFilters\LAVSplitter.ax
path=str:X:\Portable\KMPlayer\LAVFilters\LAVVideo.ax
Автор: Victor_VG
Дата сообщения: 09.06.2013 16:01
YJ

Цитата:
Можно подробнее, как мне исправить эти пути на относительные.

Просто уберите в записи путей часть X:\Portable\ заменив эту запись на .\. Система это поймёт. То, что DLL вы положили рядом с KMPlayer.exe правильно - посмотрите что про это написано в статье Путь поиска, используемый Windows для обнаружения библиотеки DLL MSDN (Microsoft Developer Network). которую вы интуитивно использовали. Это и ответит вам на вопрос почему при помещении DLL в подкаталог выводится сообщение об ошибке.
Автор: 7sh3
Дата сообщения: 09.06.2013 16:47
Victor_VG

Цитата:
Это и ответит вам на вопрос почему при помещении DLL в подкаталог выводится сообщение об ошибке.

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


Автор: YJ
Дата сообщения: 09.06.2013 17:00
Victor_VG

Код:
path=str:.\KMPlayer\LAVFilters\LAVSplitter.ax
path=str:.\KMPlayer\LAVFilters\LAVVideo.ax
Автор: Victor_VG
Дата сообщения: 09.06.2013 17:19
7sh3

Цитата:
в любом другом плеере абсолютно пофигу где будут лежать файлы lav, а kmp конечно не кривой
какой нафиг msdn, причем здесь поиск, плеер уже знает где лежит ax файл, его уже указали в настройках плеера

Конечно MSDN не нужен - если строго соблюдать всё что там написано то и ругать будет нечего. Программа может и знает где лежит основной модуль фильтра, да только у системного загрузчика есть "баг" - нет зависимости по путям поиска модуля и он выводит сообщение об ошибке. А раз так, то это "КМР кривой", а не пользователь напортачил. Говорят иногда и думать стоит, а не ляпать первое что на язык попало.

YJ

Да, тут я не учёл, что не все программы допускают UNIX формат указания корневого каталога. Для многих других (в частности консольных) программ эта форма записи пройдёт. Спасибо за замечание. И второе что я не учёл - это лишний уровень вложенности - в данном случае да, указывать в записи пути \KMPlayer было ошибкой. Прошу прощения за неё.

Переменные среды в принципе использовать можно - их раскроет сама ОС при запуске приложения, и если что выведет сообщение об ошибке пути. Тут всё зависит от того, обрабатывают ли их использованные при сборке внешние библиотеки Delphy. Мне попадались программы которые с переменными среды в путях отказывались работать, но в большинстве случаев это работает без проблем.

Что касается перезаписи путей с относительных на полные в KMPCfg.ini то я опять же по аналогии с другими программами тут бага не вижу. Многие программы так делают для ускорения повторного запуска. Хотя я и особого смысла в этом так же не вижу.
Автор: YJ
Дата сообщения: 09.06.2013 18:24
Victor_VG
Благодарю за помощь, ведь правильное решение нашлось
Завтра смогу проверить на чистой системе. Думаю, будет порядок.

А на счет CaptureFolder хотелось, чтобы все было красиво, и KMP не перезаписывал вручную введенный путь:
"CaptureFolder=str:.\Capture\"
Пусть даже если я его и не использую. Ведь для "path=str:.\" все остается на месте.
Автор: 7sh3
Дата сообщения: 09.06.2013 18:39
Victor_VG

Цитата:
Говорят иногда и думать стоит, а не ляпать первое что на язык попало.

я вот не понимаю, вот мои сообщения, они у тебя как-то по-другому отображаются что ли?
чего тебе непонятно в этом тексте - в любом другом плеере абсолютно пофигу где будут лежать файлы lav ???
эта проблема исключительно kmp, какие системные загрузчики, какой msdn, чего ты мозги пудришь пользователям
Автор: Victor_VG
Дата сообщения: 09.06.2013 19:13
7sh3

Скажи честно - "Не царское это дело думать! КМР кривой - лично мне он не нравится, и потому я его ругаю!" и поймут.
Автор: 7sh3
Дата сообщения: 09.06.2013 19:36
Victor_VG

Цитата:
Скажи честно - "Не царское это дело думать! КМР кривой - лично мне он не нравится, и потому я его ругаю!" и поймут

я указываю на конкретные недостатки kmp, вот такие вещи как с внешними фильтрами и называются "кривизной", по этому факту есть что сказать?
Автор: Victor_VG
Дата сообщения: 09.06.2013 19:54
7sh3

Написать на Мантис что тебе мешает? Известна проблема - исправят, а так выходит только пустой шум. Вот и думай в чью он пользу....
Автор: 7sh3
Дата сообщения: 09.06.2013 20:19
Victor_VG

Цитата:
Написать на Мантис что тебе мешает?

вроде как ты у нас тут "разработчик", информация от пользователей получена, что мешает?

Цитата:
Известна проблема - исправят

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

Цитата:
а так выходит только пустой шум

да у тебя все "пустой шум" и "детские болезни", я же говорю прямо - "кривизна"
Автор: zallen
Дата сообщения: 09.06.2013 20:48
YJ

Libcodec можно не отключать.
LAV Splitter Source не нужен.
Системные пути к LAV компонентам переназначать не нужно, они должны просто находиться в папке KMP в отдельной папочке с именем например просто: LAV ...
Фразы типа "отсутствует avformat-lav-55.dll" появляются однократно при первом запуске AVI, при первом запуске MKV и т.д. При новых запусках KMP их уже не будет.
Автор: Victor_VG
Дата сообщения: 09.06.2013 21:29
7sh3

А кто громче всех шумит? Орёшь будто на ежа плюхнулся.

zallen

Не путай божий дар с яичницей. В системе есть строгие правила и их надо соблюдать. Если каталог не в пути или если относительный путь к нему не прописан в коде вызывающего модуля СООБЩНИЯ ОБ ОШИБКАХ ВСЕГДА ДОЛЖНЫ ВЫВОДИТСЯ. Это у 7sh3 то, что ему нравится прямое, а а всё остальное - кривое.

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

Без обид, но вы оба кроме самих себя давно никого не желаете слушать.
Автор: 7sh3
Дата сообщения: 09.06.2013 22:50
zallen

Цитата:
они должны просто находиться в папке KMP в отдельной папочке с именем например просто: LAV ...

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

Цитата:
Фразы типа "отсутствует avformat-lav-55.dll" появляются однократно

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

Victor_VG

Цитата:
А кто громче всех шумит? Орёшь будто на ежа плюхнулся.

т.е. тебе на kmp пофигу, да?

Цитата:
Я не собираюсь в стотысячный раз здесь копировать MSDN [?] - что для тебя, что для него это бесполезно - ведь вы всё равно документацию не читаете.

если бы ты еще понимал что копируешь
видео, суть проблемы - Desktop.LAV.Connect.mp4 (29.6 МБ)

Цитата:
начинаете молоть откровенную чепуху.

уж кто бы говорил
Автор: niels
Дата сообщения: 09.06.2013 23:04
7sh3

Цитата:
т.е. тебе на kmp пофигу, да?

до кого ты пытаешься достучаться?
ему хоть писай в глаза - все божья роса...
Автор: zallen
Дата сообщения: 10.06.2013 01:26
7sh3

Цитата:
он не регистрирует lav в системе, работать не будет, ему файлы только в папку с плеером и надеется, что на другой системе где он будет запускать не будет установлен lav c какими-нибудь кодек-паками, иначе будет твое однократное появление

Цитата:
на нормальной чистой системе появляться будет всегда, сам lav конечно работать не будет, однократно может появится если в системе есть еще один (другой) lav, зарегистрированный

Ничего подобного у себя не наблюдаю. LAV не установлен и не зарегистрирован. Система чистая. При перемещении папки с файлами KMP и находящейся там же папки с компонентами LAV из C:\Program Files (x86)\ в D:\ всё работает без изменения адреса LAV. LAV фильтры беспроблемно находятся и подключаются.


Victor_VG

Да Вы оказались правы . Безусловно как всегда. Если компоненты LAV разместить непосредственно в корневой папке KMP то сообщения типа "отсутствует avformat-lav-55.dll" не появляются ни при первом запуске, ни впоследствии. И при перемещении папки KMP на другой раздел LAV запускается без редактирования пути к нему.


batva, Widok

В каком столетии или тысячелетии мы дождёмся наконец что в этом топике будет наведён порядок ?
Автор: 7sh3
Дата сообщения: 10.06.2013 02:36
zallen

Цитата:
Ничего подобного у себя не наблюдаю. LAV не установлен и не зарегистрирован. Система чистая. При перемещении папки с файлами KMP и находящейся там же папки с компонентами LAV из C:\Program Files (x86)\ в D:\ всё работает без изменения адреса LAV. LAV фильтры беспроблемно находятся и подключаются.

т.е. ты не соблюдаешь собственную инструкцию где, повторяю который уже раз - lav тупо регистрируется в системе диспетчером системных фильтров kmp ? вот так просто напрямую подключаешь lav в папке без регистрации и он у тебя работает?
даже если тебе поверить то зачем спрашивается нужна эта инструкция?
видимо тебе тоже что-то не понятно в видео сделанном на действительно чистой системе, где windows понятия не имеет про lav, где в системных зарегистрированных фильтрах его просто нет
Автор: Victor_VG
Дата сообщения: 10.06.2013 03:01
zallen

Тут ответ простейший - программа вызывает динамическую библиотеку (DLL) у которой есть некая зависимость от других DLL и вне зависимости от того, какое "расширение" т.е. некий условный тип по области приенения им присвоено для удобства пользователей, библиотеки DLL собираются компилятором как единственный тип "динамически загружаеиая библиотека DLL".

И не важно как бы кто из людей не хотел иного, но любой компилятор для ОС от Microsoft может собрать только три базовых типа исполняемых модулей: динамически загружаемая библиотека содержащая набор процедур или ресурсов - DLL, исполняемый модуль содержащий основной код приложения и самое главное его точку входа MAIN куда системой передаётся управление при его загрузке в ОЗУ на исполнение - EXE и драйвер уровня ядра - SYS. Других типов исполняемых модулей архитектура ОС не предусматривает.

Библиотека DLL не может быть запущена на выполнение как самостоятельная программа поскольку у неё нет точки входа MAIN и потому она загружается системой только по запросу EXE модуля в только в его адресное пространство для выполнения содержащихся в ней функций и кроме того она может вызывать другие DLL как явно - они прописаны ТАБЛИЦЕ ИМПОРТА в её заголовке, так и неявно когда имя вызываемой библиотеки и вызываемая из неё функция динамически формируются при выполнении содержащегося в библиотеке кода.

Собственно что и имеет место - динамический вызов зависимостей. А раз он происходит согласно правилам MSDN то их надо соблюдать вне зависимости от того имеет ли приложение собственные инструменты для поиска зависимостей или использует только системные средства описанные в вышеуказанной статье MSDN. И прямым или кривым от их наличия/отсутствия оно не становится - стандарты ОС соблюдены? если ДА то вопрос закрыт вне зависимости от персональных пристрастий, НЕТ оформляем баг-репорт.

Что касается восхваляемых некоторыми иных плееров, то у них самих и своих проблем предостаточно, просто именно КМР выбран в качестве мешени, ну них для этого наверняка есть очень, очень, очень веские причины...
Автор: nuznaeteli
Дата сообщения: 10.06.2013 03:04
закрывайте топик этого конченного плеера
Автор: 7sh3
Дата сообщения: 10.06.2013 03:23
Victor_VG
видео специально для тебя было сделано где видно что плееру mpc-hc (как и любому другому нормальному плееру) абсолютно пофигу все твои копипасты про то как windows подключает .dll, это вообще не имеет отношения к данной конкретной проблеме, так что все опять мимо

Цитата:
И прямым или кривым от их наличия/отсутствия оно не становится

ну раз уж про lav то вот тебе еще одна кривизна kmp - в lav не работает dxva-native декодер c kmp, в любом другом плеере работает а вот в kmp не работает, что, опять msdn? стандарты os не соблюдены?

Цитата:
Что касается восхваляемых некоторыми иных плееров, то у них самих и своих проблем предостаточно, просто именно КМР выбран в качестве мешени, ну них для этого наверняка есть очень, очень, очень веские причины...




Автор: zallen
Дата сообщения: 10.06.2013 07:49
7sh3

Цитата:
вот так просто напрямую подключаешь lav в папке без регистрации и он у тебя работает?

Не верь глазам своим

Цитата:
ты не соблюдаешь собственную инструкцию где lav регистрируется в системе диспетчером системных фильтров kmp

Та инструкция не для переноса на другую систему.

Добавлено:
Если не задействован ffmpeg для предпросмотра то при подключении LAV без регистрации напрямую из корня KMP, почему то происходит падение плеера каждый раз при закрытии файлов MKV. Если ffmpeg задействован всё нормально. Если файлы LAV лежат также в корне KMP но в своей отдельной папке этого не происходит.
Автор: YJ
Дата сообщения: 10.06.2013 14:20
Ну что ж, проверил на чистой системе собранный комплект для флешки
Как и ожидалось, полный порядок.

zallen

Цитата:
LAV Splitter Source не нужен.

Убрал, вместо него стал Gabest Matroska Source.


Цитата:
Системные пути к LAV компонентам переназначать не нужно, они должны просто находиться в папке KMP в отдельной папочке с именем например просто: LAV ...

Все же оставлю относительные пути в ini, т.к. название диска флешки да и папка могут меняться.

7sh3

Цитата:
он не регистрирует lav в системе, работать не будет, ему файлы только в папку с плеером и надеется, что на другой системе где он будет запускать не будет установлен lav c какими-нибудь кодек-паками, иначе будет твое однократное появление

Если подключать в "Диспетчере заказных фильтров" как внешние фильтры и dll в корне папки KMPlayer, то что с кодек-паками, что на чистой системе, используются LAV из папки KMPlayer, ошибки не выскакивают, все работает как положено. Лично меня такой вариант полностью устраивает.
Автор: 7sh3
Дата сообщения: 10.06.2013 15:05
zallen

Цитата:
Не верь глазам своим

это может подтвердить любой пользователь повторив мои действия на видео, от тебя никаких доказательств кроме слов нет, и кто же тебе поверит?

Цитата:
Та инструкция не для переноса на другую систему.

а для чего она? и причем здесь перенос на другую систему

YJ

Цитата:
Если подключать в "Диспетчере заказных фильтров" как внешние фильтры и dll в корне папки KMPlayer, то что с кодек-паками, что на чистой системе, используются LAV из папки KMPlayer, ошибки не выскакивают, все работает как положено. Лично меня такой вариант полностью устраивает.

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


весь сыр бор из-за того что некоторые индивиды продолжают дальше нести чушь - они должны просто находиться в папке KMP в отдельной папочке с именем например просто: LAV ... не понимая что если lav не зарегистрирован в системе то так - в отдельной папочке он работать не будет, и эта проблема касается только kmp
Автор: graalen
Дата сообщения: 10.06.2013 17:11

Цитата:
Я не собираюсь в стотысячный раз здесь копировать MSDN

MOAR, MOAR COPYPASTE!

Если решили подключать внешние модули в обход ОС, то пусть делают это нормально или вообще не делают.
LOAD_WITH_ALTERED_SEARCH_PATH

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477

Предыдущая тема: SurfControl Web Filter не видит пользователей AD


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