如何在 FFmpeg 中模拟 OpenFile?
How can I simulate OpenFile in FFmpeg?
大部分gif抓图软件抓取屏幕,然后将它们一张一张的单帧图片文件保存在磁盘上,然后读入内存并组合成gif,使得整个过程非常缓慢。
我想到了用 DirectX 截屏(这样我们也可以截取 directx window 更快,因为它直接操作屏幕 d3d 设备)API 得到位图,然后将它们保存到
directx截屏部分是already.But我发现ffmpeg是使用OpenFile读取图片文件的,所以这里可以模拟OpenFile吗?
如果答案是肯定的,我们怎么办?
您可以打开命名管道并将其用作源。
一个例子:
ffmpeg -f rawvideo -vcodec ravideo -s $width$x$height$ -r $framerate -pix_fmt $pixelFormat$ -i "\.\pipe$pipeName$" Output.gif
您必须修复要提供给 FFmpeg 的帧的格式,因此 -s
和 -pix_fmt
参数。
大部分gif抓图软件抓取屏幕,然后将它们一张一张的单帧图片文件保存在磁盘上,然后读入内存并组合成gif,使得整个过程非常缓慢。
我想到了用 DirectX 截屏(这样我们也可以截取 directx window 更快,因为它直接操作屏幕 d3d 设备)API 得到位图,然后将它们保存到
directx截屏部分是already.But我发现ffmpeg是使用OpenFile读取图片文件的,所以这里可以模拟OpenFile吗? 如果答案是肯定的,我们怎么办?
您可以打开命名管道并将其用作源。
一个例子:
ffmpeg -f rawvideo -vcodec ravideo -s $width$x$height$ -r $framerate -pix_fmt $pixelFormat$ -i "\.\pipe$pipeName$" Output.gif
您必须修复要提供给 FFmpeg 的帧的格式,因此 -s
和 -pix_fmt
参数。