Исходный вопрос
Я хочу иметь возможность сгенерировать новый (полностью действующий) файл MP3 из существующего файла MP3, который будет использоваться в качестве предварительного просмотра - стиль «попробуйте перед покупкой». Новый файл должен содержать только первые n секунд трека.
Теперь я знаю, что могу просто «отрезать поток» за n секунд (вычисляя из битрейта и размера заголовка) при доставке файла, но это немного грязно и настоящий PITA на дорожке VBR. Я бы хотел создать правильный MP3-файл.
У кого-нибудь есть идеи?
Ответы
Оба , mp3split
и ffmpeg
оба хорошие решения. Я выбрал ffmpeg, поскольку он обычно устанавливается на серверах Linux, а также легко доступен для Windows . Вот еще несколько хороших параметров командной строки для создания превью с помощью ffmpeg
-t <seconds>
рубить через указанное количество секунд-y
принудительно перезаписать файл-ab <bitrate>
установить битрейт, например -ab 96k-ar <rate Hz>
установить частоту дискретизации, например -ar 22050 для 22,05 кГц-map_meta_data <outfile>:<infile>
копировать метаданные трека из файла в файл Outfile
вместо -ab и -ar вы можете скопировать исходные настройки трека, как предлагает Тим Фарли, с помощью:
-acodec copy