Batch file 自动化FFmpeg/多核支持

Batch file 自动化FFmpeg/多核支持,batch-file,ffmpeg,Batch File,Ffmpeg,我需要关于FFmpeg/批处理的帮助。我有几个大批量的图像(+每批14000个文件,+5MB每个图像,.TIFF所有这些),我正在使用FFmpeg将它们串成一个.mp4视频 元数据中的日期因创建时的存储方式而中断,因此时间和日期(T/D)位于文件名上。我需要每个帧都有各自的T/D(所以它的文件名)烧录在它们上面,以便进行精确的测量(科学目的) 在谷歌和reddit的帮助下,我成功地实现了半自动化: Master.bat: forfiles /p "D:\InputPath" /m "*.TIFF

我需要关于FFmpeg/批处理的帮助。我有几个大批量的图像(+每批14000个文件,+5MB每个图像,.TIFF所有这些),我正在使用FFmpeg将它们串成一个.mp4视频

元数据中的日期因创建时的存储方式而中断,因此时间和日期(T/D)位于文件名上。我需要每个帧都有各自的T/D(所以它的文件名)烧录在它们上面,以便进行精确的测量(科学目的)

在谷歌和reddit的帮助下,我成功地实现了半自动化:

Master.bat:

forfiles /p "D:\InputPath" /m "*.TIFF" /S /C "cmd /c C:\SlavePath\slave.bat @file @fname"
Slave.bat:

ffmpeg -i "%~1" -vf "drawtext=text=%~2: fontcolor=white: fontsize=30: fontfile='C\:\\FontPath\\OpenSans-Regular.ttf'" "D:\OutputPath\mod_%~1"
运行
Master.bat
将输出每个单独的图像,并将文件名更改为
mod_u'File_uname'.TIFF

实例:2018-06-05--16-00-01.0034.TIFF变为mod_2018-06-05--16-00-01.0034.TIFF

问题是FFmpeg不喜欢我的文件中有“--”(“date--time.milisseconds.TIFF”)并且也不喜欢milisseconds,因此我必须使用批量重命名实用程序(BRU)“手动”更改所有文件的名称。因此,我使用BRU将所有文件重命名为
00001.TIFF、00002.TIFF、
等,FFmpeg再次喜欢我。它工作得很好,但这意味着我不能害怕

之后,我必须返回cmd并手动启动图像到视频的转换

此外,FFmpeg似乎并没有使用所有的核心


我需要帮助找到一种方法:

  • 按处理顺序自动将
    master.bat
    的输出更改为
    00001.TIFF
    等(即第一个要处理的是1.TIFF,第二个是2.TIFF)
  • 将ffmpeg的img添加到自动系统的vid功能中
  • 如果可能的话,让我的CPU有效地使用所有的核心。2014/15年谷歌上的帖子让人觉得FFmpeg似乎不支持多核或超读

  • 64位Windows、i7 7700hq、gtx 1050 4Gb、C:SSD、D:HDD

    ffmpeg-i“2018-06-05--16-00-01.%4d.TIFF”-线程4 out.mp4


    add-threads X,其中X是尝试的CPU数量,未发现任何更改。已尝试-线程0、2和4。我没发现有什么不同。CPU使用率仍为+-30%,D:磁盘使用率为+'60%,RAM使用率为20%。。。我的瓶颈在哪里!?:(你有权访问运行Linux的机器吗?我有,这就是为什么我对batch和bash感到困惑的原因):/但它是2013年的iMac,工作速度比我目前使用的电脑慢得多。你为什么问?我应该使用ubuntu(或任何其他Linux操作系统)?也许tiff编码不是多线程的,所以你必须一组一组地运行slave.bat