1

Я планирую использовать Perl для извлечения аудио из медиа файлов через FFMpeg. Теперь, насколько я знаю, FFMpeg нужно много параметров, таких как битрейт и т.д., Которые он использовал для извлечения аудио. Так что для одного конкретного видео мы можем предоставить параметры через тестирование, и FFMpeg даст нам аудио. Но когда мне нужно применить его ко многим медиафайлам, мне нужны оптимальные параметры, которые всегда извлекают приличный звук из всех.

Так может ли кто-нибудь подсказать мне, какими должны быть параметры по умолчанию, которые я должен использовать, чтобы почти все медиафайлы обеспечивали достойное извлечение звука?

1 ответ1

3

Вы можете использовать -codec copy или -c copy (или -c:a copy). Это скопирует битовый поток на 100%. Копирование потока битов имеет определенные ограничения: вы можете вырезать только ключевые кадры; но, насколько мне известно, это в основном относится к видеопотокам, а не к аудио (насколько я знаю, аудиокодеки не имеют аналога ключевых кадров). Лично мне никогда не приходилось сталкиваться с какими-либо проблемами при обрезке звука с помощью битового потока.

ffmpeg -i input.mp3 -c:a copy -ss 10 -t 50 output.mp3

Следующим лучшим вариантом будет использование несжатого звука PCM (-c:a pcm_s16le) или кодека без потерь, такого как FLAC (-c:a flac). Они будут воспроизводить звук, идентичный звучанию оригинала. Это даст вам файл большего размера.

ffmpeg -i input.mp3 -c:a pcm_s16le -ss 10 -t 50 output.wav
ffmpeg -i input.mp3 -c:a flac -ss 10 -t 50 output.flac

Вы можете поставить -ss перед вводом, чтобы значительно ускорить процесс, хотя это может дать менее точный поиск. Поскольку вы пишете этот сценарий, вы можете найти некоторую пользу для опции -to (см. Документацию).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .