【发布时间】:2021-02-04 08:43:32
【问题描述】:
我正在编写一个使用 FFMPEG 的应用程序,并且我需要一种将 AVFrames 旋转 90、180 和 270 度的方法,因为相机的位置可能不同。我听说有过滤器可以做类似的事情。我在示例目录中阅读了filtering_video.c 文件,但很难理解该示例中发生了什么。我看到了"transpose=cclock" 部分代码,我的意思是这就是我需要的,但是关于它是如何工作的真的没有太多解释。
const AVFilter *buffersrc = avfilter_get_by_name("buffer"); 和 const AVFilter *buffersink = avfilter_get_by_name("buffersink"); 是什么,如果我只是想进行轮换,为什么还需要它们?当我不想更改像素格式时,为什么需要enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE };?
谁能解释我如何让FFMPEG旋转解码AVFrame?
【问题讨论】: