Поддерживает ли FFMPEG аутентификацию RTSP? - PullRequest
5 голосов
/ 16 февраля 2011

Например ...

rtsp://user:pass@x.x.x.x/VideoString

Ответы [ 7 ]

12 голосов
/ 27 февраля 2014

Прошло довольно много времени, но я не уверен, что за история в 11, но да, ffmpeg теперь так поддерживает.

ffmpeg -i rtsp: // user: pass @ xxxx / VideoString

работает.

2 голосов
/ 20 апреля 2019

ffmpeg поддерживает аутентификацию rtsp. Я думаю, что вы можете пропустить кавычки, относящиеся к URL-адресу rstp.

примеры:

Не работает:

ffmpeg -i rtsp: // user:pass @ xxxx / VideoString

Рабочая:

ffmpeg -i "rtsp: // пользователь: pass @ xxxx / VideoString"

2 голосов
/ 22 марта 2011

Да, у меня тоже проблемы с этим. Кажется, дайджест-аутентификация отсутствует. Есть несколько комментариев в списке рассылки о его добавлении. См. http://web.archiveorange.com/archive/v/yR2T4nBtThzJs27hqDLb, но ничего окончательного.

Обратите внимание, что базовая аутентификация HTTP передается в строке URL, как в вашем примере, но дайджест кодируется в формате md5 и передается как отдельный элемент в запросе HTTP.

также библиотека http://www.live555.com/ поддерживает http / digest аутентификацию, я тестировал, она работает.

для проверки связности используйте testProgs в live555

live/testProgs/openRTSP -4 -u admin admin -w 1280 -h 720 -f 20 rtsp://192.168.0.2/defaultPrimary?streamType=u > testmovie.mp4
1 голос
/ 24 июня 2016

Да, ffmpeg поддерживает аутентификацию RTSP с использованием команды ffplay.

Попробуйте использовать команду ffplay вместо:

ffplay rtsp://user:pass@x.x.x.x/VideoString

Это работает для меня.

source ( адаптирован из команд, используемых для аутентификации ftp и других, использующих тот же синтаксис ):

ffmpeg.org

0 голосов
/ 21 июля 2017

После много копания с помощью ffmpeg я обнаружил, что длинные URL-адреса с авторизацией не работают в ffmpeg при хорошей работе с VLC.Длина URL-адреса с аутентификацией должна быть меньше 140. Таким образом, 139 символов работали, а 140 не удалось с method SETUP failed: 401 Unauthorized

PS. После поиска исходного кода я нашел https://github.com/FFmpeg/FFmpeg/blob/415f907ce8dcca87c9e7cfdc954b92df399d3d80/libavformat/rtsp.h#L423

Похоже, что это 128 символовдля URL без пароля.

0 голосов
/ 07 июля 2014

Я провел на нем целые выходные (ffmpeg 07/07/2014) и могу сказать -НЕТ! Возможно, ffmpeg имеет коды RTSP для дайджеста / аутентификации, но они там не работают. Я всегда получал ошибку 401 от IP-камеры с дайджестом / аутентификацией и хорошей работой с basic / auth.

VLC с live555 хорошо работает с любой аутентификацией.

0 голосов
/ 15 июня 2011

FFmpeg, по-видимому, поддерживает дайджест-проверку подлинности, по крайней мере, начиная с этого коммита 25 марта 2010 года: https://github.com/FFmpeg/FFmpeg/commit/855e7732c6bcc7d52cd0863407a721c2bf00fcf1

Логика, реализующая дайджест-вычисления, в основном содержится в этом файле: https://github.com/FFmpeg/FFmpeg/blob/master/libavformat/httpauth.c

Согласно этому changelog , который вошел в версию 0.6:

  • HTTP Digest аутентификация
...