WASAPI рендерер - периодический дроп пакетов. [Исправлено]

Автор Aleksoid1978, 11 апреля 2018, 14:18:53

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

V0lt

Aleksoid1978
Ты поясни. Само время и длительность ушедших пакетов переписывается или просто идет привязка часов к "тактогенератору" HDMI?
[merge_posts_bbcode]Добавлено: 2018-04-16 12:50:11[/merge_posts_bbcode]

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

PS: Всякие сложные случаи, когда таймкод резко меняется, Я пока не рассматриваю.
[merge_posts_bbcode]Добавлено: 2018-04-16 12:52:37[/merge_posts_bbcode]

Можно сначала бета-релиз выпустит, а уже после все перелопачивать. :)

Evgeniy1990

Цитата: Aleksoid1978Я сейчас в раздумье - либо залить как оно сейчас есть и потом уже "пытаться" довести до ума, либо доводить и периодически выкладывать тестовый билды. Я считаю что лучше залить - тем более что все эти переключения и микро-рывки не особо и заметны ))

Кто что думает ??
Несмотря на то, что при переключении звуковых устройств и режимов WASAPI на лету, во время воспроизведения, присутствуют рывки кадров, все остальное работает совершенно нормально.

Также, хочу отметить, что сейчас в SVN присутствует проблема, которой нет в переделанных билдах - это изменения графика времени кадров, я бы даже сказал так - нарастание графиков, при переключении режимов WASAPI, особенно с Shared нв Exclusive, в результате чего, проявляются трески и помехи в звуке. А это неправильно, т.е. уже баг.

Выглядит это вот так. Обязательно обратите на это внимание. Это как раз то, что сейчас творится в SVN.
Во время воспроизведения, при переключении с Shared на Exclusive, графики становятся более волнистыми и появляются трески звука в колонках. При обратном переключении с Exclusive на Shared, трески исчезают.
Motherboards: ASUS P5Q/GIGABYTE EP35C-DS3R, CPU: Core 2 Duo E8300/E8400, Memory: DDR2/DDR3, Video: MSI GTX 465/ASUS EAH5770/GTX 650 Ti, Audio: ASUS Xonar DG 5.1/Creative SB 5.1. VX/X-Fi Xtreme Gamer.

Aleksoid1978

Ну тогда, наверное, завтра залью изменения.
[merge_posts_bbcode]Добавлено: 2018-04-16 20:32:49[/merge_posts_bbcode]

Просьба внимательно погонять переключения режимов/устройств/настроек и A/V синхронизацию.
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

Evgeniy1990

Цитата: Aleksoid1978Просьба внимательно погонять переключения режимов/устройств/настроек и A/V синхронизацию.
Я как раз сейчас этим и занимаюсь. И как уже стало ясно, в SVN присутствует с этим проблема.
[merge_posts_bbcode]Добавлено: 2018-04-16 13:41:08[/merge_posts_bbcode]

Aleksoid1978
Для вас прилагаю два похожих видео файла для сравнения.
Сравните пожалуйста графики, при переключении режимов WASAPI с Shared на Exclusive в SVN-билде и на вашем последнем втором тестовом билде.

Вы увидите, что проблема с более волнистыми графиками присутствует только в SVN-билде.

[merge_posts_bbcode]Добавлено: 2018-04-16 14:14:58[/merge_posts_bbcode]

"Еще лучше" - эта проблема, которая есть в SVN, с более волнистыми графиками, при переключении режимов WASAPI, еще и плавающая к тому же. Но я точно скажу вам, что я и раньше замечал такое, но почему-то решил, что это и не проблема вовсе, хотя это не так, а все потому, что в тот момент, когда я впервые ее увидел, я слушал звук на звуковой карте "ASUS Xonar DG". А на ней, в отличие от других имеющихся у меня активных звуковых карт "Realtek HD" и "C-Media 8738 SX/LX", нет и не было треска и помех звука. Но сам факт того, что графики стали более волнистыми уже говорит о том, что так быть не должно. Как будто происходит сдвиг времени кадра.
[merge_posts_bbcode]Добавлено: 2018-04-16 14:20:05[/merge_posts_bbcode]

Данную проблему с более волнистыми графиками, при переключении режимов WASAPI, я ни в какую не могу получить на переделанном втором тестовом билде. Ее просто там даже и близко нет.

[merge_posts_bbcode]Добавлено: 2018-04-16 14:22:58[/merge_posts_bbcode]

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

[merge_posts_bbcode]Добавлено: 2018-04-16 14:36:58[/merge_posts_bbcode]

Aleksoid1978:

На данный момент получились такие ситуации:

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

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

Получилось как бы все наоборот.
Motherboards: ASUS P5Q/GIGABYTE EP35C-DS3R, CPU: Core 2 Duo E8300/E8400, Memory: DDR2/DDR3, Video: MSI GTX 465/ASUS EAH5770/GTX 650 Ti, Audio: ASUS Xonar DG 5.1/Creative SB 5.1. VX/X-Fi Xtreme Gamer.

Aleksoid1978

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

Так что думаю завтра заливаю изменения.
[merge_posts_bbcode]Добавлено: 2018-04-17 10:12:10[/merge_posts_bbcode]

Изменения залиты.
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

Evgeniy1990

Цитата: Aleksoid1978Изменения залиты.
Ок, начал проверять различные всевозможные условия...
Цитата: Aleksoid1978Ну да - на данный момент пока просто нет времени чтобы конкретно заняться "рывками" при изменении на лету. Но думаю со временем получиться - т.к. причину я знаю, просто пока не нашел решения(банально нет времени smile ).
Когда вы будете реализовывать свое решение для устранения проблемы с рывками кадров, вам нужно будет также учесть одно условие.

И это условие - если не используется "Exclusive Mode".

Дело в том, что в обычном состоянии, при переключении режимов WASAPI, логика работает верно, да, пока есть незначительные рывки кадров, но остальное выполняется корректно, т.е. нет визуально задержек кадров и "A/V DeSync".

А теперь добавляем к этому обычному состоянию наше условие, когда не используется "Exclusive Mode" и получаем уже совсем другое - это визуальное присутствие не только задержек кадров, но и их слегка ускоренное воспроизведение, на некоторое время, после переключения режимов WASAPI на лету, во время воспроизведения, а также и рассинхронизацию, после повторного и обратного переключения режимов WASAPI.

Выглядит это вот так.

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

1. Задаем условие: "Если не используется Exclusive Mode"
2. Открываем видео файл
3. Во время его воспроизведения, переключаем режим WASAPI: Shared на Exclusive и сразу же обратно на Shared

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

Так вот, это так называемое ускоренное воспроизведение кадров видео есть ничто иное, как наглядные визуальные те же самые незначительные рывки кадров, что и в обычном состоянии, когда используется "Exclusive Mode".

Если сказать проще, то "ускоренное воспроизведение кадров видео" и "незначительные рывки кадров" - это одно и тоже.

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

Теперь про A/V DeSync:

Проявляется при повторном переключении режимов WASAPI с одного на другой и обратно и присутствует в двух формах:

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

Вторая форма - более худшая и неприятная - это резкая перемотка в конец воспроизведения, при этом, сам прогресс дошел до конца, или почти до конца, а видео кадры продолжают воспроизводиться, причем они могут воспроизводится и быть, как в виде рывков слегка, или резко ускоренных, так и в обычном нормальном виде.
Motherboards: ASUS P5Q/GIGABYTE EP35C-DS3R, CPU: Core 2 Duo E8300/E8400, Memory: DDR2/DDR3, Video: MSI GTX 465/ASUS EAH5770/GTX 650 Ti, Audio: ASUS Xonar DG 5.1/Creative SB 5.1. VX/X-Fi Xtreme Gamer.

Aleksoid1978

Да уж, я бы и не подумал про такое извращение :)
Посмотрю что там происходит.

P.S. Исправил в 3542.
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

Evgeniy1990

Цитата: Aleksoid1978Да уж, я бы и не подумал про такое извращение :)
Посмотрю что там происходит.

P.S. Исправил в 3542.
Отлично! :) В целом, все работает нормально. Останется только решить проблему с рывками кадров, при переключении звуковых устройств и режимов WASAPI на лету, во время воспроизведения.

Кстати, после последних изменений, я заметил такую особенность (странность), т.е. при переключении:

"Shared" -> "Exclusive" - графики, в момент переключения, слегка искривляются. А обратно:
"Exclusive" -> "Shared" - графики, в момент переключения, остаются всегда нормальными.

А вот, при переключении звуковых устройств на лету, во время воспроизведения, графики всегда немного искривляются в момент переключения.
Motherboards: ASUS P5Q/GIGABYTE EP35C-DS3R, CPU: Core 2 Duo E8300/E8400, Memory: DDR2/DDR3, Video: MSI GTX 465/ASUS EAH5770/GTX 650 Ti, Audio: ASUS Xonar DG 5.1/Creative SB 5.1. VX/X-Fi Xtreme Gamer.

Aleksoid1978

Те "искривления" что остались сейчас - уже не смертельно, все останется как есть. Ибо это уже не заметно визуально.
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

Evgeniy1990

Цитата: Aleksoid1978Те "искривления" что остались сейчас - уже не смертельно, все останется как есть. Ибо это уже не заметно визуально.
Увы, но все же заметно визуально...  

Обнаружена A/V DeSync, после тщательной прогонки различных видео файлов с различными форматами. Оказалось все не так просто, как хотелось бы. На данный момент пока, но это только пока, - это единственные видео файлы с аудио, где всегда и совершенно стабильно проявляется рассинхронизация.
Motherboards: ASUS P5Q/GIGABYTE EP35C-DS3R, CPU: Core 2 Duo E8300/E8400, Memory: DDR2/DDR3, Video: MSI GTX 465/ASUS EAH5770/GTX 650 Ti, Audio: ASUS Xonar DG 5.1/Creative SB 5.1. VX/X-Fi Xtreme Gamer.

V0lt

Aleksoid1978
Слушай, а как новая синхронизация работает вот с таким случаем?
Она работает, но мне непонятно как. :D
Цитироватьmikhaelkh
В общем так. У твоего файла видео 25 к/с, а английская дорожка сделана под 23,976 к/с. Дорожку подогнали под видео за счет пересчета тайм-кодов (реальная длительность не менялась).
 
Для такого случая решение следующее. Зайти в Настройки->Встроенные фильтры->Аудио декодеры->Настройка аудио декодера и отключить "Корректировка A/V синхронизации".

Aleksoid1978

Аудио дорожка "выступает в роли часов". Если подогнали с разрывами между аудио-пакетами - то рендерер будет "сдвигать" часы дабы аудио-данные шли бесперерывно(по времени). В этом случае будут рывки видео.
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

V0lt

Aleksoid1978
При переходе на полный экран двойным кликом картинка и прогресс бар подвисают. Тоже самое при выходе из полного экрана. На DirectSound нормально.
MPC-BE r3576.

Так же пишут про проблемы с Framestep после r3572.

Aleksoid1978

Ага, есть такое. Вот же блин - одно починишь, другое поломается :)
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

Evgeniy1990

Оставшиеся проблемы, после переделки встроенного "MPC Audio Renderer":

Проблема №1 - "волшебное воспроизведение и рассинхрон после его возобновления"
К данным проблемам относятся некоторые сэмплы и видео файлы от wanezhiling.

Да, я вижу, что они слегка "не такие как все", но раньше были сделаны для них отдельные фиксы.
Сейчас же, после переделок встроенного аудио декодера и встроенного аудио-рендерера, они ведут себя совершенно некорректно. Рассмотрим один выложенный выше пример. Видео файл открывается и воспроизводится. Вроде бы с ним все ок, но только до тех пор, пока не посмотришь на превью и не поставищь это видео на паузу, а после - возобновишь его воспроизведение. И вот тогда-то, после возобновления воспроизведения, виден рассинхрон на встроенном аудио-рендерере, т.е. звук пошел дальше, а кадры тупо стоят на месте, после чего, спустя примерно полминуты начинают воспроизводится, но звук уже далеко от них впереди. В общем, никакой A/V-коррекции нет и на превью - просто чернота (черные кадры).
[merge_posts_bbcode]Добавлено: 2018-05-01 19:45:24[/merge_posts_bbcode]

Проблема №2 - общий глобальный рассинхрон на встроенном аудио-рендерере, после возобновления воспроизведения.
Глобальная проблема, аналогична предыдущей, присутствует на любых форматах видео файлов, при условии - после возобновления воспроизведения видео. Выложил один пример. Чем выше частота кадров, тем более мерзко выглядит данная проблема. Может приводить к зависанию плеера.
Motherboards: ASUS P5Q/GIGABYTE EP35C-DS3R, CPU: Core 2 Duo E8300/E8400, Memory: DDR2/DDR3, Video: MSI GTX 465/ASUS EAH5770/GTX 650 Ti, Audio: ASUS Xonar DG 5.1/Creative SB 5.1. VX/X-Fi Xtreme Gamer.