Оригинальный вопрос
Я хочу иметь возможность генерировать новый (полностью действительный) файл 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>
копировать метаданные трека из infile в outfile
вместо установки -ab и -ar вы можете скопировать исходные настройки дорожки, как предлагает Тим Фарли, с помощью:
-acodec copy