Skip to content

Instantly share code, notes, and snippets.

@radimih
Created April 4, 2017 15:15
Show Gist options
  • Save radimih/4c4c83de4089064736807b4711488edd to your computer and use it in GitHub Desktop.
Save radimih/4c4c83de4089064736807b4711488edd to your computer and use it in GitHub Desktop.
ffmpeg: объединение и конвертация видео-файлов
#!/bin/sh
#-------------------------------------------------------------------------------
# Скрипт объединения видео-файлов в один и конвертация его в формат MPEG4
# -----------------------------------------------------------------------
# Скрипт берет исходные файлы *.MTS из указанного каталога и генерирует из них
# один файл формата mp4 с названием как исходный каталог.
#
# Входной параметр: имя каталога, содержащий исходные файлы
#-------------------------------------------------------------------------------
PATH_SOURCE=$1
# Список входных файлов, разделенных символом '|'
FILES_INPUT="`ls -m $PATH_SOURCE/*.MTS | xargs | sed -e 's/, /|/g'`"
FILE_OUTPUT="$PATH_SOURCE.mp4"
ffmpeg \
`# Глобальные опции:` \
`# ----------------` \
-y `# переписать выходной файл не спрашивая` \
\
`# Опции входного потока:` \
`# ---------------------` \
-threads 0 `# использовать максимальное количество ядер процессора при декодировании` \
-i concat:"$FILES_INPUT" `# список входных файлов, разделенных символом '|'` \
\
`# Опции выходного потока:` \
`# ----------------------` \
-threads 0 `# использовать максимальное количество ядер процессора при кодировании` \
-codec:v h264 `# видео-кодек выходного файла` \
-codec:a libmp3lame `# аудио-кодек выходного файла` \
-s 960x540 `# размер кадра выходного файла` \
-filter:v "fps=30" `# максимальная частота кадров` \
-b:a 128k `# битрейт аудиопотока` \
$FILE_OUTPUT `# выходной файл`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment