错误报告

在报告错误之前,请考虑以下事项


FFmpeg 处于持续开发状态。
因此,如果您想查询或报告错误,您必须使用 FFmpeg 的最新开发分支版本进行尝试,以确认问题仍然存在。

在编写错误报告时,请包括(未压缩的)
  • 您试图完成什么(例如,“我试图将此格式转码为彼格式……”)
  • 您遇到的问题(例如,“ffmpeg崩溃了,请参阅下面的 gdb 和 valgrind 输出”或“输出视频全是绿色”)
  • 您正在使用的确切命令行(例如,“ffmpeg -i input.mov -an -vcodec foo output.avi”)
  • ffmpeg -v 9 -loglevel 99 -i 提供的完整、未删节的控制台输出,后跟您的输入文件名(从控制台复制/粘贴,包括指示版本和配置选项的横幅),只有在您的问题无法用 ffmpeg 重现时才粘贴 ffplay 或 ffprobe 的输出。
  • 足够的信息,包括任何所需的输入文件,以重现该错误并确认潜在的修复。

您可以使用 -report 选项或定义 FFREPORT 环境变量(为任意值)来获取名为 ffmpeg-*.log 的文件中确切的命令行和完整的详细控制台输出,该文件位于当前目录中。

如果您遇到崩溃错误,请提供 gdb 输出、回溯和反汇编,如果可能,请使用 ffmpeg_g 调试二进制文件提供 valgrind 输出。

对于 gdb,请按如下步骤操作

gdb ffmpeg_g

gdb 中,输入 'r' 以运行,以及 ffmpeg 命令行的其余部分

r <rest of command line>
或者,您可以运行 gdb --args ffmpeg_g <命令行的其余部分>,然后在 gdb 提示符下输入 'r'。

gdb 遇到其问题时,运行以下命令并将输出复制/粘贴到您的错误报告中

bt
disass $pc-32,$pc+32
info all-registers

对于较旧的 gdb 版本,请使用 disass $pc-32 $pc+32


对于 valgrind,请运行以下命令并将输出复制/粘贴到您的错误报告中

valgrind ffmpeg_g <rest of command line>
如果您遇到回归,请使用 git bisect 来查找导致回归的版本。 掌握此信息可以大大加快更正错误的速度。

  错误跟踪器

收集这些信息后,您可以将报告提交给 FFmpeg 错误跟踪器

请注意,您必须先在 注册,然后才能提交报告。

您应该提供所有信息,以便任何人都可以重现该错误。
请不要在开发人员邮件列表中报告您的问题
只有当您也打算提供修复程序时,才将错误报告发送到那里。

  提交示例媒体

开发人员可能会要求您提供一个示例媒体文件来说明您的问题。 在这种情况下,请按照以下步骤操作

  1. 如果示例文件太大(> 10 兆字节),请使用 Unix 'dd' 命令将其缩小

    dd if=sample-file of=small-sample-file bs=1024 count=10000
    然后上传 small-sample-file 而不是 sample-file

  2. 请选择描述性的名称,如 h264_green_tint.movblock_artifacts_after_seeking.mkv。 我们已经有很多 bug.rmsample.avi

  3. 使用 VideoLAN 文件上传器上传示例。

    • 转到 streams.videolan.org/upload/
    • 选择 FFmpeg 项目。
    • 在 VLC 版本字段中填写 FFmpeg 版本。
    • 如果存在工单,请将相应的 Trac 工单号放在 GitLab 工单字段中。
    • 简要描述示例以及哪里出了问题。
    • 上传示例。请注意,文件大小限制为 1024M,超出此限制的文件将被丢弃。


  4. 发送电子邮件给 ffmpeg 邮件列表,并注明示例的文件名。

除非它们是原始 RGB/YUV/PCM,否则压缩(rar、7z、gzip...)的电影文件将被删除,而不进行检查。
此外,上传到 rapidshare 或任何其他类似服务的电影文件将被忽略。 我们不愿意花时间与这种荒谬的、臃肿的、充满垃圾邮件的垃圾作斗争。

telepoint.bg 提供托管