Ответить почему, от https://ffmpeg.org/ffmpeg-all.html#Options-35:
Этот demuxer принимает следующую опцию:
safe
, Если установлено на 1, отклоните небезопасные пути к файлам. Путь к файлу считают безопасным, если он не содержит спецификацию протокола и относителен, и все компоненты только содержат символы от переносимого набора символов (буквы, цифры, точка, подчеркивают и дефис), и не имейте никакого периода в начале компонента., Если установлено на 0, любое имя файла принято.
значение по умолчанию равняется 1.
-1 эквивалентно 1, если формат автоматически зондировался и 0 иначе.
Это складывается find .
, помещает ./
перед файлом. См. , Как разделить продвижение "./" в Unix " find"? для решений, если Вы не хотите использовать -safe 0
.
В моем случае, двойные кавычки причины ошибка.
я использую ffmpeg -f concat -i concat.txt -c copy output.m4a
команда, которая эти concat.txt
содержит список входного файла к concat.
Небезопасное имя файла (двойные кавычки):
file "song1.m4a"
file "song2.m4a"
Безопасное имя файла (одинарные кавычки):
file 'song1.m4a'
file 'song2.m4a'
Безопасное имя файла (без кавычек):
file song1.m4a
file song2.m4a
Примечание, что одинарные кавычки и без кавычек только работы, если никакое пространство (' /' прекрасен), Вам все еще нужно -safe 0
, если имя файла/путь содержит пространство.