我有320 jpg(320x574)图像,我用2004 fps记录它们。我想制作一个.mp4视频。我在cmd(win7)中运行了以下代码,它只是制作了一个jpg编号为320的视频,如果我去了这个(' *。jpg')insted 320,它就不起作用了。我真的很感激任何帮助。
ffmpeg -r 1/5 -i C:\data-Sam\320.jpg -c:v libx264 -r 30 -pix_fmt yuv420p C:\data-Sam\out.mp4
答案 0 :(得分:9)
取决于您想要的文件名:
ffmpeg -f image2 -i Path/To/File/filename%3d.jpg test.avi
filename%3d
适用于名为filename000.jpg
,filename001.jpg
,filename002.jpg
等文件。
答案 1 :(得分:5)
我可以在这里给你看一个例子,
ffmpeg -f image2 -r 60 -i path/filename%03d.jpg -vcodec libx264 -crf 18 -pix_fmt yuv420p test.mp4
filename001.jpg
,filename002.jpg
,... 答案 2 :(得分:1)
您还有其他选择,例如:
-r =设置帧频
ffmpeg -framerate 10 -i Path/To/File/filename%3d.jpg -r 5 -y Path/To/File/test.mp4
答案 3 :(得分:1)
其中的主文件夹是 ffmpeg.exe、Your_files 文件夹和 Result 文件夹。
在 Your_files 文件夹中,上传一系列图片。
bat 文件将按名称按队列顺序对它们进行排序。
完成的视频将在 Result 文件夹中。
echo off
color a
set a="Your_files\*.jpg"
set b="Result\video.mp4"
set c=ffmpeg
set f=-c:v libx264 -pix_fmt yuv420p -r 30 -crf 20
set tmp="Result\list.tmp"
for %%f in (%a%) do (@echo file 'file:%cd%\%%f' >> %tmp%)
%c% -y -f concat -safe 0 -i %tmp% %f% %b%
cd /d Result
del /f /q list.tmp
exit
-c:v libx264 - 我们将使用 x264 编解码器以 MP4 格式进行编码。
-loglevel 16 – 显示所有错误,包括可以从中恢复的错误。
-r 30 – FPS 帧速率。它在所有过滤后,但在视频流编码之前生效。
-crf 20 – 恒定速率因子 (CRF) 是一种质量设置(和速率控制)。从 0 到 51 的值,其中较低的值将导致更好的质量,但会增加文件大小。较高的值意味着更多的压缩,但在某些时候您会注意到质量下降。默认值为 23。
答案 4 :(得分:-1)
我在Windows上使用ffmpeg二进制文件,它没有选择%d。
您正在使用cmd.exe
,对吗?然后这样做:
"file%d.jpg"
cmd.exe
使用%PATH%
模仿真实shell中使用的$PATH
,因此与file%d.jpg
混淆。