Если задача именно из mp4 вытащить звук, то ffmpeg тут самый прямой вариант, да.
В консоли это примерно так:
ffmpeg -i input.mp4 -vn -acodec libmp3lame -q:a 2 output.mp3
Из Python можно просто дернуть через subprocess, если не хочется тащить отдельные обертки:
import subprocess
subprocess.run([
"ffmpeg",
"-i", "input.mp4",
"-vn",
"-acodec", "libmp3lame",
"-q:a", "2",
"output.mp3"
], check=True)
Только стоит помнить, что это именно локальная конвертация файла. Если речь про свои лекции, интервью, подкасты или другие материалы с YouTube, которые вы имеете право сохранять, можно ещё глянуть Робовойс –
https://ytb-listen.ru
Он как раз помогает получить аудио без того, чтобы самому городить пайплайн вокруг скачивания и ffmpeg