#ffmpeg #rtsp-client
#ffmpeg #rtsp-клиент
Вопрос:
Я пытаюсь подключиться к некоторому потоку RTSP с помощью av_open_input_file() следующим образом:
AVFormatContext* ic;
avcodec_register_all();
av_register_all();
av_open_input_file(amp;ic, "rtsp://login:password@xxx.xxx.xxx.xxx/videoinput_1/mjpeg/media.stm", NULL, 4096, NULL);
Он всегда возвращает «файл не найден». Тот же URL-адрес я вижу, скажем, в VLC player. Я делаю что-то не так в своем коде?
Я использую FFMPEG 0.6, должен ли я использовать последнюю версию?
Ответ №1:
Оказалось, что я не включил поддержку сети при сборке FFMPEG.
Для меня работали следующие параметры:
—включить-сеть —включить-протокол= tcp —включить-демультиплексирование= rtsp —включить-декодер= h264
Комментарии:
1. Я не нашел —enable-protocol=rtsp . Как вы это исправили?
2. Я использовал —enable-network —enable-protocol=tcp —enable-demuxer=rtsp —enable-decoder=h264 в файле конфигурации, что позволило мне включить rtsp
3. -enable-demuxer=rtsp также решил мою проблему. Мне не нужен был h264, так как мое приложение работает только с потоковой передачей звука.
4. Параметры @AlexanderKulyakhtin — это именно то, что мне нужно для работы потоковой передачи RTSP. Я знаю, что комментариев с благодарностями следует избегать, но этот ответ может быть действительно полезен и другим пользователям, поэтому будьте уверены, что это реальная сделка!