【问题标题】:How to interprete ffmpeg AVERROR如何解释 ffmpeg AVERROR
【发布时间】:2012-07-19 19:28:41
【问题描述】:

有人知道 AVERROR 含义的列表在哪里吗?类似的东西

-1: reason A
-2: reason B

等等?

【问题讨论】:

    标签: c error-handling ffmpeg


    【解决方案1】:

    您可以使用av_strerror() 获取错误代码的字符串表示形式。

    如果您只是想查找它,可以参考libavutil/error.clibavutil/error.h 的文档。

    【讨论】:

      【解决方案2】:

      给你(取自libavutil/error.c):

      { ERROR_TAG(BSF_NOT_FOUND),      "Bitstream filter not found"                     },
      { ERROR_TAG(BUG),                "Internal bug, should not have happened"         },
      { ERROR_TAG(BUG2),               "Internal bug, should not have happened"         },
      { ERROR_TAG(BUFFER_TOO_SMALL),   "Buffer too small"                               },
      { ERROR_TAG(DECODER_NOT_FOUND),  "Decoder not found"                              },
      { ERROR_TAG(DEMUXER_NOT_FOUND),  "Demuxer not found"                              },
      { ERROR_TAG(ENCODER_NOT_FOUND),  "Encoder not found"                              },
      { ERROR_TAG(EOF),                "End of file"                                    },
      { ERROR_TAG(EXIT),               "Immediate exit requested"                       },
      { ERROR_TAG(EXTERNAL),           "Generic error in an external library"           },
      { ERROR_TAG(FILTER_NOT_FOUND),   "Filter not found"                               },
      { ERROR_TAG(INVALIDDATA),        "Invalid data found when processing input"       },
      { ERROR_TAG(MUXER_NOT_FOUND),    "Muxer not found"                                },
      { ERROR_TAG(OPTION_NOT_FOUND),   "Option not found"                               },
      { ERROR_TAG(PATCHWELCOME),       "Not yet implemented in FFmpeg, patches welcome" },
      { ERROR_TAG(PROTOCOL_NOT_FOUND), "Protocol not found"                             },
      { ERROR_TAG(STREAM_NOT_FOUND),   "Stream not found"                               },
      { ERROR_TAG(UNKNOWN),            "Unknown error occurred"                         },
      

      但这是依赖于版本的方式,最好使用av_strerror() 让库为您提供错误代码的字符串表示形式。

      【讨论】:

        【解决方案3】:

        请注意,大多数函数都会返回 NEGATIVE 错误。所以你必须调用 av_strerror(-returnvalue)

        【讨论】:

          【解决方案4】:

          使用

          printf("%s", av_err2str(ret));
          

          其中 ret 是从函数返回的整数(例如 avformat_open_input(...))。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2018-01-03
            • 2020-09-29
            • 1970-01-01
            • 2015-03-23
            • 1970-01-01
            • 2013-09-13
            • 2020-02-07
            • 2015-07-03
            相关资源
            最近更新 更多