通过ffmpeg将jpg转换为mp4

通过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

我有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 -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:像素格式

      其中的主文件夹是ffmpeg.exe、Your_files文件夹和Result文件夹。
      在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秒)!伟大的回答和解释!