在报告错误之前,请考虑以下事项
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 错误跟踪器。
请注意,您必须先在 注册,然后才能提交报告。
您应该提供所有信息,以便任何人都可以重现该错误。
请不要在开发人员邮件列表中报告您的问题
只有当您也打算提供修复程序时,才将错误报告发送到那里。
开发人员可能会要求您提供一个示例媒体文件来说明您的问题。 在这种情况下,请按照以下步骤操作
- 如果示例文件太大(> 10 兆字节),请使用 Unix 'dd' 命令将其缩小
dd if=sample-file of=small-sample-file bs=1024 count=10000
然后上传 small-sample-file 而不是 sample-file
- 请选择描述性的名称,如
h264_green_tint.mov
或 block_artifacts_after_seeking.mkv
。 我们已经有很多 bug.rm
和 sample.avi
。
- 使用 VideoLAN 文件上传器上传示例。
- 转到 streams.videolan.org/upload/
- 选择 FFmpeg 项目。
- 在 VLC 版本字段中填写 FFmpeg 版本。
- 如果存在工单,请将相应的 Trac 工单号放在 GitLab 工单字段中。
- 简要描述示例以及哪里出了问题。
- 上传示例。请注意,文件大小限制为 1024M,超出此限制的文件将被丢弃。
- 发送电子邮件给 ffmpeg 邮件列表,并注明示例的文件名。
除非它们是原始 RGB/YUV/PCM,否则压缩(rar、7z、gzip...)的电影文件将被删除,而不进行检查。
此外,上传到 rapidshare 或任何其他类似服务的电影文件将被忽略。 我们不愿意花时间与这种荒谬的、臃肿的、充满垃圾邮件的垃圾作斗争。
由 telepoint.bg 提供托管