2017-02-06 9 views
1

Я использую FFMPEG для сохранения потока .asf в mp4 на моей машине Ubuntu с именем выходного файла, являющимся меткой времени. Вот код:Bash FFMPEG - «.mp4 нет такого файла или каталога»

current_time=$(date "+%m/%d/%Y_%H:%M:%S") 
ffmpeg -i http://username:[email protected]:Port/videostream.asf -r 10 -vcodec copy -an -t 60 $current_time.mp4 

Однако, я получаю ошибку «.mp4 no such file or directory».

ответ

1

bash не позволяет создавать файловые имена с / настоящего

Согласно POSIX «[т] символы, составляющие имя [файл] могут быть выбраны из множества всех символьных значений за исключение символ косой черты и нулевой байт ". Другими словами, каждая строка между двумя слэшами ([кроме пустой строки]) является другим каталогом, и вы не можете создать файл с именем, содержащим косые черты, .

Создать его без косой черты,

ffmpeg -i http://username:[email protected]:Port/videostream.asf -r 10 -vcodec copy -an -t 60 "${current_time//\//_}".mp4 

(или) изменить строку времени, чтобы не иметь '/' в timestmap,

current_time="$(date "+%m_%d_%Y_%H:%M:%S")" 
ffmpeg -i http://username:[email protected]:Port/videostream.asf -r 10 -vcodec copy -an -t 60 "${current_time}".mp4 
+0

Он работал, спасибо! – user2419553