【问题标题】:ffmpeg unknown keyword invalid data found when processing input处理输入时发现ffmpeg未知关键字无效数据
【发布时间】:2019-07-22 10:16:33
【问题描述】:

我有一个包含内容的文件ffmpeg_list_of_files.txt

file '.\Output_0\forces_vs_radii.pdf'
file '.\Output_1\forces_vs_radii.pdf'
file '.\Output_2\forces_vs_radii.pdf'
file '.\Output_3\forces_vs_radii.pdf'
file '.\Output_4\forces_vs_radii.pdf'
and so on...

然后运行ffmpeg -f concat -i ffmpeg_list_of_files.txt -c copy output.mkv,如

中所述

http://trac.ffmpeg.org/wiki/Concatenate

不幸的是,我得到了错误

Line 1: unknown keyword ' ■f'
.\ffmpeg_list_of_files.txt: Invalid data found when processing input

在 Windows 10 中的 Windows PowerShell 中。

我做错了什么?

【问题讨论】:

  • 您的输入文件的编码错误(可能是 UTF-16 LE)。运行(Get-Content 'ffmpeg_list_of_files.txt') | Set-Content 'ffmpeg_list_of_files.txt' -Encoding Ascii 来解决这个问题。
  • @AnsgarWiechers 我不知道你怎么看/猜到我有错误的编码,但你的建议似乎有帮助。现在,我必须修复帧速率,因为.\ffmpeg -f concat -safe 0 -i .\ffmpeg_list_of_files.txt -c copy output.mkv -framerate 5 似乎不起作用。谢谢!
  • 错误消息中的' ■f' 几乎是一个死的赠品。
  • 您是否正在尝试将 PDF 转换为图像或视频? FFmpeg 没有 PDF 解复用器。其次,期权放置很重要,尾随期权经常被忽略:ffmpeg [global options] [input options] -i [output options] output。第三,-framerate 是某些解复用器的输入选项:对于输出,请改用 -r

标签: windows powershell ffmpeg


【解决方案1】:

这是一个编码问题,我也解决了更改文件编码的问题。 解决方法:

  1. 使用记事本、notepad++ 或类似工具打开 ffmpeg_list_of_files.txt
  2. 将编码更改为不带 BOM 的 UTF-8。为此,请执行以下步骤之一:
  • 在 Windows 记事本中,这是使用“另存为...”选项完成的,在底部将编码更改为“UTF-8”并按“保存”
  • 使用 notepad++ 在主菜单中选择“编码”,然后选择“使用不带 BOM 的 UTF-8 编码”,然后保存文件

名称可能会因版本而有所不同,但按照步骤操作非常简单。

注意:在我的例子中,当重定向 ls 或 dir 到 powershell 中的文件时,文件的默认编码是 USC-2

【讨论】:

    猜你喜欢
    • 2019-08-24
    • 1970-01-01
    • 1970-01-01
    • 2023-03-28
    • 2016-06-22
    • 2014-05-03
    • 2017-02-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多