ffmpeg3.1.1版本连接ftp服务器失败

发现这个问题是在ffmpeg4之后修复的:
原因在于libavformat文件下的ftp.c文件:
修改方法:加入在TCP控制连接时加入应答代码202:

static int ftp_features(FTPContext *s)
{
    static const char *feat_command        = "FEAT\r\n";
    static const char *enable_utf8_command = "OPTS UTF8 ON\r\n";
    static const int feat_codes[] = {211, 0};
    static const int opts_codes[] = {200,202 ,451, 0};

    av_freep(&s->features);
    if (ftp_send_command(s, feat_command, feat_codes, &s->features) != 211) {
        av_freep(&s->features);
    }

	if (ftp_has_feature(s, "UTF8")) {
		int ret = ftp_send_command(s, enable_utf8_command, opts_codes, NULL);
		if (ret == 200 || ret == 202)
			s->utf8 = 1;
	}

    return 0;
}

否则的话将会引起的函数调用有:
ftp_status()—>ftp_get_line()----->ftp_getc()------->ffurl_read()------>retry_transfer_wrapper() (avic.c)
具体在ffurl_read()函数中无法退出的原因还没有得出结论
暂时先排查到ffurl_read(),总之引起的原因是状态码列表不存在服务器返回的状态码,该部分的判断在ftp_status()函数:

 if (!code_found) {
            if (err >= 500) {
                code_found = 1;
                result = err;
			}
			else
			{
				for (i = 0;  response_codes[i]; ++i) {
					if (err == response_codes[i]) {
						code_found = 1;
						result = err;
						break;
					}
				}
			}
        }

相关推荐

  1. ffmpeg3.1.1版本连接ftp服务器失败

    2024-05-25 17:55:19       30 阅读
  2. vscode连接远程服务器失败

    2024-05-25 17:55:19       56 阅读
  3. frpFTP服务

    2024-05-25 17:55:19       19 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-25 17:55:19       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-25 17:55:19       106 阅读
  3. 在Django里面运行非项目文件

    2024-05-25 17:55:19       87 阅读
  4. Python语言-面向对象

    2024-05-25 17:55:19       96 阅读

热门阅读

  1. ubuntu22部署 vue 和 springboot项目

    2024-05-25 17:55:19       34 阅读
  2. mybatis一对一,一对多,字段重复

    2024-05-25 17:55:19       32 阅读
  3. [Android]Mac电脑ADB使用

    2024-05-25 17:55:19       35 阅读
  4. 一文详解手机在网状态查询API

    2024-05-25 17:55:19       26 阅读
  5. 链表 删除单链表的重复节点

    2024-05-25 17:55:19       40 阅读
  6. Golang并发编程-协程goroutine初体验

    2024-05-25 17:55:19       35 阅读
  7. html--蛆

    html--蛆

    2024-05-25 17:55:19      26 阅读
  8. centos7上安装ansible的方法

    2024-05-25 17:55:19       35 阅读