Closed onorua closed 5 months ago
Hi @onorua, Thanks for trying it out.
(srt-whep:969624): webrtcsink-WARNING **: 19:52:37.526: The
rtpgccbwe
element is not available not doing any congestion control: BoolError { message: "Failed to find element factory with name 'rtpgccbwe' for creating element" }
From the log you shared, it seems that some elements from GStreamer are missing. Most likely we had some problems installing the framework. But it should be easy to fix. I wonder if you are building it from the source or installing from Cargo? And what platform (MacOS or Linux) are you expecting to run it?
If you are building from the source code. Maybe you have installed GStreamer packages and would you like to check with the command gst-inspect-1.0 rtpgccbwe
? In my case, the outcome looks like the following.
Factory Details: Rank none (0) Long-name Google Congestion Control bandwidth estimator Klass Network/WebRTC/RTP/Filter Description Estimates current network bandwidth using the Google Congestion Control algorithm notifying about it through the 'bitrate' property Author Thibault Saunier tsaunier@igalia.com Documentation https://gstreamer.freedesktop.org/documentation/rsrtp/rtpgccbwe.html ...
Some more details about your running environment would help a lot to fix the problem.
Linux Debian host Linux x 6.7.0 #6 SMP PREEMPT_DYNAMIC Sat Feb 17 17:13:57 EET 2024 x86_64 GNU/Linux
I've compiled srt-whep from source code :
Compiling libc v0.2.147
Compiling proc-macro2 v1.0.66
Compiling unicode-ident v1.0.11
Compiling autocfg v1.1.0
Compiling cfg-if v1.0.0
Compiling pkg-config v0.3.27
Compiling once_cell v1.18.0
Compiling pin-project-lite v0.2.12
Compiling memchr v2.5.0
Compiling serde v1.0.183
Compiling hashbrown v0.14.0
Compiling futures-core v0.3.28
Compiling smallvec v1.11.0
Compiling equivalent v1.0.1
Compiling winnow v0.5.7
Compiling version_check v0.9.4
Compiling bytes v1.4.0
Compiling heck v0.4.1
Compiling target-lexicon v0.12.11
Compiling log v0.4.19
Compiling futures-sink v0.3.28
Compiling futures-task v0.3.28
Compiling futures-channel v0.3.28
Compiling itoa v1.0.9
Compiling futures-util v0.3.28
Compiling slab v0.4.8
Compiling version-compare v0.1.1
Compiling pin-utils v0.1.0
Compiling futures-io v0.3.28
Compiling lock_api v0.4.10
Compiling parking_lot_core v0.9.8
Compiling scopeguard v1.2.0
Compiling indexmap v2.0.0
Compiling num-traits v0.2.16
Compiling fnv v1.0.7
Compiling tracing-core v0.1.31
Compiling http v0.2.9
Compiling num-integer v0.1.45
Compiling percent-encoding v2.3.0
Compiling serde_derive v1.0.183
Compiling quote v1.0.32
Compiling cfg-expr v0.15.4
Compiling ryu v1.0.15
Compiling httparse v1.8.0
Compiling either v1.9.0
Compiling indexmap v1.9.3
Compiling syn v2.0.28
Compiling jobserver v0.1.26
Compiling socket2 v0.5.3
Compiling mio v0.8.8
Compiling signal-hook-registry v1.4.1
Compiling num_cpus v1.16.0
Compiling cc v1.0.82
Compiling parking_lot v0.12.1
Compiling time-core v0.1.1
Compiling typenum v1.16.0
Compiling syn v1.0.109
Compiling time-macros v0.2.11
Compiling generic-array v0.14.7
Compiling hashbrown v0.12.3
Compiling deranged v0.3.7
Compiling socket2 v0.4.9
Compiling httpdate v1.0.2
Compiling getrandom v0.2.10
Compiling untrusted v0.7.1
Compiling spin v0.5.2
Compiling openssl-probe v0.1.5
Compiling form_urlencoded v1.2.0
Compiling subtle v2.5.0
Compiling base64 v0.21.2
Compiling aho-corasick v1.0.3
Compiling tower-service v0.3.2
Compiling try-lock v0.2.4
Compiling regex-syntax v0.7.4
Compiling outref v0.5.1
Compiling vsimd v0.8.0
Compiling want v0.3.1
Compiling http-body v0.4.5
Compiling cpufeatures v0.2.9
Compiling thiserror v1.0.44
Compiling paste v1.0.14
Compiling lazy_static v1.4.0
Compiling rustls v0.21.6
Compiling bitflags v2.3.3
Compiling bytes-utils v0.1.3
Compiling proc-macro-error-attr v1.0.4
Compiling ring v0.16.20
Compiling vcpkg v0.2.15
Compiling base64-simd v0.8.0
Compiling bitflags v1.3.2
Compiling tinyvec_macros v0.1.1
Compiling rustls-pemfile v1.0.3
Compiling proc-macro-error v1.0.4
Compiling tinyvec v1.6.0
Compiling semver v1.0.18
Compiling rustls-native-certs v0.6.3
Compiling unicode-bidi v0.3.13
Compiling block-buffer v0.10.4
Compiling time v0.3.25
Compiling crypto-common v0.1.6
Compiling toml_datetime v0.6.3
Compiling serde_spanned v0.6.3
Compiling digest v0.10.7
Compiling tower-layer v0.3.2
Compiling toml_edit v0.19.14
Compiling num-rational v0.4.1
Compiling openssl-sys v0.9.91
Compiling fastrand v2.0.0
Compiling serde_json v1.0.104
Compiling rand_core v0.6.4
Compiling unicode-normalization v0.1.22
Compiling rustc_version v0.4.0
Compiling openssl v0.10.56
Compiling foreign-types-shared v0.1.1
Compiling ppv-lite86 v0.2.17
Compiling zeroize v1.6.0
Compiling foreign-types v0.3.2
Compiling option-operations v0.5.0
Compiling itertools v0.11.0
Compiling native-tls v0.2.11
Compiling idna v0.4.0
Compiling regex-automata v0.3.6
Compiling rand_chacha v0.3.1
Compiling aws-types v0.56.0
Compiling serde_bytes v0.11.12
Compiling muldiv v1.0.1
Compiling url v2.4.0
Compiling pretty-hex v0.3.0
Compiling rand v0.8.5
Compiling aws-smithy-types v0.56.0
Compiling toml v0.7.6
Compiling proc-macro-crate v1.3.1
Compiling sha2 v0.10.7
Compiling system-deps v6.1.1
Compiling sha1 v0.10.5
Compiling hmac v0.12.1
Compiling zstd-sys v2.0.8+zstd.1.5.5
Compiling hex v0.4.3
Compiling uuid v1.4.1
Compiling anyhow v1.0.72
Compiling bytestring v1.3.0
Compiling ahash v0.8.3
Compiling local-waker v0.1.3
Compiling zstd-safe v6.0.6
Compiling atomic_refcell v0.1.10
Compiling alloc-no-stdlib v2.0.4
Compiling iana-time-zone v0.1.57
Compiling crc32fast v1.3.2
Compiling alloc-stdlib v0.2.2
Compiling itertools v0.10.5
Compiling aws-smithy-json v0.56.0
Compiling encoding_rs v0.8.32
Compiling utf-8 v0.7.6
Compiling adler v1.0.2
Compiling regex v1.9.3
Compiling data-encoding v2.4.0
Compiling rustix v0.38.8
Compiling mime v0.3.17
Compiling byteorder v1.4.3
Compiling tracing v0.1.37
Compiling miniz_oxide v0.7.1
Compiling brotli-decompressor v2.3.4
Compiling actix-utils v3.0.1
Compiling serde_urlencoded v0.7.1
Compiling actix-service v2.0.2
Compiling cookie v0.16.2
Compiling sct v0.7.0
Compiling rustls-webpki v0.101.3
Compiling ahash v0.7.6
Compiling linux-raw-sys v0.4.5
Compiling convert_case v0.4.0
Compiling futures-macro v0.3.28
Compiling tokio-macros v2.1.0
Compiling tracing-attributes v0.1.26
Compiling thiserror-impl v1.0.44
Compiling pin-project-internal v1.1.3
Compiling openssl-macros v0.1.1
Compiling prost-derive v0.11.9
Compiling derive_more v0.99.17
Compiling brotli v3.3.4
Compiling tokio v1.30.0
Compiling chrono v0.4.26
Compiling glib-sys v0.18.1
Compiling gobject-sys v0.18.0
Compiling gstreamer-sys v0.21.0
Compiling gstreamer-base-sys v0.21.0
Compiling pin-project v1.1.3
Compiling gio-sys v0.18.1
Compiling glib-macros v0.18.0
Compiling gstreamer-video-sys v0.21.0
Compiling gstreamer-sdp-sys v0.21.0
Compiling gstreamer-audio-sys v0.21.0
Compiling gstreamer-app-sys v0.21.0
Compiling gstreamer-webrtc-sys v0.21.0
Compiling gstreamer-rtp-sys v0.21.0
Compiling prost v0.11.9
Compiling flate2 v1.0.26
Compiling actix-router v0.5.1
Compiling xmlparser v0.13.5
Compiling urlencoding v2.1.3
Compiling utf8parse v0.2.1
Compiling regex-syntax v0.6.29
Compiling language-tags v0.3.2
Compiling aws-smithy-query v0.56.0
Compiling aws-smithy-xml v0.56.0
Compiling anstyle-parse v0.2.1
Compiling prost-types v0.11.9
Compiling gst-plugin-version-helper v0.7.5
Compiling futures-executor v0.3.28
Compiling local-channel v0.1.3
Compiling tungstenite v0.19.0
Compiling actix-web-codegen v4.2.0
Compiling gstreamer-pbutils-sys v0.21.0
Compiling is-terminal v0.4.9
Compiling actix-macros v0.2.4
Compiling webpki v0.22.0
Compiling time v0.1.45
Compiling colorchoice v1.0.0
Compiling overload v0.1.1
Compiling anstyle-query v1.0.0
Compiling anstyle v1.0.1
Compiling async-trait v0.1.72
Compiling nu-ansi-term v0.46.0
Compiling anstream v0.3.2
Compiling webpki-roots v0.22.6
Compiling regex-automata v0.1.10
Compiling gst-plugin-webrtc v0.11.0
Compiling tungstenite v0.20.0
Compiling jsonwebtoken v8.3.0
Compiling tokio-util v0.7.8
Compiling tokio-stream v0.1.14
Compiling tokio-rustls v0.24.1
Compiling tower v0.4.13
Compiling tokio-native-tls v0.3.1
Compiling actix-rt v2.8.0
Compiling livekit-protocol v0.1.3
Compiling matchers v0.1.0
Compiling aws-smithy-async v0.56.0
Compiling h2 v0.3.20
Compiling aws-credential-types v0.56.0
Compiling actix-codec v0.5.1
Compiling actix-server v2.2.0
Compiling tokio-tungstenite v0.19.0
Compiling tracing-log v0.1.3
Compiling sharded-slab v0.1.4
Compiling thread_local v1.1.7
Compiling glib v0.18.1
Compiling minimal-lexical v0.2.1
Compiling strsim v0.10.0
Compiling linked-hash-map v0.5.6
Compiling clap_lex v0.5.0
Compiling ipnet v2.8.0
Compiling clap_builder v4.3.21
Compiling tracing-subscriber v0.3.17
Compiling yaml-rust v0.4.5
Compiling nom v7.1.3
Compiling async-tungstenite v0.23.0
Compiling futures v0.3.28
Compiling async-recursion v1.0.4
Compiling clap_derive v4.3.12
Compiling parse_link_header v0.3.3
Compiling gst-plugin-webrtc-signalling-protocol v0.11.0
Compiling livekit-api v0.1.3
Compiling gethostname v0.2.3
Compiling url-escape v0.1.1
Compiling pathdiff v0.2.1
Compiling human_bytes v0.4.2
Compiling serde-aux v4.2.0
Compiling timed-locks v0.1.1
Compiling validator v0.16.1
Compiling tracing-bunyan-formatter v0.3.8
Compiling secrecy v0.8.0
Compiling unicode-segmentation v1.10.1
Compiling config v0.13.3
Compiling tokio-async-drop v0.1.0
Compiling hyper v0.14.27
Compiling clap v4.3.21
Compiling gstreamer v0.21.0
Compiling zstd v0.12.4
Compiling aws-smithy-http v0.56.0
Compiling hyper-rustls v0.24.1
Compiling hyper-tls v0.5.0
Compiling actix-http v3.3.1
Compiling reqwest v0.11.18
Compiling aws-smithy-http-tower v0.56.0
Compiling aws-sigv4 v0.56.0
Compiling aws-smithy-runtime-api v0.56.0
Compiling aws-smithy-client v0.56.0
Compiling aws-smithy-runtime v0.56.0
Compiling aws-http v0.56.0
Compiling aws-sig-auth v0.56.0
Compiling aws-runtime v0.56.0
Compiling actix-web v4.3.1
Compiling aws-sdk-sts v0.29.0
Compiling aws-sdk-sso v0.29.0
Compiling aws-sdk-kinesisvideosignaling v0.29.0
Compiling aws-sdk-kinesisvideo v0.29.0
Compiling actix-cors v0.6.4
Compiling tracing-actix-web v0.7.6
Compiling aws-config v0.56.0
Compiling gstreamer-base v0.21.0
Compiling gstreamer-sdp v0.21.0
Compiling gstreamer-rtp v0.21.0
Compiling gstreamer-webrtc v0.21.0
Compiling gstreamer-video v0.21.0
Compiling gstreamer-app v0.21.0
Compiling gstreamer-audio v0.21.0
Compiling gstreamer-utils v0.21.0
Compiling gstreamer-pbutils v0.21.0
Compiling srt_whep v1.2.1 (/home/onorua/p/streaming/srt-whep)
Finished dev [unoptimized + debuginfo] target(s) in 1m 24s
Looks like the plugin was not installed:
gst-inspect-1.0 rtpgccbwe
No such element or plugin 'rtpgccbwe'
Installed sudo apt install gstreamer1.0-plugins-rtp
But I still see the Warning:
(srt-whep:1546355): webrtcsink-WARNING **: 11:10:41.946: The `rtpgccbwe` element is not available not doing any congestion control: BoolError { message: "Failed to find element factory with name 'rtpgccbwe' for creating element", filename: "/home/onorua/.cargo/registry/src/index.crates.io-6f17d22bba15001f/gstreamer-0.21.0/src/element_factory.rs", function: "gstreamer::element_factory::ElementBuilder::build::{{closure}}", line: 291 }
thread 'tokio-runtime-worker' panicked at /home/onorua/.cargo/registry/src/index.crates.io-6f17d22bba15001f/gst-plugin-webrtc-0.11.0/src/webrtcsink/imp.rs:1373:18:
called `Option::unwrap()` on a `None` value
Docker environment worked out fine. So I've checked the list of packages suggested in the installation guide and looks like these 3 were not installed:
gstreamer1.0-gtk3 gstreamer1.0-nice gstreamer1.0-qt
After installing - I see the test stream. Sorry for bothering!
I've tried to follow instructions:
docker run --rm -p 1234:1234/udp eyevinntechnology/testsrc
srt-whep -i 127.0.0.1:1234 -o 127.0.0.1:8888 -p 8000 -s caller | bunyan
gst-launch-1.0 playbin uri="srt://127.0.0.1:8888"
http://localhost:8000/channel
in URL field at https://webrtc.player.eyevinn.technology/Chrome:
console:
Expected result: WebRTC in WHEP mode is working and I see the same stream as I can see with
gst-launch-1.0 playbin uri="srt://127.0.0.1:8888"
inside the https://webrtc.player.eyevinn.technology/ player.