MPC-BE forum

MPC-BE => Баг Репорт / The bug report => Архив / Archive => Тема начата: Evgeniy1990 от 20 февраля 2016, 12:42:52

Название: WMV3 проигрывание - рывки и пропуски кадров [Исправлено]
Отправлено: Evgeniy1990 от 20 февраля 2016, 12:42:52
Во время воспроизведения этого видео файла: https://yadi.sk/d/e4wQ0x3mpAeTf в софте, а также и в режимах DXVA1/DXVA2, наблюдаются рывки (с самого начала) и, как следствие, - пропуски кадров во время его воспроизведения.
Название: WMV3 проигрывание - рывки и пропуски кадров [Исправлено]
Отправлено: V0lt от 20 февраля 2016, 13:08:38
Старая проблема WM ASF Reader и EVR Custom.
Отключить опцию VSync (который по умолчанию отключен) и сразу нормально становиться.
Название: WMV3 проигрывание - рывки и пропуски кадров [Исправлено]
Отправлено: Evgeniy1990 от 20 февраля 2016, 13:20:18
Цитата: V0ltСтарая проблема WM ASF Reader и EVR Custom.
Отключить опцию VSync (который по умолчанию отключен) и сразу нормально становиться.
1. Тут скорее всего проблема в нашем "MPC Video Decoder", поскольку на системном EVR та же проблема.
2. VSync  у меня отключен по умолчанию, я его не включаю и не пользуюсь им.

в "MPC-HC" данный видео файл воспроизводится нормально на EVR-рендерерах, как в софте, так и в DXVA-режимах.
[merge_posts_bbcode]Добавлено: 2016-02-20 13:20:18[/merge_posts_bbcode]

Интересно то, что:

1. в MPC-HC, при использовании LAV Video Decoder + EVR Custom - этот видео файл воспроизводится нормально.
2. в MPC-BE, при использовании LAV Video Decoder + EVR Custom - этот видео файл воспроизводится плохо, с рывками.

Получается что дело не в видео декодерах, или даже видео-рендерерах, а в самом MPC-BE, поскольку даже на VMR-рендерерах он воспроизводится также плохо с рывками и пропусками кадров.
Название: WMV3 проигрывание - рывки и пропуски кадров [Исправлено]
Отправлено: V0lt от 20 февраля 2016, 13:34:15
Win7Sp1 x64, MPC-BE 1195 x64, GTX950, монитор 71..72 Гц.

LAV Splitter Source -> MPC Video Decoder -> EVR Custom (VSync = откл) - норм
LAV Splitter Source -> MPC Video Decoder -> EVR Custom (VSync = вкл) - норм
WM ASF Reader -> MPC Video Decoder -> EVR Custom (VSync = откл) - норм
WM ASF Reader -> MPC Video Decoder -> EVR Custom (VSync = вкл) - плохо
WM ASF Reader -> MPC Video Decoder -> EVR - норм
Название: WMV3 проигрывание - рывки и пропуски кадров [Исправлено]
Отправлено: Evgeniy1990 от 21 февраля 2016, 00:28:32
Цитата: V0ltWin7Sp1 x64, MPC-BE 1195 x64, GTX950, монитор 71..72 Гц.

LAV Splitter Source -> MPC Video Decoder -> EVR Custom (VSync = откл) - норм
LAV Splitter Source -> MPC Video Decoder -> EVR Custom (VSync = вкл) - норм
WM ASF Reader -> MPC Video Decoder -> EVR Custom (VSync = откл) - норм
WM ASF Reader -> MPC Video Decoder -> EVR Custom (VSync = вкл) - плохо
WM ASF Reader -> MPC Video Decoder -> EVR - норм

Я проверил пока на XP и на Windows 10.

Тест: MPC-BE 1.4.6.1188-beta, GTX 650Ti, монитор 75 Гц, Windows 10 Treshold 2:

LAV Splitter Source + MPC Video Decoder + EVR Custom (VSync - выкл.) - плохо
LAV Splitter Source + MPC Video Decoder + EVR Custom (VSync - вкл.) - плохо
LAV Splitter Source + MPC Video Decoder + EVR System - плохо

WM ASF Reader + MPC Video Decoder + EVR Custom (VSync - выкл.) - плохо
WM ASF Reader + MPC Video Decoder + EVR Custom (VSync - вкл.) -плохо
WM ASF Reader + MPC Video Decoder + EVR System- плохо

LAV Splitter Source + LAV Video Decoder + EVR Custom (VSync - выкл.) - плохо
LAV Splitter Source + LAV Video Decoder + EVR Custom (VSync - вкл.) - плохо
LAV Splitter Source + LAV Video Decoder + EVR System - плохо

WM ASF Reader + LAV Video Decoder + EVR Custom (VSync - выкл.) - плохо
WM ASF Reader + LAV Video Decoder + EVR Custom (VSync - вкл.) -плохо
WM ASF Reader + LAV Video Decoder + EVR System- плохо

Т.е. при любой конфигурации связок фильтров в MPC-BE, этот видео файл воспроизводится плохо с рывками и пропусками кадров.

Аналогично и на XP, только на VMR-рендерерах.

А вот в MPC-HC, при любой конфигурации связок фильтров, этот видео файл воспроизводится нормально.

Аналогично и на XP, только на VMR-рендерерах.
[merge_posts_bbcode]Добавлено: 2016-02-20 17:10:05[/merge_posts_bbcode]

V0lt, я проверил этот видео файл на Windows 7, x64.

На данной операционной системе, только в случае с включенной VSync, при наличии WM ASF Reader, наблюдаются рывки, черный экран и пропуски кадров во время воспроизведения, в остальных случаях он воспроизводится нормально.

WM ASF Reader -> MPC Video Decoder -> EVR Custom (VSync - вкл) - плохо

LAV Splitter Source -> MPC Video Decoder -> EVR Custom (VSync = откл) - нормально
LAV Splitter Source -> MPC Video Decoder -> EVR Custom (VSync = вкл) - нормально
LAV Splitter Source -> MPC Video Decoder -> EVR Системный - нормально

WM ASF Reader -> MPC Video Decoder -> EVR Custom (VSync = откл) - нормально
WM ASF Reader -> MPC Video Decoder -> EVR Системный - нормально

Мда, очень странно, что на Windows 10 вообще, при любых связках, этот видео файл воспроизводится плохо, несмотря на то, что я проверяю на одной машине, на одном и том же железе.

Надо будет перепроверить его еще раз внимательно на Windows XP и Windows 8.1.

[merge_posts_bbcode]Добавлено: 2016-02-21 00:28:32[/merge_posts_bbcode]

Проверил поведение данного видео файла на Windows 8.1 - также плохо во всех случаях, как и на Windows 10.
Название: WMV3 проигрывание - рывки и пропуски кадров [Исправлено]
Отправлено: Aleksoid1978 от 22 февраля 2016, 06:01:44
Такая проблема в связке с WM ASF Reader,  так что лучше использовать LAV Source для этого дела.
Название: WMV3 проигрывание - рывки и пропуски кадров [Исправлено]
Отправлено: Evgeniy1990 от 22 февраля 2016, 09:37:09
Цитата: Aleksoid1978Такая проблема в связке с WM ASF Reader,  так что лучше использовать LAV Source для этого дела.
Да, я уже понял это, но как быть на других операционных системах?

Еще раз повторюсь, что на всех операционных системах, за исключением Windows 7, во всех случаях, т.е. при любых связках различных фильтров, во время воспроизведения, наблюдаются рывки и пропуски кадров.

Windows XP - рывки в середине и ближе к концу воспроизведения.
Windows 8.1 - рывки и пропуски кадров с самого начала воспроизведения.
Windows 10 - аналогично, как и на Windows 8.1 - рывки и пропуски кадров с самого начала воспроизведения.
Название: WMV3 проигрывание - рывки и пропуски кадров [Исправлено]
Отправлено: Aleksoid1978 от 22 февраля 2016, 09:49:01
А при чем здесь операционная система - просто не используем WM ASF Reader.
Название: WMV3 проигрывание - рывки и пропуски кадров [Исправлено]
Отправлено: V0lt от 22 февраля 2016, 09:56:44
Цитата: Evgeniy1990Да, я уже понял это, но как быть на других операционных системах?
Такое либо смотреть на WMP, либо перепаковать в матрешку.
ffmpeg -i file.wmv -vcodec copy -acodec copy file.mkv
Название: WMV3 проигрывание - рывки и пропуски кадров [Исправлено]
Отправлено: Evgeniy1990 от 22 февраля 2016, 10:09:53
Цитата: Aleksoid1978А при чем здесь операционная система - просто не используем WM ASF Reader.
Дело в том, что только на Windows 7, как и у V0lt\'a на его Windows 7 x64, этот видео файл воспроизводится нормально, за исключением связки WM ASF Reader + VSync.

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

Если взять для сравнения MPC-HC, то в нем, в отличие от нашего проекта MPC-BE, этот видео файл воспроизводится нормально на любой операционной системе.

P.S. Aleksoid1978, у вас на вашей Windows 10 этот файл также воспроизводится с рывками и пропусками кадров, обратите пожалуйста внимание на свойства видео-рендерера EVR Custom.
Название: WMV3 проигрывание - рывки и пропуски кадров [Исправлено]
Отправлено: Aleksoid1978 от 22 февраля 2016, 10:25:58
Написали же - что баг из-за связки с WM ASF Reader, в MPC-HC используется LAV Source, поэтому и играет нормально - ЧТО ТУТ НЕПОНЯТНОГО ??
Название: WMV3 проигрывание - рывки и пропуски кадров [Исправлено]
Отправлено: V0lt от 22 февраля 2016, 10:28:28
У него на 10-ке типа вообще всегда воспроизводит плохо (http://mpc-be.org/forum/viewtopic.php?pid=856#p856).
Название: WMV3 проигрывание - рывки и пропуски кадров [Исправлено]
Отправлено: Evgeniy1990 от 22 февраля 2016, 10:31:13
Цитата: Aleksoid1978Написали же - что баг из-за связки с WM ASF Reader, в MPC-HC используется LAV Source, поэтому и играет нормально - ЧТО ТУТ НЕПОНЯТНОГО ??
Да то, что при LAV Splitter Source также всегда на системах XP, Win8.1 и Win10 этот видео файл всегда воспроизводится плохо с рывками и пропусками кадров.
[merge_posts_bbcode]Добавлено: 2016-02-22 10:31:13[/merge_posts_bbcode]

Цитата: V0ltУ него на 10-ке типа вообще всегда воспроизводит плохо.
Не типа, а ТОЧНО!
Название: WMV3 проигрывание - рывки и пропуски кадров [Исправлено]
Отправлено: V0lt от 22 февраля 2016, 10:39:52
Evgeniy1990
У меня LAVFilters-0.67.0-76.exe отсюда -> https://files.1f0.de/lavf/nightly/

PS: Кстати, при обновлении внешних фильтров их иногда желательно также сносить и заново добавлять с списке плеера. Это касается случаев, когда разработчик добавил поддержку нового субтипа.
Название: WMV3 проигрывание - рывки и пропуски кадров [Исправлено]
Отправлено: Evgeniy1990 от 22 февраля 2016, 10:46:37
Цитата: V0ltEvgeniy1990
У меня LAVFilters-0.67.0-76.exe отсюда -> https://files.1f0.de/lavf/nightly/
А у меня по вашему откуда? Естественно с этого же сайта: https://files.1f0.de/lavf/nightly/
[merge_posts_bbcode]Добавлено: 2016-02-22 10:45:25[/merge_posts_bbcode]

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

Как закончу, я отпишусь вам сюда о результатах.

[merge_posts_bbcode]Добавлено: 2016-02-22 10:46:37[/merge_posts_bbcode]

Цитата: V0ltPS: Кстати, при обновлении внешних фильтров их иногда желательно также сносить и заново добавлять с списке плеера. Это касается случаев, когда разработчик добавил поддержку нового субтипа.
Об этом я в курсе, про субтипы тоже. Полностью с вами согласен по поводу этого.
Название: WMV3 проигрывание - рывки и пропуски кадров [Исправлено]
Отправлено: Aleksoid1978 от 22 февраля 2016, 10:46:58
Вот проверяем в связке с WM ASF Reader - https://yadi.sk/d/pw-WVIRlpHBUi
Название: WMV3 проигрывание - рывки и пропуски кадров [Исправлено]
Отправлено: V0lt от 22 февраля 2016, 10:50:52
Ну тогда снеси то, что есть, поставь LAVFilters 0.67.0-76. Затем заново добавь во внешние фильтры LAV Splitter Source с предпочтением.
И сделай скриншоты статистики EVR Custom с Vsync и без.
[merge_posts_bbcode]Добавлено: 2016-02-22 10:50:52[/merge_posts_bbcode]

Не надо на всех системах, пока хватит только Win10. Два скриншота и все!
Название: WMV3 проигрывание - рывки и пропуски кадров [Исправлено]
Отправлено: Aleksoid1978 от 22 февраля 2016, 10:50:57
Да не - косяки и с LAV Source есть, но они менее заметны.
И когда происходит всплеск - вот что я вижу в debug логе:
[8100] mpc-be.exe(tid 27b0)    33357 : CStreamSwitcherInputPin::Receive: cbBuffer > actual.cbBuffer

Из-за этого и рывки :)
Название: WMV3 проигрывание - рывки и пропуски кадров [Исправлено]
Отправлено: V0lt от 22 февраля 2016, 10:56:30
Aleksoid1978
Рывки там по всему файлу, т.к. 15 fps. А вот когда реально плохо, то получаю 1-3 fps.
Название: WMV3 проигрывание - рывки и пропуски кадров [Исправлено]
Отправлено: Evgeniy1990 от 22 февраля 2016, 11:42:42
Цитата: Aleksoid1978Вот проверяем в связке с WM ASF Reader - https://yadi.sk/d/pw-WVIRlpHBUi
Проверил тестовый билд. Проверил его пока только на Windows 8.1 + ATI Radeon HD 5770.

WM ASF Reader + MPC Video Decoder (Софт/DXVA2) + Без VSync + EVR Custom - нормально.
WM ASF Reader + MPC Video Decoder (Софт/DXVA2) + VSync + EVR Custom - нормально.

LAV Splitter Source + MPC Video Decoder (Софт/DXVA2) + Без VSync + EVR Custom - нормально.
LAV Splitter Source + MPC Video Decoder (Софт/DXVA2) + VSync + EVR Custom - нормально.

Исходя из данного теста, можно смело сказать, что ваше исправление помогло устранить рывки и пропуски кадров во время воспроизведения этого видео файла, при использовании системного фильтра-источника: WM ASF Reader.
Название: WMV3 проигрывание - рывки и пропуски кадров [Исправлено]
Отправлено: Aleksoid1978 от 22 февраля 2016, 11:42:46
Причину срыва с LAVSource я указал. В связке с WM ASF Reader я исправил, билд выше постом.
Название: WMV3 проигрывание - рывки и пропуски кадров [Исправлено]
Отправлено: Evgeniy1990 от 22 февраля 2016, 12:00:17
Цитата: Aleksoid1978Вот проверяем в связке с WM ASF Reader - https://yadi.sk/d/pw-WVIRlpHBUi
Проверил тестовый билд. Проверил на Windows 10 + ATI Radeon HD 5770.

WM ASF Reader + MPC Video Decoder (Софт/DXVA2) + Без VSync + EVR Custom - нормально.
WM ASF Reader + MPC Video Decoder (Софт/DXVA2) + VSync + EVR Custom -нормально.

LAV Splitter Source + MPC Video Decoder (Софт/DXVA2) + Без VSync + EVR Custom -нормально.
LAV Splitter Source + MPC Video Decoder (Софт/DXVA2) + VSync + EVR Custom - нормально.

Вывод: теперь аналогично, как и на Windows 8.1, при использовании системного фильтра-источника WM ASF Reader, этот видео файл стал воспроизводиться нормально.

P.S. В обеих операционных системах (Win8.1 и Win10) использовались драйверы "AMD Catalyst 15.7.1".

Осталось проверить на XP и на NVIDIA GeForce.
Название: WMV3 проигрывание - рывки и пропуски кадров [Исправлено]
Отправлено: Aleksoid1978 от 22 февраля 2016, 12:48:55
Так - WM ASF Reader победили.
По рывкам в связке с LAV Source - это из-за нашего аудио-декодера(с системным или LAV такого нет).

Вот тестовый билд - https://yadi.sk/d/qfgPHInqpHUmh

что сделал(для v0lt) - увеличил размер cbBuffer(значение взял в LAV):
pProperties->cbBuffer = 6144000; // 192KHz 8ch 32bps

Понятно что значение может и не оптимальное - зато избавляет от подобных проблем.
[merge_posts_bbcode]Добавлено: 2016-02-22 19:48:55[/merge_posts_bbcode]

Почему такое происходит, почему не хватает размер блока - да потому что некоторые пакеты аудио-декодера (входные и выходные)очень большой длительности(ну и как результат - размера).
Смотрел - самый большой выходной пакет с аудио-декодера имеет длительность 557мс, т.е. даже больше чем пол секунды.
Название: WMV3 проигрывание - рывки и пропуски кадров [Исправлено]
Отправлено: V0lt от 22 февраля 2016, 13:38:16
У меня рывков в связке с LAV Source не наблюдается.
Название: WMV3 проигрывание - рывки и пропуски кадров [Исправлено]
Отправлено: Aleksoid1978 от 22 февраля 2016, 14:22:48
Есть они - с нашим аудио-декодер.
Название: WMV3 проигрывание - рывки и пропуски кадров [Исправлено]
Отправлено: Evgeniy1990 от 22 февраля 2016, 14:38:12
V0lt, Aleksoid1978, для вас прилагаю ссылку на видеозапись с рывками и пропусками кадров:
https://yadi.sk/i/zjeNO3IMpHtGh
Название: WMV3 проигрывание - рывки и пропуски кадров [Исправлено]
Отправлено: V0lt от 22 февраля 2016, 14:44:27
Я пока вижу следующее. Начинается с блока размером 131072. Т.к. это больше 115200, то выделяется буфер на 50% больше необходимого, т.е. 196608.
Я мониторил максимальное значение буфера и получил такую картину: 131072, 147456, 163840, 180224, 196608. Последнее значение хоть и впритык, но по факту не превышает исходного размера буфера, и буфер повторно перераспределяться не должен.
Вывод: Проблем с декодером на этом файле быть не должно.

Как оказалось проблема в переключателе. Нужно поправить выделение буфера по аналогии с декодером. Поправил в r1200.

PS: Самый большой зафиксированный мною буфер был равен 393216 байтам, но там он не скакал как на этом файле.
Название: WMV3 проигрывание - рывки и пропуски кадров [Исправлено]
Отправлено: Aleksoid1978 от 22 февраля 2016, 15:00:14
Но блин первый скачок все равно присутствует :) Все таки может увеличить размер блока в аудио-декодере, чтобы совсем избавиться от подобного ??
Название: WMV3 проигрывание - рывки и пропуски кадров [Исправлено]
Отправлено: V0lt от 22 февраля 2016, 15:17:04
Я, честно говоря, не вижу никакого скачка. Буфер выделяется в самом начале, откуда скачки то?

Можешь попробовать вместо стандартного 131072 влепить 262144 и посмотреть, что будет.
Название: WMV3 проигрывание - рывки и пропуски кадров [Исправлено]
Отправлено: Evgeniy1990 от 22 февраля 2016, 19:29:35
На этом видео файле, как минимум, в трех местах наблюдаются скачки воспроизведения. Они представляют собой резкие рывки вперед (некие перемотки вперед), пропуская часть данных.

Первое место - прямо в самом начале воспроизведения
Второе место - примерно в середине
Третье место - ближе к концу воспроизведения (практически в конце)
[merge_posts_bbcode]Добавлено: 2016-02-22 18:30:20[/merge_posts_bbcode]

V0lt, Aleksoid1978:

Проверил билды: первый тестовый, второй тестовый и SVN 1200 на Windows XP.

Тест: NVIDIA GeForce GTX 465, VMR-9 RL/VMR-7 WL.

Результаты:

1. Первый тестовый билд: mpc-be.exe_WM_ASF_20160222

WM ASF Reader + MPC Video Decoder (DXVA1/Soft) VMR-9 RL/VMR-7 WL - рывки
LAV Splitter Source + MPC Video Decoder (DXVA1/Soft) VMR-9 RL/VMR-7 WL - рывки

2. Второй тестовый билд: mpc-be.exe_WMV_LAVSource_20160222

WM ASF Reader + MPC Video Decoder (DXVA1/Soft) VMR-9 RL/VMR-7 WL - нормальное воспроизведение
LAV Splitter Source + MPC Video Decoder (DXVA1/Soft) VMR-9 RL/VMR-7 WL - нормальное воспроизведение

3. SVN build r1200:

WM ASF Reader + MPC Video Decoder (DXVA1/Soft) VMR-9 RL/VMR-7 WL - нормальное воспроизведение
LAV Splitter Source + MPC Video Decoder (DXVA1/Soft) VMR-9 RL/VMR-7 WL - нормальное воспроизведение

Выводы:

Aleksoid1978, ваше изменение, сделанное во втором тестовом билде, помогло устранить проблему с рывками.
V0lt, ваше изменение, сделанное в SVN r1200, также помогло устранить проблему с рывками.

[merge_posts_bbcode]Добавлено: 2016-02-22 19:29:35[/merge_posts_bbcode]

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

Молодцы! :)