Сегментация файлов .flac с помощью ffmpeg усекает звук, но не длину файла

Я пытаюсь преобразовать аудиофайлы Twitter (.ts) в формат, который я могу легко редактировать, на OSX.

До сих пор мне удавалось массово конвертировать файлы в .flac следующим образом:

for i in *.ts;
do name=`echo "$i" | cut -d'.' -f1`
echo "$name"
ffmpeg -i "$i" -sample_fmt s16 -ar 41000 "${name}.flac"
done

Это сработало и несколько уменьшило размер файла, но... Поскольку длина большинства файлов составляет около 7 часов, выбранный мной редактор не может обработать столько аудио в одном файле.

Итак, я осмотрелся и смог найти эту команду для сегментации файлов на секции по 3 часа.

ffmpeg -i space-1OdKrBealBqKX_0.flac -map 0 -f segment -segment_time 10800 -c copy space-1OdKrBealBqKX_0__%03d.flac

Это работает, но каждый файл содержит столько же пустого / молчаливого пространства в конце, сколько и исходный файл. Это будет проблемой для обмена с командой, которая поможет отредактировать эти файлы, поскольку каждый файл имеет исходную длину и размер файла. Есть много файлов. Однако аудиосегменты и именование работали.

Как обрезать фактическую длину файла до аудиосегмента?

Предостережение: я не являюсь экспертом ни в одном из этих вопросов, мне просто удалось погуглить и добраться до этого места, поэтому, если кто-то знает и хочет предоставить рабочий код, я был бы очень признателен!

Помогает ли опция -reset_timestamps 1?

kesh 05.04.2022 02:51
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
1
29
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Файлы FLAC содержат метаданные о продолжительности потока. При потоковом копировании ffmpeg не может перезаписать эти метаданные, поэтому они сохраняются.

Ваш обходной путь — сегментировать исходный шаг.

ffmpeg -i "$i" -sample_fmt s16 -ar 44100 -f segment -segment_time 10800 "${name}__%03d.flac"

Спасибо, это сработало. Общий размер файла увеличился в 3 раза, но вроде все правильно. Там нет пустого места.

Yan White 05.04.2022 15:08

Другие вопросы по теме