我最近渲染了一个大型 8k 360 度图像文件。为了展示,我想将其转换为几分钟的视频,以便人们可以在 YouTube 的 VR 360 查看器中观看。然而,这个过程非常缓慢。
目前我正在使用 ffmpeg:ffmpeg -loop 1 -i input.png -pix_fmt yuv420p -c:v libx264 -preset ultrafast -r 24 -threads 128 -t 1 output.mp4
这只能让我的(相当快的)笔记本电脑达到大约 1FPS,而在我更强大的台式机 CPU 上可以多出几帧。我尝试过使用 GPU,但是 FFMPEG 出错了,说我的 GTX 卡无法处理 8192x8192 图像。所以,我目前只能花几个小时来编码几分钟的视频 - 有没有更快的方法可以做到这一点?
顺便说一句,我使用的是 Linux,我可以使用游戏卡(尽管如前所述,它可能没什么用)。目前我只能使用 FOSS/免费软件 - 没有付费应用程序。我最好在 ffmpeg 中执行此操作。我有一个 NVME SSD 驱动器,所以我并不认为数据读取会成为瓶颈,但也许是?
答案1
如果它只是一张静止图像,则只需渲染一小段,然后从中循环出一个更大的文件。
ffmpeg -loop 1 -framerate 24 -i input.png -pix_fmt yuv420p -c:v libx264 -preset veryfast -t 5 5s.mp4
进而
ffmpeg -stream_loop 50 -i 5s.mp4 -c copy 255s.mp4
获得 255 秒的文件。