FFmpeg для монтажа

Ничего особого. Просто когда-то мне не захотелось скачивать и разбираться в монтажном софте.

Поэтому для себя сделал набор скриптов.

Перед каждой операцией копируете видео в папочку, переименуете в in.mp4, по необходимости подправляете параметры под себя, типа старта и продолжительности и запускаете скрипт.

Склеить несколько видео из list.txt

concatenate.bat
ffmpeg -f concat -safe 0 -i list.txt -c copy out.mp4

Перекодировать Webm в Mp4

convert_webm_to_mp4.bat
ffmpeg -i in.webm out.mp4

Обрезать область

crop.bat
:: width:height:x:y
ffmpeg -i in.mp4 -filter:v "crop=400:300:350:250" -c:a copy out.mp4

Вырезать кусок из видео

cut.bat
:: -ss - start
:: -t - time
ffmpeg -i in.mp4 -ss 10 -t 10 out.mp4
::ffmpeg -i in.mp4 -ss 6.5 out.mp4

Достать аудио из клипа

extract_mp3.bat
ffmpeg -i in.mp4 -q:a 0 -map a audio.mp3

Вшить субтитры

hardsub.bat
::If the subtitle is a separate file called subtitle.srt, you can use this command:
ffmpeg -i in.mp4 -vf subtitles=subs.srt out.mp4
::If the subtitle is embedded in the container video.mkv, you can do this:
::ffmpeg -i video.mkv -vf subtitles=video.mkv out.avi

Сделать видео из картинки с музыкой

join_image_audio.bat
ffmpeg -i image.jpg -i audio.wav out.mp4

Заменить аудиодорожку в видео

join_video_audio.bat
ffmpeg -i in.mp4 -i audio.mp3 -c:v copy -map 0:v:0 -map 1:a:0 out.mp4

Понизить качество видео

quality.bat
:: https://unix.stackexchange.com/questions/28803/how-can-i-red...
:: range for H.265 may be 24 to 30
:: Note that lower CRF values correspond to higher bitrates, and hence produce higher quality videos.
ffmpeg -i in.mp4 -vcodec libx264 -crf 32 out.mp4

Изменить разрешение

resize.bat
ffmpeg -i in.mp4 -vf scale=1376:732 out.mp4

Повернуть

rotate.bat
::0 = 90CounterCLockwise and Vertical Flip (default)
::1 = 90Clockwise
::2 = 90CounterClockwise
::3 = 90Clockwise and Vertical Flip
ffmpeg -i in.mp4 -vf "transpose=2" out.mp4

Кажется тоже изменить разрешение

scale.bat
ffmpeg -i in.mp4 -s 640x360 -c:a copy out.mp4

Тоже порезать, просто несколько раз

split.bat
ffmpeg -i in.mp4 -ss 0 -t 128 out1.mp4
ffmpeg -i in.mp4 -ss 128 -t 256 out2.mp4
ffmpeg -i in.mp4 -ss 256 -t 384 out3.mp4
ffmpeg -i in.mp4 -ss 384 out4.mp4

Сам ffmpeg.exe можно найти здесь:
https://github.com/BtbN/FFmpeg-Builds/releases

Видеомонтаж

900 постов5.6K подписчиков

Добавить пост

Правила сообщества

Критикуй, мамкин оператор.

101
DELETED
Автор поста оценил этот комментарий

называть это видеомонтажем имхо перебор

раскрыть ветку (1)
35
Автор поста оценил этот комментарий

Монтирует? Монтирует.

показать ответы
Автор поста оценил этот комментарий
А текст можно сверху видоса наложить?
раскрыть ветку (1)
2
Автор поста оценил этот комментарий

Обратите внимание на hardsub.bat

А если вам вверху видео надо - не знаю

Автор поста оценил этот комментарий
Это на смартфон прога?? Просто я это когда-то делал с помощью фабрики форматов - удобно было
раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Нет, на винду. Но с терминалом на смартфоне можно закинуть те же скрипты, переименовать в .sh, выдать права, взять версию FFmpeg для arm64 - будет то же самое

Автор поста оценил этот комментарий

Иронично, что большая часть коментариев с бат файлами)

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Лол, точно)

Автор поста оценил этот комментарий

Подскажите, как вырезать лишнюю звуковую дорожку. Без перекодинга.

Чтобы максимально быстро по времени.

А то файлов штук 500

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Попробуйте так

https://stackoverflow.com/a/38162168

1
DELETED
Автор поста оценил этот комментарий

Разбираться было лень, потому наклепал скриптов - ты линуксоид. Ванга.жпг

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Да прост, сначала один понадобился. Уменьшал размер видео для дискорда, где ограничение 8мб

Потом другой... А дальше всё, как в тумане)

Автор поста оценил этот комментарий

Может здесь мне помогут - искала решение проблемы везде и не нашла, надеюсь на силу Пикабу.

Команда:


ffmpeg -i "video1.mp4" -c:v libx264 -x264-params keyint=25:ref=1:no-open-gop=1:bframes=0:scenecut=0:b-adapt=0:repeat-headers=1 -bsf:v h264_mp4toannexb -b:v 4M -vf scale=1920:1080 -an -f matroska -r:v 25 "video2.mkv"


На одном компе работает всегда, на другом - никак не хочет, при запуске ошибка:


Unrecognised option `x264-params`.

Error splitting the argument list: Option not found.


При этом сборки разные от новейших до тех, что работают не втором компе (много их перепробовала от двух разных билдеров), libx264 на месте, проверяла, да и те же сборки на другом работают. Старая команда x264opts тоже не работает. Другие команды типа ресайза видео, или нарезки работают. Системы разные (если это важно, уже хз, что думать) - где работает w10 enterprise, где нет - w10 pro.

раскрыть ветку (1)
Автор поста оценил этот комментарий

Подозреваю, что оно говорит правду. Проверьте все символы и пробелы тоже. Скопируйте бинарник ffmpeg с рабочей машины, скопируйте скрипты

показать ответы
3
Автор поста оценил этот комментарий
переименуете в in.mp4

@Alexmelyon, дам вам совет. Чтобы этой ерундой не заниматься, укажите в скрипте входящий файл параметром.

-i "%1"

Для понимания, предлагаю домашний эксперимент. Запустите скрипт test.bat из командной строки с набором параметров к нему C:\test.bat a b c

@echo off ^
echo Par_0 = %0 ^
echo Par_1 = %1 ^
echo Par_2 = %2 ^
echo Par_3 = %3


P.S. Циркумфлекс ^ ("домик, крышечка") - это символ переноса команд в bat|cmd скриптах windows. Идёт всегда последним в строке.


Хмммм, написать что ли какой-то ликбез по cmd. Раньше как-то это было обыденностью, а с широким и повальным распространением ПК, общая компьютерная грамотность резко снизилась

раскрыть ветку (1)
Автор поста оценил этот комментарий

Конечно, пишите. Пинганите потом только

Автор поста оценил этот комментарий
А как в ffmpeg сделать трекинг области, наложить маску, и по маске сделать цветокоррецию?
раскрыть ветку (1)
Автор поста оценил этот комментарий

На этом наши полномочия... Всё

4
Автор поста оценил этот комментарий

А я ещё некоторые скрипты через %1 и командную строку закинул в sendto, и теперь удобно с любого места в компе файл отправляю на конвертацию.

раскрыть ветку (1)
Автор поста оценил этот комментарий

Прикольно)

А как добавить в sendto?

показать ответы