ProgTV. Возможна ли компенсация задержки звука при выводе звука в bluetooth наушники?

#1
При выводе звука в bluetooth наушники наблюдается задержка звука примерно на 0.2-0.3 секунды.
Собственно, ProgTV тут никаким боком не виноват - задержка происходит при любом выводе звука через bluetooth, просто при просмотре ТВ это проявляется наиболее ярко - особенно заметно, когда речь не совпадает с артикуляцией.
В некоторых плеерах такая возможность есть, в частности в VLC и MXPlayer. Наиболее удобно это реализовано в MXPlayer - там в настройках есть отдельные пункты времени коррекции задержки, для "проводного" вывода аудио, и для вывода через bluetooth.

Так вот вопрос: возможна ли коррекция задержки звука в более раннюю сторону (вернее, вывод видео чуть позже, на те самые 0.2-0.3 секунды) в ProgTV, и фиксация этой задержки в настройках?

ffmpeg вроде как умеет это делать, правда, при перепаковке раздельных аудио-видео потоков в один. Есть ли такая возможность делать это "налету" - честно говоря, не знаю.

Re: ProgTV. Возможна ли компенсация задержки звука при выводе звука в bluetooth наушники?

#2
Думаю возможно. Но только там где работаю с потоком сам. То есть в ffmpeg и MediaCodec. В win версии такая настройка есть, в Android - не пробовал. Думал не будет необходимости.
Надо что бы один из этих режимов у вас работал стабильно, что бы задержки зависили от настроек в не того справляется ли проц.

Re: ProgTV. Возможна ли компенсация задержки звука при выводе звука в bluetooth наушники?

#3
Prog wrote:
Sun Apr 21, 2019 5:57 pm
в ffmpeg и MediaCodec.
В общем, лучше всего будет ввести эту опцию именно на ffmpeg - по моим наблюдениям - в этом варианте самый лучший звук (стерео панорама, локализация звуков - но, это конечно моё скромное мнение).
ffmpeg на моем смарте справляется даже с видео в формате 720р (1080р уже ему не по зубам). mediaplayer же воспроизводит и 1080р (аппаратная поддержка сказывается?).
Ой, а MediaCodec и MediaPlayer - это два разных плеера?

Примерно одинаковые задержки (0.2-0.3 секунды) у меня наблюдаются на трех типах наушников на разных девайсах - так что, вероятно, данная задержка происходит именно по причине самой технологии bluetooth. Поговаривают, что в последних версиях bluetooth задержку аудио свели к минимуму, но подобных современных девайсов не имею.

Можно еще вопрос не по теме?
Сейчас использую версию Beta 2.62.3. Периодически пытаюсь использовать более свежие бэта версии, но подружиться с ними не выходит, и приходится делать откат на 2.62.3.
Вы не собираетесь обновить стабильный релиз на эту версию 2.62.3? По моим наблюдениям - версия достаточно стабильная и удобная.
К чему это я? А к тому, что на девайсе тогда можно было бы держать две версии - стабильную 2.62.3 (нынешняя стабильная версия 2.51.7 - уже несколько устарела) и экспериментальную Beta версию.

Re: ProgTV. Возможна ли компенсация задержки звука при выводе звука в bluetooth наушники?

#6
Готов ) Не ожидал, то Вы так быстро реализуете. Спасибо!
Про mediacodec понял, где он и как его выбрать.

Как протестить? Изменения будут в очередной beta или как ?

UPD: сейчас обновился до 2.77.6 - думал в этой версии будет это реализовано - но нет.
Есть небольшое пожелание по поводу постоянного вывода времени на экране. Вещь, безусловно, удобная, но есть несколько пожеланий.
Где это лучше сделать, в новом топике, или можно здесь?

Re: ProgTV. Возможна ли компенсация задержки звука при выводе звука в bluetooth наушники?

#8
А ProgTV умеет воспроизводить локальные файлы? Ведь собственные записи умеет - может и другие локальные файлы может?
Если да, то я мог бы для проверки работы компенсации задержки собрать небольшой (секунд на 15-30) тестовый видео файл со звуком, задержанным, скажем, на 0.3 секунды.

Re: ProgTV. Возможна ли компенсация задержки звука при выводе звука в bluetooth наушники?

#10
Извиняюсь за долгий неответ.
Проверял пока только с mediacodec. Резюме: работает компенсация.
Долго подбирал знак плюс/минус и значение - в итоге остановился на +600 мс,
И еще, не уверен, что это надо делать, после каждого изменения задержки делал перезапуск ProgTV.

Отдельное время занял поиск канала, на котором можно все проверить - начал с политических ток-шоу, но понял, что скоро начну блевать с этих говорящих голов.
На многих других прочих каналах звук часто наложен особо не заботясь на точности синхронизации звука и видео.
В итоге нашел канал для проверки совпадения звука с артикуляцией - это КВН ТВ - вот где много разговоров с крупным планом.

Огромное спасибо Вам за эту фичу ProgTV - теперь рассинхрон звука в bluetooth наушниках с видео больше не вызывает раздражения!

Re: ProgTV. Возможна ли компенсация задержки звука при выводе звука в bluetooth наушники?

#11
после каждого изменения задержки делал перезапуск ProgTV.
Опечатка видимо. К следующей версии исправлю.
итоге остановился на +600 мс,
А на самом деле какое значение должно быть? В других приложениях пробовали? Вы писали про 0.2-0.3, нет?

ps: Не логичнее требовать -600 для "задержка аудио" ?

Re: ProgTV. Возможна ли компенсация задержки звука при выводе звука в bluetooth наушники?

#12
В другом приложении (MX Player) задержку устанавливаю около 300 мсек. Но тут такое дело - изменение в +-200 мсек - весьма сложно точно определить - попал/не попал - человеческий мозг хитрая штука - умеет адаптироваться и самостоятельно подстраиваться, компенсируя задержку.
Опять таки в разных движках возможна собственная задержка аудио при демультиплексировании и обработке аудио (всякие там аудио улучшайзеры и эквалайзеры скорее всего вносят некую задержку).
Лично меня перестает раздражать компенсация в задержке в звуке при установке 300-600 мсек.

Знак плюс/минус - это зависит от того, что понимать под плюсом и минусом, и что понимать под audio delay - то ли это то, на сколько звук задержан в канале bluetooth, то ли на сколько вносим задержку )))
Кстати, в MX Player задержку вношу тоже со знаком + .