В этой записи представлен пример пакетной обработки, команда конвертации файлов ffmpeg nvidia. После установки FFmpeg можно преобразовывать видео и аудио файлы в различные форматы через консоль cmd
- 1 Основные параметры FFmpeg
- 2 Проверить список поддерживаемых FFmpeg форматов
- 3 Получение информации о видеофайле
- 4 Превратить набор картинок в видео
- 5 Конвертировать видео в gif анимацию
- 6 Пакетная конвертация файлов через ffmpeg
- 7 Пример перекодирования mp4 файлов с минимальными потерями в качестве
- 8 Извлечь аудио из видео
- 9 Сшить видеофайлы mp4
Основные параметры FFmpeg
- -i имя исходного файла, который предстоит сконвертировать, если файлов несколько перед каждым из них нужно указать -i;
- -y ответит Да (yes) на все вопросы от FFmpeg, если они возникнут в процессе кодирования, например при для перезаписи файла, если тот уже существует;
- -vcodec или кратко c:v – параметры видеокодека, либо copy (если перекодирование не требуется), либо пустой параметр (по умолчанию);
- -f – формат контейнера;
- -b:v (-vb, -b) – битрейт видео в килобитах или мегабитах в секунду задаётся буквой K или M;
- -aspect – соотношение сторон картинки (4:3, 16:9, 1.3333, 1.7777);
- -r – частота кадров;
- -s – разрешение, поддерживаются как числовые значения (например, 640×480, 1920×1080), так и буквенные обозначения (например, qcif, qvga);
- -vf (или -filter:v) — опция со списком фильтров, которые будут применены к видео;
- -c:a (или -acodec) – параметры аудиокодека, либо copy (если аудио дорожку нужно оставить как есть), либо пустой параметр (по умолчанию);
- -f – формат аудио;
- -af (или -filter:a) — опция со списком фильтров, которые будут применены к аудио;
- -ab (или -b:a) – битрейт аудио;
- -ar – частота дискредитации;
- -ac – количество каналов.
Проверить список поддерживаемых FFmpeg форматов
$ ffmpeg -formats
Получение информации о видеофайле
ffmpeg -i video.avi
Превратить набор картинок в видео
ffmpeg -f image2 -i image%d.jpg video.mpg
Конвертировать видео в gif анимацию
ffmpeg -i mp4.mp4 dog.gif ffmpeg -i mp4.mp4 -filter_complex "fps=15, scale=360:-1" dog.gif
Пакетная конвертация файлов через ffmpeg
Создать .bat файл
@Echo off Pushd \\nas\mult\ for %%f in (*.mkv) do ( ffmpeg -i "%%~f" -c:v h264_nvenc -c:a copy "%%~nf.avi" ) PopD Pause
этот проект скрипта ищет .mkv файлы в сетевой папке и перекодирует их в .avi, команда конвертации файлов ffmpeg nvidia, кодек h264_nvenc, сохраняя файлы в исходной папке с тем же именем.
для локальной папки используем
Pushd "С:\mult\"
Как скопировать названия файлов в папке
Пример перекодирования mp4 файлов с минимальными потерями в качестве
Оптимальный вариант, практически без потери качества
ffmpeg -i output7.mp4 -c:v h264_nvenc -crf 20 -preset slow -b:v 4M -maxrate:v 5M -bufsize:v 8M -c:a copy -vf framerate=fps=60 output7-1.mp4
ffmpeg -i output.mp4 -c:v h264_nvenc -preset medium -c:a aac -crf 21 outputs.mp4 ffmpeg -i output.mp4 -c:v h264_nvenc -c:a aac -b:v 7000k -b:a 128k outputs.mp4 ffmpeg -i output.mp4 -c:v libx264 -preset medium -c:a aac -crf 15 output.mp4
Если у вас есть своя любимая команда конвертации файлов ffmpeg nvidia, напишите об этом в комментарии
Извлечь аудио из видео
Для получения аудио дорожки без видео
ffmpeg -i input.mp4 -c:a copy audio.aac
Конвертировать один формат аудио в другой
ffmpeg -i audio.aac mp3.mp3
Заменить в видеофайле аудио с AC3, на MP3 без конвертации видео потока
ffmpeg -i input_file_with_mp3_audio.mp4 -c:v copy -c:a libfdk_aac -b:a 128k mp4.mp4
Сшить видеофайлы mp4
Исходные видеофайлы mp4 должны быть кодированы одинаковым кодеком и иметь одинаковые параметры, в том числе одинаковую частоту кадров — fps, иначе будут проблемы в выходном файле.
часто возникают проблемы с частотой кадров, при перекодировании исходных файлов используем конструкцию с фильтром
-vf framerate=fps=60
Сшивка происходит моментально по команде
ffmpeg -f concat -safe 0 -i video.txt -c copy output.mp4
файл со списком файлов
file C:/Users/Neo/Desktop/video/output7.mp4 file C:/Users/Neo/Desktop/video/output9.mp4