ffmpeg 中 rtmpproto.c 超时的默认值是多少?

What's the default value of timeout for rtmpproto.c in ffmpeg?

我使用 ffmpeg 制作了一个 rtmp 流媒体 android 应用程序。我想知道流式传输但网络离线时的超时时间。我检查了 rtmpproto.c 实现:

{"timeout", "Maximum timeout (in seconds) to wait for incoming connections. -1 is infinite. Implies -rtmp_listen 1", OFFSET(listen_timeout), AV_OPT_TYPE_INT, {.i64 = -1}, INT_MIN, INT_MAX, DEC, "rtmp_listen" },

我认为超时选项是我想要的。但是我没有找到它的默认值。

timeout 选项的默认值是多少?

根据您引用的代码,默认值{.i64 = -1}表示无限。

ijkmediaplayerijkplayer中加载rtmpurl 用以下 setOption 替换所有 setOption 以轻松加载 rtmp://.... url

        mMediaPlayer = new IjkMediaPlayer();
        mMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "FAST", 1);
        mMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "analyzeduration", 1L);
        mMediaPlayer.setOption(1, "analyzemaxduration", 100L);
        mMediaPlayer.setOption(1, "probesize", 100L);
        mMediaPlayer.setOption(1, "flush_packets", 0L);
        mMediaPlayer.setOption(4, "framedrop", 0L);
        mMediaPlayer.setOption(4, "packet -buffering", 0L);
        mMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "fflags", "nobuffer");
        mMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "mediacodec-HEVC", 1);
        mMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "mediacodec", 1);
        mMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "mediacodec-Auto-Rotate", 1);
        mMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "mediacodec-handle-Resolution-Change", 1);
        mMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "opensles", 0);