嘿,我遇到了类似的问题:Converting RGB to YUV, + ffmpeg
在 AIR 中,我认为编码太长而无法以合理的速率渲染帧 - 所以我将 argb ByteArray 从bitmap.getPixels(rect)
直接导出到文件。
因此,对于 30 秒的 flash 动画,我将假设 1500 帧导出到 1500 个.argb
文件。
这种方法效果很好。我能够使用 ffmpeg cmd 渲染高清视频:
ffmpeg -f image2 -pix_fmt argb -vcodec rawvideo -s 640x380 -i frame_%d.argb -r 24 -qscale 1.1 -s 640x380 -i ./music.mp3 -shortest render-high.mpg
到现在为止还挺好!然而,在这两个进程之间,我们需要存储大约 3gb 的数据。
然后,我尝试将所有 argb 附加到一个文件并让 ffmpeg 使用它,但没有从中得到任何好处……还尝试弄乱 tcp/udp 但卡住了……
有谁知道简化该过程并希望将 Air 和 ffmpeg 连接在一起的方法?