2016-07-27 4 views
1

У меня есть папка с ~ 100 .ts файлами mpegts. Мне нужно объединить их вместе, удаляя файлы, как только они будут объединены.FFmpeg concat - удалить исходные файлы

Мне нужно указать файлы> join file # 1 и # 2> delete # 1> repeat .. Как это написать?

for f in *.ts; do ffmpeg <what here?>; rm $f; done

ответ

0

Найден способ сделать это без FFmpeg:

find tsfolder -name '*.ts' | while read filename; do cat "$filename" >> tsfolder/out.tmp; rm "$filename"; done 
  • find tsfolder: папка tsfolder содержит MPEGTS .ts файлы
  • do cat "$filename" >> tsfolder/out.tmp: добавляет текущий файл предоставленный find до конца от tsfolder/out.tmp
  • rm "$filename": удаляет текущий файл с

Пример:

$ ls tsfolder 
20170125.ts 20170126.ts 20170127.ts 
$ find tsfolder -name '*.ts' | while read filename; do cat "$filename" >> tsfolder/out.tmp; rm "$filename"; done 
$ ls tsfolder 
out.tmp 

Совет:

  • Использование -maxdepth 1 игнорировать подкаталоги
  • И -type f влияют только файлы
+0

It это usefu l если у вас ограниченное пространство для хранения на вашем компьютере, и вы не можете выполнить его без предварительного удаления некоторых файлов. – VixinG

Смежные вопросы