在报告错误之前,请考虑以下事项:
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
输出、回溯和反汇编,如果可能
valgrind
,请使用
ffmpeg_g
调试二进制文件提供输出。
对于gdb
,进行如下操作:
gdb ffmpeg_g
在 中gdb
,输入“r”来运行,以及
ffmpeg
命令行的其余部分:
r <rest of command line>
或者,您可以运行gdb --args ffmpeg_g <rest of command
line>
并在提示符下键入“r” gdb
。
遇到问题时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
来查找导致回归的修订。获得这些信息可以大大加快错误的纠正速度。
Bug Tracker
收集完这些信息后,您可以向FFmpeg 错误跟踪器
提交报告
。
请注意,您必须先在那里注册
,然后才能提交报告。
您应该提供所有信息,以便任何人都可以重现该错误。
请不要在开发人员邮件列表上报告您的问题:
仅当您还打算提供修复时才向那里发送错误报告。
开发人员可能会要求您提供说明您的问题的示例媒体文件。在这种情况下,请按照下列步骤操作:
- 如果示例文件太大(> 10 MB),请使用 Unix 'dd' 命令将其缩小到一定大小:
dd if=sample-file of=small-sample-file bs=1024 count=10000
然后上传小样本文件而不是样本文件
- 请选择描述性名称,例如
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 邮件列表并注明示例的文件名。
已压缩的电影文件(rar、7z、gzip...)将被删除而不经过检查,除非它们是原始 RGB/YUV/PCM。
此外,上传到 RapidShare 或任何其他类似服务等服务的电影文件将被忽略。我们不愿意花时间与这种荒谬、臃肿、充满垃圾邮件的垃圾作斗争。
由telepoint.bg提供的托管