そのような...
rtsp://user:pass@x.x.x.x/VideoString
11 の話がどうなったかはわかりませんが、ffmpeg がサポートするようになりました。
ffmpeg -i rtsp://user:pass@xxxx/VideoString
動作します。
はい、これにも問題があります。ダイジェスト認証が抜けているようです。それを追加することについていくつかのメーリング リストのコメントがあります。
例のように HTTP 基本認証は URL 文字列で渡されますが、ダイジェストは md5 でエンコードされ、HTTP 要求の別の要素として渡されることに注意してください。
また、http://www.live555.com/ライブラリは http/digest 認証をサポートしています。テスト済みで、動作します。
接続性をテストするには、live555 の testProgs を使用します
live/testProgs/openRTSP -4 -u admin admin -w 1280 -h 720 -f 20 rtsp://192.168.0.2/defaultPrimary?streamType=u > testmovie.mp4
はい、コマンドffmpeg
を使用した RTSP 認証をサポートしていffplay
ます。
ffplay
代わりに次のコマンドを使用してみてください。
ffplay rtsp://user:pass@x.x.x.x/VideoString
これは私にとってはうまくいきます。
FFmpegは、少なくとも2010年3月25日のコミット時点で、ダイジェスト認証をサポートしているようです: https ://github.com/FFmpeg/FFmpeg/commit/855e7732c6bcc7d52cd0863407a721c2bf00fcf1
ダイジェスト計算を実装するロジックは、主に次のファイルにあります: https ://github.com/FFmpeg/FFmpeg/blob/master/libavformat/httpauth.c
この変更ログによると、バージョン0.6リリースになりました。
私は週末全体をそれに費やしました(ffmpeg 07/07/2014)と言うことができます-いいえ!おそらく、ffmpeg にはダイジェスト/認証用の RTSP コードがありますが、そこでは機能しません。ダイジェスト/認証で IP カメラから常に 401 エラーが発生し、基本/認証で正常に動作しました。
live555 を使用した VLC は、どの認証でもうまく機能します。