Скачки FPS и прерывистый звук [Исправлено]

Автор Evgeniy1990, 20 октября 2017, 19:32:18

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

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

Evgeniy1990

Тема: Скачки FPS и прерывистый звук.

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

Раньше, в былые времена, для некоторых "особых" видео файлов была сделана подстройка коррекции A/V таким образом, чтобы не было отставания (рассинхрона) именно звука от видео.

Другими словами, была сделана подгонка звука к видео для плавного его нормального воспроизведения.

Но, еще до релиза 1.4.6.1590, она была поломана (а может и убрана) и, в результате, теперь на некоторых "особых" таких видео файлах наблюдаются скачки FPS и прерывистое воспроизведение звука.

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

1. Скачать один из таких доступных "особых" видео файлов.
2. Запустить его

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

Ожидаемый результат: необходимо, чтобы правильно работала такая "особая" корректировка A/V (подгонка) для того, чтобы было плавное, нормальное воспроизведение таких видео файлов, без скачков FPS и прерывистого звучания.
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

По идее нужен инструмент, чтобы вытащить тайм-коды для всех дорожек. И после анализа делать выводы.
Я не уверен, но вроде что-то было для MP4.

Aleksoid1978

В данном случае, как ни странно, помогает замена сплиттера на 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

Evgeniy1990

Цитата: Aleksoid1978В данном случае, как ни странно, помогает замена сплиттера на LAV. Надо будет посмотреть что там наш выдает, какие временные метки.
Обратите внимание на одну важную вещь: если мы меняем сплиттер на LAV, то у нас автоматически меняется и аудио декодер на LAV.

В общем, это происходит по такому алгоритму воспроизведения:

1. В настройках внешних фильтров добавить "LAV Splitter Source"
2. Установить "Предпочесть"
4. Запустить данный тестовый видео файл

Фактический результат: в графе фильтров будет связка "LAV Splitter Source" + "LAV Audio Decoder".
Ожидаемый результат: а по логике должен был остаться "MPC Audio Decoder".

О чем это нам говорит?

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

В нашем же случае, с нашей парой - "MPC MP4/MOV Source" + "MPC Audio Decoder", он воспроизводится некорректно.
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 Audio - потому что LAV Splitter выдает медиа-тип, совместимый только с LAV Audio.
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

Формат звука очень странный.
Аудио
Идентификатор                            : 2
Формат                                   : Ogg
Идентификатор кодека                     : mp4a-DD
...
[merge_posts_bbcode]Добавлено: 2017-10-21 07:32:16[/merge_posts_bbcode]

Декодер говорит про обычный Vorbis
Codec: vorbis, 16-bit
Sample rate: 44100 Hz
Channels: 2
Output: 32-bit float
На нестандарт похоже.

Aleksoid1978

Ну по поводу рывков все просто - срабатывает 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 коррекция в аудио-декодере.
Все верно, если отключить опцию A/V синхронизации во встроенном "MPC Audio Decoder", то рывки (скачки FPS) исчезают, но звук по-прежнему остается прерывистым. Видно, что пропадают, или пропускаются во время воспроизведения аудио данные (блоки/пакеты данных).
[merge_posts_bbcode]Добавлено: 2017-10-21 14:32:33[/merge_posts_bbcode]

Видимо это уже связано с тем, что формат аудио определяется некорректно. Это как раз именно то, о чем говорил V0lt.

Действительно, по факту, определяется, как "Vorbis", хотя "mp4a-DD" относится по идее к AAC.

Но, в "LAV Audio Decoder", он также определяется как "Vorbis", при этом, он воспроизводится совершенно нормально, в паре со своим "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

У нас тоже определяется как Vorbis, дело не в этом - а в том как сплиттер отдает пакеты. Я еще не смотрел временные метки и как они формируются для аудио-данных.

Но вообще то - кривой файл. Не стоит он того внимания которое мы уделяем ...
[merge_posts_bbcode]Добавлено: 2017-10-25 14:13:46[/merge_posts_bbcode]

Я наврал - файл нормальный.

Исправлено в 3037.
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