MPC MPEG Source - сдвиг воспроизведения после перемотки

Автор Evgeniy1990, 23 апреля 2018, 16:58:36

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

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

Evgeniy1990

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

На некоторых (большинстве) MPEG-TS-видео файлах проявляется сдвиг времени воспроизведения после перемотки.
Т.е. во время перемотки происходит небольшая задержка, а после того, как воспроизведение продолжится до самого конца и прогресс завершится, можно будет заметить, что воспроизведение видео еще продолжается до тех пор, пока окончательно не закончится.

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

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

1. Скачать этот пример
2. Открыть его
3. После его открытия, перемотать его на отметку времени: 00:21:00
4. После перемотки, дождаться окончания воспроизведения

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

После того, как прогресс воспроизведения дойдет до конца, воспроизведение видео еще будет продолжаться несколько секунд, пока полностью не закончится.
Т.е. прогресс воспроизведения дошел до 00:21:40, при этом видео продолжит воспроизводится еще примерно 10 секунд. Вот это и есть сдвиг времени воспроизведения аж на 10 секунд.

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

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

P.S. Также, обратите внимание на кадр в превью на участке времени "00:21:00", при перемотке, если конечно оно включено и сравните с кадром в превью на том же участке времени "00:21:00" в "LAV Splitter Source".

Они совершенно разные, что уже говорит о том, что в нашем встроенном "MPC MPEG Source" имеется баг.
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

Так - по перемотке, картинка одинаковая что с нашим фильтром что с LAV.
По окончанию воспроизведения - одинаковое поведение что с нашим фильтром что с LAV, время остановилось - воспроизведение продолжается. Не копал - но видимо там продолжают поступать какие-то данные.
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


Evgeniy1990

Цитата: Aleksoid1978Так - по перемотке, картинка одинаковая что с нашим фильтром что с LAV.
По окончанию воспроизведения - одинаковое поведение что с нашим фильтром что с LAV, время остановилось - воспроизведение продолжается. Не копал - но видимо там продолжают поступать какие-то данные.
После перемотки - картинка одинаковая, это верно, с этим соглашусь, а вот дальше - нет.

Я кучу раз пробовал поймать этот баг, при использовании внешнего "LAV Splitter Source", так и не поймал.
Да и по превью видно, что на одном и том же участке времени, кадры совершенно разные.

Я удивлен, что у вас такой сдвиг возникает даже с "LAV Splitter Source". Странно...
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

По поводу перемотки и LAV - у него частенько после перемотки еще некоторое время "нет картинки". С нашим же сплиттером картинка сразу появляется. Вот и все отличия. По факту - все нормально с перемоткой.
[merge_posts_bbcode]Добавлено: 2018-04-24 15:41:01[/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По поводу перемотки и LAV - у него частенько после перемотки еще некоторое время "нет картинки". С нашим же сплиттером картинка сразу появляется. Вот и все отличия. По факту - все нормально с перемоткой.
Согласен, с самой перемоткой все нормально.
Цитата: Aleksoid1978По поводу того что в конце не сразу отрабатывает остановка - в самом-самом конце видео-поток меняется немного, происходит реконнект к видео-рендереру и т.д. Видимо из-за этого происходит данная ситуация.
Вполне возможно...

Но меня удивляет и интересует другое - это разные кадры в превью, в зависимости от используемого сплиттера (фильтра-источника).

Вот скриншоты кадров превью с нашим встроенным "MPC MPEG Source" и с внешним "LAV Splitter Source":

1. Скриншот кадра в превью, при использовании "MPC MPEG Source".
2. Скриншот кадра в превью, при использовании "LAV Splitter Source".

Как мы видим, они совершенно разные, а это говорит о том, что или кто-то врет, или у кого-то иная логика работы, причем очень странная и сомнительная.

Почему меня так сильно это волнует? Потому что - это (возможно) проблема (баг), с которой нужно внимательно разобраться.

Интересный факт: в отличие от нашего "MPC MPEG Source", с "LAV Splitter Source"  вообще не происходит сдвига воспроизведения на отметке времени 00:21:00, как раз в том моменте, где меняется видео-поток и предположительно происходит реконнект к видео-рендереру.

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

Иначе говоря, "LAV Splitter Source" в отличие от нашего "MPC MPEG Source", заранее, еще до открытия и начала воспроизведения видео файла, каким-то образом, так сказать, - более точно вычисляет (считывает) временные метки кадров.
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

Наоборот - LAV "хуже" перематывает данный файл. При перемотке на 00:21 с нашим фильтром картинка сразу же, с LAV - с небольшим затыком.

По поводу превью - я хз что у тебя показывается(я правда в превью не смог попасть именно в 00:21, но на 00:20:59 как и на 00:21:01) - картинка одинаковая, не зависимо от того какие сплиттеры.

Изменения видео потока происходят в самом конце, далеко после 00:21, и это не имеет никакого отношения к перемотке.

Короче - закрываем тему, она какая то надуманная. Ищем проблему там где ее нет.
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