如何使用 ffmpeg 更改 360 视频投影?
How can I use ffmpeg to change 360 video projection?
我想将 360 度全景视频从等距柱状投影转换为立方体投影。我怎样才能用 ffmpeg 做到这一点?还有哪些其他有效的开源方法?
您可以尝试使用由 Facebook 开发的转换过滤器进行编译
Transform is a video filter that transforms 360 video in
equirectangular projection into a cubemap projection
构建说明:
Transform is implemented as an ffmpeg video filter. To build
Transform, follow these steps:
Checkout the source for ffmpeg
Copy vf_transform.c to the libavfilter subdirectory in ffmpeg source
Edit libavfilter/allfilters.c and register the filter by adding the line: REGISTER_FILTER(TRANSFORM, transform, vf); in the video
filter registration section
Edit libavfilter/Makefile and add the filter to adding the line: OBJS-$(CONFIG_TRANSFORM_FILTER) += vf_transform.o in the filter
section
Configure and build ffmpeg as usual
使用原生 FFmpeg v360 过滤器,它支持比任何其他解决方案更多的功能。
您需要 v360 过滤器(确保您使用最新的 ffmpeg 版本,因为旧版本不包含它)。
例如:
-vf v360=equirect:c3x2
3x2/6x1/1x6 立方体贴图布局可用。
我想将 360 度全景视频从等距柱状投影转换为立方体投影。我怎样才能用 ffmpeg 做到这一点?还有哪些其他有效的开源方法?
您可以尝试使用由 Facebook 开发的转换过滤器进行编译
Transform is a video filter that transforms 360 video in equirectangular projection into a cubemap projection
构建说明:
Transform is implemented as an ffmpeg video filter. To build Transform, follow these steps:
Checkout the source for ffmpeg
Copy vf_transform.c to the libavfilter subdirectory in ffmpeg source
Edit libavfilter/allfilters.c and register the filter by adding the line: REGISTER_FILTER(TRANSFORM, transform, vf); in the video filter registration section
Edit libavfilter/Makefile and add the filter to adding the line: OBJS-$(CONFIG_TRANSFORM_FILTER) += vf_transform.o in the filter section
Configure and build ffmpeg as usual
使用原生 FFmpeg v360 过滤器,它支持比任何其他解决方案更多的功能。
您需要 v360 过滤器(确保您使用最新的 ffmpeg 版本,因为旧版本不包含它)。
例如:
-vf v360=equirect:c3x2
3x2/6x1/1x6 立方体贴图布局可用。