copy
is neither a switch nor an option. It's the value that can be set for the codec option, and means what it suggests i.e. copy the frames over instead of going through a decode->filter->encode process.
In the question you linked, the string is -c copy
, which means set all codec operations to copy i.e. video, audio, subtitles, data and attachments, if any. -c
is short for -codec
.
If you set -c:v copy
, it means to copy any video streams being processed. Same holds for -c:a
or -c:s
or -c:d
. Of course, FFmpeg must support muxing the targeted stream into the output container. If it does not, the command will fail.
You cannot use audio/video/multimedia filters when asking to copy the stream over, since filters need to decode the audio/video frames and manipulate them. So their result needs to be re-encoded. You can, however, use bitstream filters with copy since those don't alter the main payload but only the associated metadata stored in the stream.