copy
не является ни переключателем, ни опцией. Это значение, которое может быть установлено для параметра кодека, и означает, что он предлагает, то есть скопировать кадры вместо того, чтобы проходить процесс декодирования -> фильтр->.
В вопросе, который вы связали, строка -c copy
, что означает, что все операции с кодеком копируются, например, видео, аудио, субтитры, данные и вложения, если они есть. -c
не подходит для -codec
.
Если вы установили -c:v copy
, это означает, что нужно копировать любые обрабатываемые видеопотоки. То же самое относится к -c:a
или -c:s
или -c:d
. Конечно, FFmpeg должен поддерживать мультиплексирование целевого потока в выходной контейнер. Если этого не произойдет, команда завершится неудачно.
Вы не можете использовать аудио/видео/мультимедийные фильтры при запросе копирования потока, поскольку фильтры должны декодировать аудио/видео кадры и управлять ими. Поэтому их результат необходимо перекодировать. Однако вы можете использовать битовые потоки с копией, поскольку они не изменяют основную полезную нагрузку, а только связанные метаданные, хранящиеся в потоке.