通过ffmpeg将jpg转换为mp4
我有320张jpg(320x574)图像,我用2004 fps记录了它们。我想为他们制作一个.mp4的视频。我在cmd(win7)中运行了下面的代码,它只是制作了一个jpg编号320的视频,如果我使用这个('*.jpg')而不是320,它就不起作用了。我真的很感谢你的帮助通过ffmpeg将jpg转换为mp4,ffmpeg,jpeg,mp4,Ffmpeg,Jpeg,Mp4,我有320张jpg(320x574)图像,我用2004 fps记录了它们。我想为他们制作一个.mp4的视频。我在cmd(win7)中运行了下面的代码,它只是制作了一个jpg编号320的视频,如果我使用这个('*.jpg')而不是320,它就不起作用了。我真的很感谢你的帮助 ffmpeg -r 1/5 -i C:\data-Sam\320.jpg -c:v libx264 -r 30 -pix_fmt yuv420p C:\data-Sam\out.mp4 根据您的文件名,您需要: ffmpeg
ffmpeg -r 1/5 -i C:\data-Sam\320.jpg -c:v libx264 -r 30 -pix_fmt yuv420p C:\data-Sam\out.mp4
根据您的文件名,您需要:
ffmpeg -f image2 -i Path/To/File/filename%3d.jpg test.avi
filename%3d
将用于名为:filename000.jpg
、filename001.jpg
、filename002.jpg
等文件
看
我在windows上使用ffmpeg二进制文件,它不接受%d选项 您正在使用
cmd.exe
,对吗?然后像这样做:
"file%d.jpg"
cmd.exe
使用%PATH%
来模拟真实shell中使用的$PATH
,因此会与文件%d.jpg
混淆。您还有其他选项,如:
- 帧速率=设置视频流的帧速率。默认值为25
- -r=设置帧速率
ffmpeg -framerate 10 -i Path/To/File/filename%3d.jpg -r 5 -y Path/To/File/test.mp4
- 我可以在这里给你举个例子
ffmpeg -f image2 -r 60 -i path/filename%03d.jpg -vcodec libx264 -crf 18 -pix_fmt yuv420p test.mp4
- f:强制格式
- r:帧速率
- i:假设您的文件是
,filename001.jpg
filename002.jpg
- vcodec:视频编解码器
- crf:恒定速率系数(0-51)。17-18在视觉上几乎是无损的。看
- pix_fmt:像素格式
在Your_files文件夹中,上载一系列图像。
Bat文件将按名称按队列顺序对其进行排序。
完成的视频将在结果文件夹中。
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格式进行编码。-日志级别16-显示所有错误,包括可以恢复的错误。
-r 30–每秒帧速率。它在所有过滤之后,但在编码视频流之前生效。
-crf 20–恒定速率系数(crf)是一种质量设置(和速率控制)。从0到51的值,其中较低的值将以较高的文件大小为代价获得更好的质量。较高的值意味着更多的压缩,但在某些时候,您会注意到质量下降。默认值为23。
我的文件名从1.jpg到320.jpg排序。当我运行你留下的代码时,这个注意事项会在cmd中弹出,对于没有有效支持它的muxer,帧速率非常高。当我运行你留下的代码时,这个注意事项会在cmd中弹出,对于没有有效支持它的muxer,帧速率非常高。并要求我使用其他muxer或-vsync2。事实上,我已经记录了我的图像,它是320 jpg,每秒2000帧。我使用的代码是:ffmpeg-f image2-I Path/To/File/filename%d.jpg-r 2000-pix_fmt yuv420p Path\To\result\test.mp4您觉得怎么样?我在windows上使用的是ffmpeg二进制文件,它不接受%d选项。在windows上尝试这样做,据我所知,是行不通的。我只得到第一帧。2004 fps使您的视频长度为80/501秒(低于0.2秒)!伟大的回答和解释!