Используйте bash и ffmpeg в 18.04 для объединения нескольких файлов 3GP в один файл 3GP, сопоставляя по дате ГГГГММДД в ​​имени файла

У меня есть эти файлы примеров в системе Ubuntu 18.04:

VID_20190407_160033.3gp  
VID_20190407_161444.3gp  
VID_20190407_161609.3gp  

VID_20190415_183315.3gp  
VID_20190415_183411.3gp  
VID_20190415_192712.3gp  

VID_20190420_124435.3gp  
VID_20190420_125755.3gp  
VID_20190420_130214.3gp  
VID_20190420_141700.3gp  

И я хочу объединить файлы 3GP с помощью сценария (возможно, с ffmpeg ?) В один файл, выбрав файлы с датой ГГГГММДД в ​​имени файла, в результате чего:

VID_20190407.3gp
VID_20190415.3gp
VID_20190420.3gp

Каков наилучший способ написать это?

Система

Linux local 5.0.0-29-lowlatency #31-Ubuntu SMP PREEMPT Thu Sep 12 14:13:01 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Спасибо.

2
задан 24 September 2019 в 01:17

1 ответ

3GP файлы могут быть связаны с использованием ffmpeg командой, подобной:

ffmpeg -f concat -i <(find . -name 'YYYYMMDD_XXXXXX.3gp' -printf "file '$PWD/%p'\n") -c copy YYYYMMDD.3gp

после того как Вы создаете для-следующего цикл, чтобы отфильтровать на YYYYMMDD использование первой инстанции первого значения для этого как переменная, собрать _XXXXXX компоненты имени файла и шаг через них последовательно; затем, движение к следующему значению YYYYMMDD и шагу через все его файлы.

--

Альтернативный и более изящный метод с помощью виртуального concat demuxer, который обратил мое внимание llogan, был бы к

A) считайте количество файлов с первым префиксом YYYYMMDD, затем
B) создайте файл управления mylist.txt со строкой для каждого из файлов, соответствующих тому префиксу даты, который был бы похож:

Кошка $ mylist.txt
файл '/path/to/file1'
файл '/path/to/file2'
файл '/path/to/file3'
файл '/path/to/file4'

или

Кошка $ mylist.txt
файл '/path/to/YYYYMMDD_XXXXX1.3gp'
файл '/path/to/YYYYMMDD_XXXXX2.3gp'
файл '/path/to/YYYYMMDD_XXXXX3.3gp'
файл '/path/to/YYYYMMDD_XXXXX4.3gp'

затем C) выполняются

ffmpeg -f concat -i mylist.txt -c copy YYYYMMDD.mp4

Теперь, Вы связали первый набор файла. Шаг на следующей группе YYYYMMDD и повторении.

2
ответ дан 23 October 2019 в 10:46

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

Похожие вопросы: