#ffmpeg #pipe
#ffmpeg #канал
Вопрос:
Раньше я менял битрейт аудиофайлов с помощью
ffmpeg -i input.mp3 -ab 96k output.mp3
и это работает отлично. Теперь я хочу передать вывод в виде канала в Ffmpeg и выполнить какую-то другую задачу. Я взял ссылку на эту документацию и изменил приведенную выше команду ffmpeg на
ffmpeg -i input.mp3 -ab 96k pipe:1 | aws s3 cp - s3://mybucket/output.mp3
Но это не работает.
Только если я использую канал, как показано ниже, тогда он работает.
ffmpeg -i input.mp3 -f mp3 pipe:1 | aws s3 cp - s3://mybucket/output.mp3
Но это не меняет битрейт аудио. Может кто-нибудь, пожалуйста, помогите мне, как я могу достичь своей цели по изменению битрейта и передаче вывода в виде канала
Ответ №1:
Вы должны указать формат вывода вручную. При выводе в файл ffmpeg определяет формат на основе расширения, что невозможно сделать при конвейере.
Используйте
ffmpeg -i input.mp3 -ab 96k -f mp3 pipe:1 | aws s3 cp - s3://mybucket/output.mp3
Комментарии:
1. Большое спасибо, это работает. Мне не хватало выходного формата. Также есть ли что-нибудь, что мне нужно добавить, чтобы сделать его более надежным.