iOS: поток видео FFMPEG на сервер выдает «Протокол не найден» для RTSP - PullRequest
0 голосов
/ 15 ноября 2018

У меня есть демонстрационный iOS-проект (8,0 мин), который транслирует локальный mp4 на сервер с помощью FFMPEG.Назначение RTMP работает, RTSP - нет.

При попытке использовать RTSP я получаю сообщение об ошибке «Протокол не найден» из

ret = avio_open(&oc->pb, filename, AVIO_FLAG_WRITE);

Я попытался восстановить библиотеки FFMPEG иУ меня есть необходимые протоколы (Насколько я понимаю, RTSP является мультиплексором в FFMPEG, следовательно, мультиплексор включен)

--enable-muxer=rtsp \
--enable-muxer=rtp \
--enable-protocol=rtp \
--enable-protocol=rtsp \

В коде я попытался добавить соответствующие AVOptions

av_dict_set(&opt, "rtsp_transport", "udp", 0);
av_dict_set(&opt, "announce_port", "1935", 0);
av_dict_set(&opt, "enable-protocol", "rtsp", 0);
av_dict_set(&opt, "protocol_whitelist","file,udp,tcp,rtp,rtsp", 0);
av_dict_set(&opt, "enable-protocol", "rtp", 0);
av_dict_set(&opt, "enable-protocol", "rtsp", 0);
av_dict_set(&opt, "enable-protocol", "udp", 0);
av_dict_set(&opt, "enable-muxer", "rtsp", 0);
av_dict_set(&opt, "enable-muxer", "rtp", 0);

Это вызывается в моих вызовах с открытым кодеком.

ret = avcodec_open2(c, codec, &opt);

Такое ощущение, что я упускаю что-то очень простое, любая помощь будет потрясающей!

...