gpt4 book ai didi

windows - 如何使用 MediaInfo 将视频文件的帧率和流计数信息转换为文本文件?

转载 作者:可可西里 更新时间:2023-11-01 11:49:55 27 4
gpt4 key购买 nike

我在 Windows 7 的命令提示符窗口中从批处理文件中执行控制台命令时遇到问题。我想获取视频的帧速率和音频流的数量,并将它们写入文本文件。对于帧速率没有问题,我从批处理文件中运行此命令:

for %%a in (C:\Documents) do (
echo.
Mediainfo --Inform=Video;%%FrameRate%% %%a
)>> "D:\TestFrame2.txt"

但是对于音频流的数量,它返回一个空文本并且没有错误信息。我使用完全相同的批处理文件,但我将 Video 替换为 Audio 并将 FrameRate 替换为 StreamCount

我在运行 Mediainfo --Help-Inform 时看到这些参数。

还有许多其他选项,如 Mediainfo --Inform=General;%%AudioCount%% 不起作用。

我已经测试过将 Inform 替换为 Output 并且没有任何变化。我还测试了直接在控制台窗口中使用此命令而不将结果重定向到文本文件中,这是一回事。

没有获取写入文本文件的音频流数量的原因是什么?

最佳答案

使用MediaInfoCLI将其输出重定向到一个文件,并且不需要枚举文件,因为程序可以做到这一点。

  • 列出没有文件名的帧速率:

    pushd c:\documents
    "C:\Program Files (x86)\MediaInfo\MediaInfoCLI" --output=Video;%%FrameRate%%\r\n ^
    *.mpg *.mp4 *.mkv *.avi *.m4a *.flac *.mp3 *.wav >"D:\TestFrame2.txt"
    popd
  • 列出由 分隔的文件名和帧速率:(请注意,当它从多个 MediaInfo 部分获取信息时,需要一个模板文件):

    pushd c:\documents
    (
    echo General;%%FileName%%%%FileExt%%:
    echo Video;%%FrameRate%%\r\n
    ) >"%temp%\mediainfotemplate"

    "C:\Program Files (x86)\MediaInfo\MediaInfoCLI" ^
    --output="file://%temp%\mediainfotemplate" ^
    *.mpg *.mp4 *.mkv *.avi *.m4a *.flac *.mp3 *.wav >"D:\TestFrame2.txt"

    del "%temp%\mediainfotemplate"
    popd

您可以使用 * 来处理所有文件,而不是显式文件类型列表。

关于windows - 如何使用 MediaInfo 将视频文件的帧率和流计数信息转换为文本文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32526476/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com