在命令提示符窗口中,我输入了图像目录:
D:\ SavedScreenshots> ffmpeg.exe -r 3 -i Imgp%04d.bmp -s 720x480 test.avi
图像文件是Bmp类型。 第一个图像文件名是:screenshot0.bmp 最后一个是:screenshot168.bmp
一个图像细节的示例:宽度1920高度1080位深度32
ffmpeg.exe文件位于图像的同一目录中。
在提示窗口控制台输出中,我看到:
[image2 @ 00000000025624a0]找不到路径为“Imgp%04d.bmp”的文件,索引范围为0-4 Imgp%04d.bmp:没有这样的文件或目录
然后我应该怎么做命令行?
我发现了问题,现在它正在运行,但这很奇怪。
在c#中我创建我的桌面的截图这个图像在硬盘上我要创建视频文件。 在c#中我做了一个计时器嘀嗒事件:
int count = 0;
private void timer1_Tick(object sender, EventArgs e)
{
Bitmap bmp = new Bitmap(sc.CaptureScreen());
bmp.Save(@"D:\SavedScreenshots\screenshot" + count + ".bmp");
bmp.Dispose();
count ++;
}
这将图像保存在硬盘上,所有图像的大小介于每个文件129-132kb之间。我可以编辑/打开图像并看到它们没有问题,但ffmpeg无法处理它们给了我这个错误。
现在我将c#中的代码更改为:
bmp.Save(@"D:\SavedScreenshots\screenshot" + count + ".bmp", System.Drawing.Imaging.ImageFormat.Bmp);
我添加了部分:System.Drawing.Imaging.ImageFormat.Bmp
现在每个图像文件大小约为7MB !!!! 现在ffmpeg可以使用命令行处理它:
ffmpeg.exe -framerate 3 -i screenshot%d.bmp -vf scale=ntsc,setdar=16/9 test.avi
我想知道为什么当图像大小为130KB时ffmpeg无法处理它没有找到文件或目录,当它们是7MB时它确实找到并创建了视频文件?
即使现在我输入命令行:
ffmpeg -i screenshot%03.bmp -s 720x480 test.avi
我得到的不是这样的文件或目录
仅当我输入时:
ffmpeg -i screenshot%d.bmp -s 720x480 test.avi
它正在运作。
为什么在做截图%3.bmp时它不起作用但截图%d.bmp确实有效?
还做截图.bmp工作。只有截屏%3.bmp不起作用。 在所有的例子中,我看到我必须制作截屏%3或%2,但是他们给我的错误没有这样的目录文件。
答案 0 :(得分:0)
由于你的图像文件'名称为screenshotxxx.bmp
,ffmpeg
的输入参数应为-i screenshot%3d.bmp
。
答案 1 :(得分:0)
如果您的文件名序列顺序不包含统一填充,则可以使用
ffmpeg.exe -framerate 3 -i screenshot%d.bmp -vf scale=ntsc,setdar=16/9 test.avi
我认为您的意思是调整为NTSC宽,即720x480,显示宽高比为16:9。