Я столкнулся с проблемой при попытке конвертировать аудио, загруженное из видео YouTube, в моноформат .wav с помощью ffmpeg. Несмотря на использование типичных команд преобразования (код ниже), полученный звук либо тихий, либо поврежден, что указывает на потенциальное удаление стереоканала.
Я попытался загрузить звук в Python и вычислить фазу и взаимную корреляцию, но этот шаг требует много памяти, особенно для 6-часового звука.
Я ищу метод, желательно с использованием ffmpeg, чтобы определить, нейтрализуют ли стереоканалы друг друга из-за рассогласования фаз. Кроме того, я стремлюсь автоматизировать процесс инверсии фазы перед преобразованием в моно, чтобы обеспечить целостность получаемого звука.
Как я могу автоматически определить, гасят ли стереоканалы друг друга, и впоследствии инвертировать фазу, чтобы обеспечить успешное преобразование в моно с помощью ffmpeg? Будем очень признательны за любые идеи, решения или альтернативные подходы.
yt-dlp.ffmpeg, что привело к тишине или повреждению звука.yt-dlp -f bestaudio https://thewikihow.com/video_s3QB_rJzH08 -o input.webm
Полученный файл неактивен или поврежден.
ffmpeg -i input.webm -ac 1 -ar 16000 -c:a pcm_s16le output.wav
В полученном файле есть звук.
ffmpeg -i input.webm -af "aeval=val(0)|-val(1)" -ac 1 -ar 16000 -c:a pcm_s16le output.wav
@ChristophRackwitz круто, спасибо! Есть какие-нибудь советы о том, как обнаружить инверсию?





FFmpeg имеет фильтр обнаружения разности фаз.
ffmpeg -i input.webm -af "aphasemeter=video=0:phasing=1:angle=90:duration=1:tolerance=0.001,ametadata=print:file=aphase.log" -vn -f null -
Файл aphase.log будет содержать покадровый журнал разности фаз в формате
frame:17302 pts:19931904 pts_time:451.971
lavfi.aphasemeter.phase=0.224391
Значение фазы может находиться в диапазоне от -1 до +1. -1 означает, что каналы полностью не совпадают по фазе, а 1 означает, что каналы находятся в фазе.
Если каналы не совпадают по фазе, ffmpeg также напечатает сводные показания в журнале консоли.
Большое спасибо @gyan! Я проверю значение параметров в документации. Знаете ли вы, смогу ли я рассчитать фазу, скажем, каждые 300 секунд?
это не сдвиг фазы/фазы (феномен во времени), это инверсия (феномен в амплитуде/пространстве). есть разница в значении, хотя большинству людей все равно.