Изменить выходной каталог ffmpeg - PullRequest
0 голосов
/ 05 мая 2019

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

Есть предложения?

find /home/server/recordings/compress -name '*.mp4' -print0 | xargs -0 -I{} ffmpeg -i {}  -c:v libx265 -preset fast -crf 25 -x265-params "vbv-maxrate=1500:vbv-bufsize=1000" -c:a aac {}

Ответы [ 2 ]

1 голос
/ 05 мая 2019

Последний аргумент в ffmpeg - это имя выходного файла.Таким образом, вы можете изменить свою команду на

find /home/server/recordings/compress -name '*.mp4' -print0 | xargs -0 -I{} ffmpeg -i {}  -c:v libx265 -preset fast -crf 25 -x265-params "vbv-maxrate=1500:vbv-bufsize=1000" -c:a aac {}.out

. Таким образом, все выходные файлы будут добавлены .out.

0 голосов
/ 05 мая 2019

Передайте имена файлов в sh, используя -exec и измените имя файла там.Например:

find /home/server/recordings/compress -name '*.mp4' -exec sh -c '
ffmpeg -i "$1" -c:v libx265 -preset fast -crf 25 -x265-params "vbv-maxrate=1500:vbv-bufsize=1000" -c:a aac \
    "${1%/*}/modified_${1##*/}"
' _ {} \;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...