MPC-BE forum

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

Название: MPC Audio Renderer - рассинхрон после перемотки [Исправлено]
Отправлено: Evgeniy1990 от 21 февраля 2018, 23:52:13
Тема: "MPC Matroska Source" - необычный рассинхрон, после перемотки и дальнейшего нормального воспроизведения, при использовании "MPC Audio Renderer".

Описание проблемы:

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

Условия воспроизведения:

1. Встроенный фильтр-источник: "MPC Matroska Source"
2. Встроенный аудио-рендерер: "MPC Audio Renderer"
3. Определенные ключевые отметки времени кадра (в данном случае: ключевая отметка: 00:00:12)

Алгоритм воспроизведения:

1. Скачать этот видео файл (https://yadi.sk/d/AJOojx-M3SfCe2)
2. Запустить его
3. После его открытия, во время его воспроизведения, перемотать именно мышкой на ключевой кадр с отметкой времени: 00:00:12
4. После перемотки, очень внимательно просмотреть видео файл, хотя бы до отметки времени: 00:03:20

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

Ожидаемый результат: после перемотки на ключевую отметку времени: 00:00:12 и дальнейшего спокойного просмотра данного видео файла, особенно после опенинга, рассинхрона быть не должно.

Причина данного необычного рассинхрона - встроенный фильтр-источник: "MPC Matroska Source".
Если заменить его на "LAV Splitter Source", то данного рассинхрона, по указанному алгоритму, расписанному выше, - нет и не наблюдается/не проявляется.

P.S. Я сразу смело и абсолютно точно скажу, что данный баг - это очередная поломка.
Раньше точно такого не было. Из-за переделки кода во встроенном фильтре-источнике "MPC Matroska Source" и появился данный баг.
Название: MPC Audio Renderer - рассинхрон после перемотки [Исправлено]
Отправлено: Aleksoid1978 от 22 февраля 2018, 01:48:13
Проверил по данному алгоритму пару раз - честно говоря понять что есть какой-то рассинхрон так и не смог, вроде бы все нормально. Сравнил с LAV Source - поведение одинаковое. Так же посмотрел в отладчике - после перемотки временные метки и пакеты данных совпадают.

Если уж и искать рассинхрон - то файлы должны быть с нормальной речью или песней, русский ну или хотя бы инглишь.
Название: MPC Audio Renderer - рассинхрон после перемотки [Исправлено]
Отправлено: Evgeniy1990 от 12 марта 2018, 15:32:41
Цитата: Aleksoid1978Проверил по данному алгоритму пару раз - честно говоря понять что есть какой-то рассинхрон так и не смог, вроде бы все нормально. Сравнил с LAV Source - поведение одинаковое. Так же посмотрел в отладчике - после перемотки временные метки и пакеты данных совпадают.

Если уж и искать рассинхрон - то файлы должны быть с нормальной речью или песней, русский ну или хотя бы инглишь.
Странно... Несколько раз открывал данный видео файл и внимательно просматривал свойства EVR-CP.
Заметил, что один раз, во время воспроизведения, частота кадров была 23.52 FPS, а это уже неправильно.

Я проверял на конфигурации: "Win7(x64)" + "ATI Radeon HD 5770" + "ASUS Xonar DG" + "MPC-BE(x64)".

Самое странное, что видео файл имеет постоянную частоту кадров, но тем не менее, как ни странно, во время воспроизведения, она скачет, причем, как при "MPC Matroska Source", так и при "LAV Splitter Source".

Выглядит это примерно так: 23.88 -> 23.73 -> 23.92 -> 23.87. Хотя, может так и должно быть...

P.S. Ощущение, как будто что-то не так, только в чем? В общем, еще понаблюдаю....
[merge_posts_bbcode]Добавлено: 2018-03-12 15:17:15[/merge_posts_bbcode]

Aleksoid1978
Цитата: Evgeniy1990[В общем, еще понаблюдаю....
Наконец-то я выяснил (разгадал), как проявляется это странный и загадочный рассинхрон.
Дело вовсе не в конкретном cплиттере, а в самом "MPC Audio Renderer".

Данный рассинхрон проявляется при многократной чередующейся цепочке:
"Пауза" -> "Воспроизведение" -> "Пауза" -> "Воспроизведение" -> "Пауза" -> "Воспроизведение" -> и т.д.

Т.е. чем больше раз мы поставим воспроизводимый видео файл на паузу и чем больше раз продолжим его воспроизведение, тем скорее проявится рассинхрон в "MPC Audio Renderer" на обоих режимах "WASAPI: Shared / Exclusive".

Как его (рассинхрон) воспроизвести?

Алгоритм воспроизведения:

1. Скачать выложенный видео файл
2. Выбрать "MPC Audio Renderer"
3. Выбрать звуковую карту "Realtek HD"
4. Запустить данный видео файл
5. Во время его воспроизведения, нажать и удерживать клавишу пробел несколько секунд, хотя бы подержать примерно 10 секунд.

Фактический результат:

После данного алгоритма, после возобновления воспроизведения, проявится рассинхрон.

Ожидаемый результат:

Рассинхрона, после возобновления воспроизведения, быть не должно.

[merge_posts_bbcode]Добавлено: 2018-03-12 15:32:41[/merge_posts_bbcode]

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

Он присутствует на любых звуковых картах. Также может проявляться, при перемотке, но для этого, чтобы его получить, надо очень много раз мотать воспроизводимый видео файл туда-сюда. На практике, при использовании "MPC Audio Renderer", рассинхрон также может проявиться при однократной перемотке, или при однократной остановке и возобновлении воспроизведения, но для этого нужно попасть в определенные участки кадров, что также проблематично. Вот почему он в таких случаях являлся плавающим.

А если попробовать воспроизвести его, т.е. сам рассинхрон, при данном алгоритме, описанном выше, тогда рассинхрон не заставит себя ждать, он обязательно проявится. Это один из алгоритмов его стабильного получения (воспроизведения).
Название: MPC Audio Renderer - рассинхрон после перемотки [Исправлено]
Отправлено: Aleksoid1978 от 12 марта 2018, 15:41:54
Ну не знаю, не знаю. Я очень часто ставлю на паузу и потом снимаю. Не разу не ловил рассинхрон при этом. Я конечно не делал так - вопрос зачем ?? Просто чтобы найти баг - ну тогда может быть. Но в реале такой ситуации не будет :)
Название: MPC Audio Renderer - рассинхрон после перемотки [Исправлено]
Отправлено: Evgeniy1990 от 12 марта 2018, 15:45:45
Цитата: Aleksoid1978Ну не знаю, не знаю. Я очень часто ставлю на паузу и потом снимаю. Не разу не ловил рассинхрон при этом. Я конечно не делал так - вопрос зачем ?? Просто чтобы найти баг - ну тогда может быть. Но в реале такой ситуации не будет :)
Это необходимо сделать, чтобы воспроизвести баг и устранить его. Это один из его способов получения.

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

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

Вот вам, пожалуйста, типичная ситуация. :)
Название: MPC Audio Renderer - рассинхрон после перемотки [Исправлено]
Отправлено: Aleksoid1978 от 12 марта 2018, 15:46:53
Ну и как я уже говорил - по выложенному файлу я вообще не могу понять когда там звук должен совпадать в картинкой.
Самое четкое это либо виде-клип или нарезка с фильма или новостей, где четко будет видно как речь совпадает с мимикой лица.
Название: MPC Audio Renderer - рассинхрон после перемотки [Исправлено]
Отправлено: Evgeniy1990 от 12 марта 2018, 15:48:48
Цитата: Aleksoid1978Ну и как я уже говорил - по выложенному файлу я вообще не могу понять когда там звук должен совпадать в картинкой.
Самое четкое это либо виде-клип или нарезка с фильма или новостей, где четко будет видно как речь совпадает с мимикой лица.
Ок, я подберу для вас наиболее подходящий видео файл.
[merge_posts_bbcode]Добавлено: 2018-03-12 15:48:48[/merge_posts_bbcode]

По поводу моего примера - обратить внимание на опенинг, фразы, типа - "пам-папам"...
Название: MPC Audio Renderer - рассинхрон после перемотки [Исправлено]
Отправлено: Aleksoid1978 от 13 марта 2018, 03:34:43
Не надо сэмплов - нашел. Да подтверждаю - если долго жать плей/пауза, то потом рассинхрон. Посмотрим - будет время займусь. А пока - записываем в баги и откладываем в долгий ящик.
[merge_posts_bbcode]Добавлено: 2018-03-13 10:34:43[/merge_posts_bbcode]

Проверяем - https://yadi.sk/d/0MS7_giI3TJCtZ
Название: MPC Audio Renderer - рассинхрон после перемотки [Исправлено]
Отправлено: Evgeniy1990 от 13 марта 2018, 06:32:07
Цитата: Aleksoid1978Проверяем - https://yadi.sk/d/0MS7_giI3TJCtZ
Проверил тестовый билд на трех разных звуковых картах (Realtek HD / C-Media / ASUS Xonar DG), на обоих режимах WASAPI: Shared / Exclusive - рассинхрона больше нет, больше он не проявляется. Основная проблема полностью исправлена. :)