[FFmpeg-devel] -vf copy does transcode rather than copy

Michael Bradshaw mjbshaw at gmail.com
Thu Oct 31 18:35:34 CET 2013


On Thu, Oct 31, 2013 at 11:28 AM, David Favor <david at davidfavor.com> wrote:

> Maybe I'm missing something.
>
> The copy filter states...
>
>    http://ffmpeg.org/ffmpeg-**filters.html#copy<http://ffmpeg.org/ffmpeg-filters.html#copy>
>    Copy the input source unchanged to the output. Mainly useful for
> testing purposes.
>
> Test case below shows input video bitrate is 938 kb/s output video bitrate
> is 836 kb/s
> and ffmpeg output shows libx264 is transcoding.
>

If you want to copy the stream without re-encoding it, don't you want -c:v
copy instead of -vf copy?

The copy filter just copies the input data to the output. But the input is
decoded video frames (which it then copies to the output). Note that input
and output here are referring to the filter graph, not the input/output
files.

Data gets decoded -> Goes into filter graph -> "copy" filter just does a
straight copy of the data -> Goes out of the filter graph -> Gets encoded
by your command line parameters (and here it seems to be using defaults,
because you haven't specified any).

Someone please correct me if I'm wrong, though.


More information about the ffmpeg-devel mailing list