Skip to content

Is WHIP publishing broken in v6.0-b1 ? #4514

@mpisat

Description

@mpisat

I remember I tested it with v5 - latest version last year and it was working.
I use whip url:
https://de.karsiyaka.com:1990/rtc/v1/whip/?app=live&stream=livestream&eip=5.9.158.156
I tested with and without https, by adding https on top of http 1985 port (with cloudflare tunnels) -- nothing changes

I'm getting

[2025-09-30 02:21:05.168][INFO][3080464][74hb4035] HTTP #0 103.149.46.97:64029 POST https://de.karsiyaka.com:1990/rtc/v1/whip/?app=live&stream=livestream&eip=5.9.158.156, content-length=5420
[2025-09-30 02:21:05.169][INFO][3080464][74hb4035] TCP: before dispose resource(HttpsConn)(0x50d00001be50), conns=1, zombies=0, ign=0, inz=0, ind=0
[2025-09-30 02:21:05.169][ERROR][3080464][74hb4035][0] serve error code=3009(HttpParseHeader)(HTTP parse header failed) : parse message : parse message : parse 5420B, nparsed=0, err=16/HPE_INVALID_METHOD invalid HTTP method
thread [3080464][74hb4035]: process_requests() [./src/app/srs_app_http_conn.cpp:184][errno=0]
thread [3080464][74hb4035]: parse_message() [./src/protocol/srs_protocol_http_conn.cpp:103][errno=0]
thread [3080464][74hb4035]: parse_message_imp() [./src/protocol/srs_protocol_http_conn.cpp:135][errno=0]
[2025-09-30 02:21:05.169][INFO][3080464][2d849279] TCP: clear zombies=1 resources, conns=1, removing=0, unsubs=0
[2025-09-30 02:21:05.169][INFO][3080464][74hb4035] TCP: disposing #0 resource(HttpsConn)(0x50d00001be50), conns=1, disposing=1, zombies=0
[2025-09-30 02:21:06.738][INFO][3080464][u9ka3q97] Hybrid cpu=0.00%,58MB, cid=1,0, timer=62,0,0, clock=0,48,1,0,0,0,0,0,0
[2025-09-30 02:21:11.739][INFO][3080464][u9ka3q97] Hybrid cpu=0.00%,58MB, cid=2,1, timer=62,0,0, clock=0,48,1,1,0,0,0,0,0, free=1
[2025-09-30 02:21:16.739][INFO][3080464][u9ka3q97] Hybrid cpu=0.00%,58MB, cid=2,1, timer=62,0,0, clock=0,48,1,1,0,0,0,0,0, free=1

my config is not much different from original:

root@de /usr/local/srs # objs/srs -c conf/rtc2rtmp.conf
and the config is:

cat conf/rtc2rtmp.conf

listen              12935;
max_connections     1000;
daemon              off;
srs_log_tank        console;

http_server {
    enabled         on;
    listen          18080;
    dir             ./objs/nginx/html;
}

http_api {
    enabled         on;
    listen          1985;
    https {
        enabled on;
        listen 1990;
        key /etc/letsencrypt/live/de.karsiyaka.com/privkey.pem;
        cert /etc/letsencrypt/live/de.karsiyaka.com/fullchain.pem;
    }
}
stats {
    network         0;
}
rtc_server {
    enabled on;
    listen 8000; # UDP port
    # @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#config-candidate
    candidate 5.9.158.156;
}

vhost __defaultVhost__ {
    rtc {
        enabled     on;
        # @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtmp-to-rtc
        rtmp_to_rtc on;
        # @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtc-to-rtmp
        rtc_to_rtmp on;
    }
    http_remux {
        enabled     on;
        mount       [vhost]/[app]/[stream].flv;
    }
}

XHR response to WHIP endpoint

{
    "code": 0,
    "server": "vid-66mhadi",
    "service": "qzds17ll",
    "pid": "3080464",
    "urls": {
        "api": "the api root",
        "rtc": {
            "v1": {
                "play": "Play stream",
                "publish": "Publish stream",
                "nack": "Simulate the NACK"
            }
        }
    }
}

This is not a standard WHIP RFC response.

Metadata

Metadata

Assignees

No one assigned

    Labels

    EnglishNativeThis issue is conveyed exclusively in English.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions