Почему мое видео на YouTube искажается на многих мобильных устройствах?

Почему мое видео на YouTube искажается на многих мобильных устройствах?

Через несколько часов после того, как я загрузилВидео YouTube, закодированное в FFmpeg, несколько человек, которым я его отправил, начали сообщать о странной проблеме: первые 26 минут звука звучали очень искаженно; некоторые описывали его как звук, как будто он под водой. Вотпримеркак это звучит.

Затем я начал проводить тестирование с большим количеством людей и получил следующие данные по 31 мобильному устройству.

Нормальный звук:

Galaxy S10 (x2)
Galaxy S20 (x3)
Galaxy A50
iPhone XR (x3)
iPhone 7
iPhone 8 (x2)
iPhone 10 Pro
iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPhone 12 (x3)
iPhone 12 Pro
Oppo F11
OnePlus 7T
Pixel 3A XL
OnePlus 7 Pro

Искаженный звук:

iPhone 6S
Galaxy S7 Edge
Galaxy S8+
Galaxy S10 Lite
Huawei Y6 2019
Huawei P30 Pro
Honor 10 Lite

Звук в течение этих первых 26 минут прерывается для 7 из 31 мобильных устройств, то есть 22%, и это увеличивается до более чем 50%, если включить только телефоны Android. Большинство опрошенных мной были из развитых стран, что означает, что данные также перевешивают в сторону новых, более современных телефонов, что означает, что эта цифра может легко приближаться к 80% в менее развитых странах, которые в основном используют старые Android.

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

Я скомпилировал видео из нескольких исходных видео, закодировал и объединил их с помощью FFmpeg.

Он использует H264 и OPUS в качестве кодеков, но что более важно, проверкаисходное видеочто первые 26 минут взяты из этого видео, показывает, что эта проблема берет свое начало в этом видео, так что теперь вопрос становится таким:

а) Что именно в этом исходном видео приводит к искажению звука на таком большом количестве мобильных устройств?

б) Как это исправить с помощью FFmpeg?

решение1

Я понятия не имею, почему это было заминусовано, но, несмотря на это, мне удалось найти решение проблемы, разместив точно такой же вопрос на форуме специалистов по аудио Doom9. Я получил следующий ответ почти сразу от пользователяlvqcl:

Левый и правый каналы сдвинуты по фазе на 180°. Инвертируйте один из них (первые 26 минут одного из каналов, то есть).

Когда я спросил его, почему проблема касается только определенных мобильных устройств, он ответил:

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

Затем я начал искать, как исправить это в FFmpeg, и наткнулся на следующую команду, любезно предоставленную Gyanздесь:

ffmpeg -i input.wav -af "aeval='-val(0)':c=same" output.wav

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

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

Связанный контент