FFmpeg HEVC compression?

FFmpeg HEVC compression?

I'm part way through a video processing program and am using ffmpeg to read a frame, process it and then write it to an output file. Input files are HEVC codec and are currently being read and then written to a HEVC mp4 output file. I've noticed that the output file size is an order of magnitude smaller than the input - I assume this means that the video has been compressed again.

What output format/codec should I be using to ensure that the data is not being compressed a second time? Can I output as HEVC but disable the compression?

答案1

The C in HEVC stands for compression. So writing to a HEVC stream will always involve compression.

EDIT

As pointed out by @Gyan and verified I didn't remember correctly: In reallity The C in HEVC stands for (en)coding. What stands is, that encoding in this context is ment as lossy encoding and thus compression

If you want to output uncompressed frames, you can use e.g. rawvideo, but remember that this is a headerless format, so you need to care for the metadata (geometry, color space) seperately or pack it into e.g. an AVI container.

You might also want to consider an editing codec (such as ProRes) a.o.t. a transport codec (such as HEVC), as it will create files in a more handleable size than real losless video, but with very little visible loss after multiple decompression/compression cycles.

相关内容