我发现一些使用python和ffmpeg通过传递-f rawvideo
标志1 2从像素数组生成视频的资源。但是,这对于高清视频来说非常慢,因为必须将每个像素都输送到ffmpeg中。
实际上,这被证明是浪费的,因为我发现2.5Gb像素阵列可生成约80Kb的视频。我还碰巧看到了一些示例,其中javascript可以近实时地渲染高质量的动画1,这让我更加怀疑自己做错了什么。
是否有一种方法可以更有效地做到这一点,也许是通过将像素阵列之间的差异传递给ffmpeg而不是像素本身?
(编辑)This是我正在使用的行。大多数执行都遵循else
路径。
答案 0 :(得分:0)
未经压缩的原始视频需要大量内存,这就是为什么应尽早对其进行压缩的原因。但是,在您的情况下,最早的时间是当它达到ffmpeg时-您不想开发视频编码器。本质上,管道是进程之间的内存缓冲区的切换,因此,如果这样做正确,将不会有太多开销(例如,交递完整的帧而不是小的缓冲区)。
渲染动画与视频压缩是不同的任务,因此比较没有意义。
您使用哪些视频压缩参数?向我们展示完整的ffmpeg命令行。