Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

srs webrtc suggests adding support for VP8/VP9 #2734

Closed
JerryDai90 opened this issue Nov 15, 2021 · 1 comment
Closed

srs webrtc suggests adding support for VP8/VP9 #2734

JerryDai90 opened this issue Nov 15, 2021 · 1 comment
Assignees
Labels
TransByAI Translated by AI/GPT. WebRTC WebRTC, RTC2RTMP or RTMP2RTC. Won't fix We won't fix it.

Comments

@JerryDai90
Copy link

JerryDai90 commented Nov 15, 2021

Note: Before asking a question, please read the FAQ (Please read FAQ before filing an issue) #2716

Description
When using Android WebView to connect to SRS WebRTC, the video cannot be displayed and there is an error in the background. This issue occurs on Android 8, and it persists across WebView versions 60 to 91.

1. SRS Version: 4

1. SRS Log:

image

1. SRS Configuration:


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

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

http_api {
    enabled         on;
    listen          1985;
}
stats {
    network         0;
}
rtc_server {
    enabled on;
    # Listen at udp://8000
    listen 9000;
    #
    # The $CANDIDATE means fetch from env, if not configed, use * as default.
    #
    # The * means retrieving server IP automatically, from all network interfaces,
    # @see https://github.com/ossrs/srs/wiki/v4_CN_RTCWiki#config-candidate
    candidate $CANDIDATE;
}

vhost __defaultVhost__ {
    rtc {
        enabled     on;
        rtc_to_rtmp on;
        nack        on;
        twcc        on;
    }
    http_remux {
        enabled     on;
        mount       [vhost]/[app]/[stream].flv;
    }
    dvr {
        enabled      on;
        dvr_path     ./recording/[app]/[stream]_[timestamp].flv;
        dvr_plan     session;
    }
    http_hooks {
        enabled         on;
        on_dvr          http://192.168.4.24:9099/hooks;
         on_connect      http://192.168.4.24:9099/hooks;
    }
    play {
        # set the MW(merged-write) latency in ms.
        # @remark For WebRTC, we enable pass-timestamp mode, so we ignore this config.
        # default: 0 (For WebRTC)
        mw_latency 0;
        # Set the MW(merged-write) min messages.
        # default: 0 (For Real-Time, that is min_latency on)
        # default: 1 (For WebRTC, that is min_latency off)
        mw_msgs 0;
    }

}

Replay

How to replay bug?

Steps to reproduce the bug

Currently identified issue is that webview does not support SRS video format, attached is the SDP.

android SDP:

v=0
o=- 7457082497745510370 2 IN IP4 127.0.0.1
s=-
t=0 0
a=group:BUNDLE audio video
a=msid-semantic: WMS 70f73c6e-ed43-4975-a71e-438fd9ae2181
m=audio 9 UDP/TLS/RTP/SAVPF 111 103 9 0 8 105 13 110 113 126
c=IN IP4 0.0.0.0
a=rtcp:9 IN IP4 0.0.0.0
a=ice-ufrag:jGIb
a=ice-pwd:5dKXzI87rMHA8MXlH5Noq0Gj
a=ice-options:trickle
a=fingerprint:sha-256 13:BC:13:97:E9:85:10:92:3B:D7:D8:F2:45:50:7B:B9:F0:9C:76:35:4E:D9:0B:1B:7A:C5:45:04:16:9A:55:92
a=setup:actpass
a=mid:audio
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=sendrecv
a=rtcp-mux
a=rtpmap:111 opus/48000/2
a=rtcp-fb:111 transport-cc
a=fmtp:111 minptime=10;useinbandfec=1
a=rtpmap:103 ISAC/16000
a=rtpmap:9 G722/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:105 CN/16000
a=rtpmap:13 CN/8000
a=rtpmap:110 telephone-event/48000
a=rtpmap:113 telephone-event/16000
a=rtpmap:126 telephone-event/8000
a=ssrc:3305712056 cname:Z5hniQPPslRomQib
a=ssrc:3305712056 msid:70f73c6e-ed43-4975-a71e-438fd9ae2181 99de6ddf-3be0-475b-bf9a-e27274828d45
a=ssrc:3305712056 mslabel:70f73c6e-ed43-4975-a71e-438fd9ae2181
a=ssrc:3305712056 label:99de6ddf-3be0-475b-bf9a-e27274828d45
m=video 9 UDP/TLS/RTP/SAVPF 96 98 100 102 97 99 101
c=IN IP4 0.0.0.0
a=rtcp:9 IN IP4 0.0.0.0
a=ice-ufrag:jGIb
a=ice-pwd:5dKXzI87rMHA8MXlH5Noq0Gj
a=ice-options:trickle
a=fingerprint:sha-256 13:BC:13:97:E9:85:10:92:3B:D7:D8:F2:45:50:7B:B9:F0:9C:76:35:4E:D9:0B:1B:7A:C5:45:04:16:9A:55:92
a=setup:actpass
a=mid:video
a=extmap:2 urn:ietf:params:rtp-hdrext:toffset
a=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=extmap:4 urn:3gpp:video-orientation
a=extmap:5 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay
a=sendrecv
a=rtcp-mux
a=rtcp-rsize
a=rtpmap:96 VP8/90000
a=rtcp-fb:96 ccm fir
a=rtcp-fb:96 nack
a=rtcp-fb:96 nack pli
a=rtcp-fb:96 goog-remb
a=rtcp-fb:96 transport-cc
a=rtpmap:98 VP9/90000
a=rtcp-fb:98 ccm fir
a=rtcp-fb:98 nack
a=rtcp-fb:98 nack pli
a=rtcp-fb:98 goog-remb
a=rtcp-fb:98 transport-cc
a=rtpmap:100 red/90000
a=rtpmap:102 ulpfec/90000
a=rtpmap:97 rtx/90000
a=fmtp:97 apt=96
a=rtpmap:99 rtx/90000
a=fmtp:99 apt=98
a=rtpmap:101 rtx/90000
a=fmtp:101 apt=100
a=ssrc-group:FID 3011154780 3917298615
a=ssrc:3011154780 cname:Z5hniQPPslRomQib
a=ssrc:3011154780 msid:70f73c6e-ed43-4975-a71e-438fd9ae2181 2616fde5-e303-4987-9ac5-6560f5a7593a
a=ssrc:3011154780 mslabel:70f73c6e-ed43-4975-a71e-438fd9ae2181
a=ssrc:3011154780 label:2616fde5-e303-4987-9ac5-6560f5a7593a
a=ssrc:3917298615 cname:Z5hniQPPslRomQib
a=ssrc:3917298615 msid:70f73c6e-ed43-4975-a71e-438fd9ae2181 2616fde5-e303-4987-9ac5-6560f5a7593a
a=ssrc:3917298615 mslabel:70f73c6e-ed43-4975-a71e-438fd9ae2181
a=ssrc:3917298615 label:2616fde5-e303-4987-9ac5-6560f5a7593a

SRS SDP:

Make sure to maintain the markdown structure.

v=0
o=SRS/4.0.191(Leo) 72819344 2 IN IP4 0.0.0.0
s=SRSPlaySession
t=0 0
a=ice-lite
a=group:BUNDLE 0 1
a=msid-semantic: WMS live/7db2fecnull
m=audio 9 UDP/TLS/RTP/SAVPF 111
c=IN IP4 0.0.0.0
a=ice-ufrag:2oh2bh27
a=ice-pwd:9t48k600w81d233i46267628t7qpk9k3
a=fingerprint:sha-256 C5:41:39:00:38:03:51:A0:1E:5F:5B:E2:62:12:13:83:C5:86:F1:D6:80:64:4A:E5:EC:72:4C:9A:03:92:7F:10
a=setup:passive
a=mid:0
a=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=sendonly
a=rtcp-mux
a=rtcp-rsize
a=rtpmap:111 opus/48000/2
a=rtcp-fb:111 transport-cc
a=fmtp:111 minptime=10;useinbandfec=1
a=ssrc:10432 cname:06dkwu367752vc9f
a=ssrc:10432 msid:- 9f9c5231-505f-4ab0-bd10-560f039be039
a=ssrc:10432 mslabel:-
a=ssrc:10432 label:9f9c5231-505f-4ab0-bd10-560f039be039
a=candidate:0 1 udp 2130706431 172.16.210.7 9000 typ host generation 0
m=video 9 UDP/TLS/RTP/SAVPF 125 114
c=IN IP4 0.0.0.0
a=ice-ufrag:2oh2bh27
a=ice-pwd:9t48k600w81d233i46267628t7qpk9k3
a=fingerprint:sha-256 C5:41:39:00:38:03:51:A0:1E:5F:5B:E2:62:12:13:83:C5:86:F1:D6:80:64:4A:E5:EC:72:4C:9A:03:92:7F:10
a=setup:passive
a=mid:1
a=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=sendonly
a=rtcp-mux
a=rtcp-rsize
a=rtpmap:125 H264/90000
a=rtcp-fb:125 transport-cc
a=rtcp-fb:125 nack
a=rtcp-fb:125 nack pli
a=fmtp:125 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f
a=rtpmap:114 red/90000
a=ssrc:10433 cname:06dkwu367752vc9f
a=ssrc:10433 msid:- d72b6703-a00c-4300-ae0d-b8066a9a8a67
a=ssrc:10433 mslabel:-
a=ssrc:10433 label:d72b6703-a00c-4300-ae0d-b8066a9a8a67
a=candidate:0 1 udp 2130706431 172.16.210.7 9000 typ host generation 0

Expected Behavior (Expect)

Make sure to maintain the markdown structure.

Please describe your expectation

Make sure to maintain the markdown structure.

I hope SRS can increase support for VP8 and VP9.

Make sure to maintain the markdown structure.

TRANS_BY_GPT3

@winlinvip
Copy link
Member

winlinvip commented Nov 16, 2021

Not considering supporting VP8 and VP9 for now, because the future trend for this series is AV1 (VP10), see reference #2155.

TRANS_BY_GPT3

@winlinvip winlinvip self-assigned this Nov 16, 2021
@winlinvip winlinvip added WebRTC WebRTC, RTC2RTMP or RTMP2RTC. Won't fix We won't fix it. labels Nov 16, 2021
@winlinvip winlinvip changed the title srs webrtc 建议增加支持VP8/VP9 srs webrtc suggests adding support for VP8/VP9 Jul 29, 2023
@winlinvip winlinvip added the TransByAI Translated by AI/GPT. label Jul 29, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
TransByAI Translated by AI/GPT. WebRTC WebRTC, RTC2RTMP or RTMP2RTC. Won't fix We won't fix it.
Projects
None yet
Development

No branches or pull requests

2 participants