Skip to content

RTSP DESCRIBE 401 when both BASIC and DIGEST auth is offered. #9800

Closed
@DanijelBojcic

Description

@DanijelBojcic

When trying to play a HikVision IP Camera I get DESCRIBE 401 error.
The URL looks like this: rtsp://USER:[email protected]:554/Streaming/channels/102

Formats ( based on VLC's media information ) : H264 - MPEG-4 AVC (part 10) (h264)

Changing WWW_AUTHENTICATION_HEADER_BASIC_PATTERN to match WWW-Authenticate: Basic realm="IP Camera(C1214)" ( mentioned here ) didn't help, although I think it is also an issue because it currently doesn't recognize capital letters and numbers.

Auth

2021-12-21 12:05:35.895 10631-10956/com.dotlab.pierre.digitalhive D/RtspClient: RTSP/1.0 200 OK
    CSeq: 0
    Public: OPTIONS, DESCRIBE, PLAY, PAUSE, SETUP, TEARDOWN, SET_PARAMETER, GET_PARAMETER
    Date:  Tue, Dec 21 2021 12:08:36 GMT
2021-12-21 12:05:35.907 10631-10956/com.dotlab.pierre.digitalhive D/RtspClient: DESCRIBE rtsp://172.30.34.12:554/Streaming/channels/102 RTSP/1.0
    User-Agent: ExoPlayerLib/2.16.1
    CSeq: 1
2021-12-21 12:05:35.929 10631-10956/com.dotlab.pierre.digitalhive D/RtspClient: RTSP/1.0 401 Unauthorized
    CSeq: 1
    WWW-Authenticate: Digest realm="IP Camera(C1214)", nonce="0191a41d87c28cd52b3e9c8adc99291c", stale="FALSE"
    WWW-Authenticate: Basic realm="IP Camera(C1214)"
    Date:  Tue, Dec 21 2021 12:08:36 GMT
2021-12-21 12:05:35.937 10631-10956/com.dotlab.pierre.digitalhive D/RTSPClient: parseWwwAuthenticateHeader: BASIC
2021-12-21 12:05:35.942 10631-10956/com.dotlab.pierre.digitalhive D/RtspClient: DESCRIBE rtsp://172.30.34.12:554/Streaming/channels/102 RTSP/1.0
    User-Agent: ExoPlayerLib/2.16.1
    CSeq: 2
    Authorization: YWRtaW46ZGlnaXRhTGhpdkUh
2021-12-21 12:05:35.957 10631-10956/com.dotlab.pierre.digitalhive D/RtspClient: RTSP/1.0 401 Unauthorized
    CSeq: 2
    WWW-Authenticate: Digest realm="IP Camera(C1214)", nonce="22bb4bccbd3fdd372b71c3447fc5a714", stale="FALSE"
    WWW-Authenticate: Basic realm="IP Camera(C1214)"
    Date:  Tue, Dec 21 2021 12:08:36 GMT

Error

021-12-21 12:05:35.976 10631-10956/com.dotlab.pierre.digitalhive E/ExoPlayerImplInternal: Playback error
      com.google.android.exoplayer2.ExoPlaybackException: Source error
        at com.google.android.exoplayer2.ExoPlayerImplInternal.handleIoException(ExoPlayerImplInternal.java:628)
        at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:604)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:246)
        at android.os.HandlerThread.run(HandlerThread.java:67)
     Caused by: java.io.IOException: DESCRIBE 401
        at com.google.android.exoplayer2.source.rtsp.RtspMediaPeriod$InternalListener.onSessionTimelineRequestFailed(RtspMediaPeriod.java:564)
        at com.google.android.exoplayer2.source.rtsp.RtspClient.dispatchRtspError(RtspClient.java:305)
        at com.google.android.exoplayer2.source.rtsp.RtspClient.access$600(RtspClient.java:73)
        at com.google.android.exoplayer2.source.rtsp.RtspClient$MessageListener.handleRtspResponse(RtspClient.java:561)
        at com.google.android.exoplayer2.source.rtsp.RtspClient$MessageListener.handleRtspMessage(RtspClient.java:494)
        at com.google.android.exoplayer2.source.rtsp.RtspClient$MessageListener.lambda$onRtspMessageReceived$0$RtspClient$MessageListener(RtspClient.java:487)
        at com.google.android.exoplayer2.source.rtsp.-$$Lambda$RtspClient$MessageListener$dJPB0r-FyeWq7xUwLx0FyxTnUk0.run(Unknown Source:4)
        at android.os.Handler.handleCallback(Handler.java:938)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:246) 
        at android.os.HandlerThread.run(HandlerThread.java:67) 
     Caused by: com.google.android.exoplayer2.source.rtsp.RtspMediaSource$RtspPlaybackException: DESCRIBE 401
        at com.google.android.exoplayer2.source.rtsp.RtspClient$MessageListener.handleRtspResponse(RtspClient.java:563)
        at com.google.android.exoplayer2.source.rtsp.RtspClient$MessageListener.handleRtspMessage(RtspClient.java:494) 
        at com.google.android.exoplayer2.source.rtsp.RtspClient$MessageListener.lambda$onRtspMessageReceived$0$RtspClient$MessageListener(RtspClient.java:487) 
        at com.google.android.exoplayer2.source.rtsp.-$$Lambda$RtspClient$MessageListener$dJPB0r-FyeWq7xUwLx0FyxTnUk0.run(Unknown Source:4) 
        at android.os.Handler.handleCallback(Handler.java:938) 
        at android.os.Handler.dispatchMessage(Handler.java:99) 
        at android.os.Looper.loop(Looper.java:246) 
        at android.os.HandlerThread.run(HandlerThread.java:67) 

Versions

  • ExoPlayer version number: 2.16.1
  • Android version: 11
  • Android device: Samsung Galaxy Tab A

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions