Roadmap for 2023 #1064
Replies: 27 comments 7 replies
-
Re: blocking streams with too high a bitrate or b-frames, perhaps three levels.
or more practically, just add an API endpoint to query for various stream stats. This may already exist for some things (bitrate?) but I don’t believe exists for b frames Another thought on the b frame detection, does that take time from the stream beginning? The ux is maybe bad for users if they connect successfully and they are disconnected after a minute or whatever because of b frames being detected. Unless we can send back a custom message to explain the disconnect? I’m not sure if that is possible Personally we would be interested in knowing if streams are using b-frames, so we can offer or not offer the webrtc player as appropriate |
Beta Was this translation helpful? Give feedback.
-
@naanlizard |
Beta Was this translation helpful? Give feedback.
-
Is the stream delete api just a forcible disconnect from the server side? Disconnect might be the better term if so. Delete makes me think they can’t reconnect 🤔 |
Beta Was this translation helpful? Give feedback.
-
Maybe it is (or, will be) effectively a server-side disconnect but necessarily transmitted as an HTTP |
Beta Was this translation helpful? Give feedback.
-
It is correct to forcibly close the connection on the server side. But that's the result of deleting the stream. Actually I will add API like below (currently only
This API does not care about reconnecting terminated sessions. If the user wants to prevent a disconnected session from reconnecting after an API call, AdmissionWebhooks should be used. To forcibly disconnect the session from the server(To use the term Disconnect session), the following API should be provided. (The stream will be deleted as a result.)
or
And this can cause misunderstanding that this function can be used not only in the session (encoder) connected to the provider, but also in the session (player) connected to the publisher. |
Beta Was this translation helpful? Give feedback.
-
First, a big thank you for the evolution of your product. A feature that would be quite important for us is the ability to create a multi-language stream. Technically we currently do this by sending several audio streams in SRT and we generate an HLS with several audio tracks with FFMPEG. Regarding WebRTC, WHIP support would be perfect, is simulcast support planned? I know that there is ABR for webRTC, but I have a slight latency on "degraded" streams and suddenly a very slight desynchronization between the video and the audio, the simulcast in input might be a way of solve this problem? |
Beta Was this translation helpful? Give feedback.
-
This list reads like my xmas wish list. Looking forward to all the good work you all are doing there! 🎉 🥳 ❤️ |
Beta Was this translation helpful? Give feedback.
-
If WHIP gets added, perhaps WHEP can be added too? This way OME can support industry standards. Cloudflare started WebRTC beta with WHIP/WHEP recently and it is going to help spread this standard. Then we won't be locked down to specific players I guess? |
Beta Was this translation helpful? Give feedback.
-
@mpisat If there is a player that actually supports WHEP, and my time and stamina allow me to do it, I will work on it. |
Beta Was this translation helpful? Give feedback.
-
According to cloudflare this one does (TypeScript), there is even a demo page |
Beta Was this translation helpful? Give feedback.
-
@nums I need to think more about supporting simulcast in 2023. I'll think more about what the OME benefits versus the effort put in, and I'll tell you later. I'm not sure what you mean by "the interpretation of PLI requests". Please elaborate. |
Beta Was this translation helpful? Give feedback.
-
@mpisat Thanks for sharing good information. It is of course good news that Cloudflare supports it. Although OvenMediaEngine and Cloudflare's WebRTC service cannot be used together. |
Beta Was this translation helpful? Give feedback.
-
Thank you for your continued hard work. WHIP support is particularly exciting! |
Beta Was this translation helpful? Give feedback.
-
AV1 support would be great. Open source codec, very powerful, safes a lot of bandwidth and hardware decoding is already supported on various GPU's. Even hardware encoding is now available on new GPU's. So why not implement that. |
Beta Was this translation helpful? Give feedback.
-
I will re-check WebRTC ABR AV/Sync with the last version of OME and I let you know in a new issue if the problem still occur. PLI (Picture Loss Indication) is really not a must have but it might be worth thinking about. |
Beta Was this translation helpful? Give feedback.
-
@nums |
Beta Was this translation helpful? Give feedback.
-
WebRTC over TCP just has different packet loss issues. Typically when a peering/transit point is congested and when the distance between edge server and client are big. Additionally, WebRTC over TCP introduces playback delay issues when the playback buffer runs empty. WebRTC over UDP with RED (only on-demand per connection) and RTX and FEC usually is better suited for very low latency playback from my experience. |
Beta Was this translation helpful? Give feedback.
-
Thanks @getroot and @basisbit for your feedbacks. Actually recovering the RTCP PLI request is earlier for videoconferencing use with few participants. I know Mediasoup has for example added a Max Request Keyframe Interval parameter but yes, I don't think it's very interesting to implement it on OvenMedia. Otherwise, I re-tested with the latest WebRTC ABR version and I actually have no more desynchronization between the different bitrates. In my opinion WebRTC simulcast is therefore not very relevant in view of the very good working of WebRTC ABR. Thanks for all, the Roadmap 2023 seems perfect to me. I also sent an email to support regarding the management of multilingual. |
Beta Was this translation helpful? Give feedback.
-
I would love to have SRT-"output" for an SRT Re-stream. This would simplify our workflow greatly! |
Beta Was this translation helpful? Give feedback.
-
Is AV1 support from the 2022 roadmap missing from the 2023 roadmap? Does OME have plans to support AV1 Codec? |
Beta Was this translation helpful? Give feedback.
-
@kakaruta AV1 will of course be implemented in OME. However, it is not yet widely used in a commercial environment, so it has been pushed out of priority. |
Beta Was this translation helpful? Give feedback.
-
We've done the following so far: We are working very hard. :-)
We are reviewing various opinions (AV1, SRT-output, WHEP) from this thread. thank you In addition to this, if you have any ideas about what other features media server users need, please share! |
Beta Was this translation helpful? Give feedback.
-
What I miss in OME is support for classic devices (IPTV Boxes, Smart-TV's, Satelite Receivers). They mostly use RTMP (MPEG-TS) and RTSP. So why not provide a general MPEG-TS streaming via RTMP/RTSP? Just for compatibility issues, not for sub-second latency. I always need to run a second instance of SRS or mediamtx to serve "oldschool" customers. MPEG-TS via RTMP is widely supported and has a poor, but reasonable latency of about 3 seconds. (see https://github.com/aler9/mediamtx or https://github.com/ossrs/srs). Both work with common end-user hardware. LL-HLS is NOT supported by common devices and that's why OME is not used in professional IPTV broadcasts (they mostly use flussonic). Your server is cheaper than flussonic, but only optimized for web environment. It has much more potential. Another issue... ingest MPEG-4 video with b-frames.... transcode to webrtc compliant video without b-frames (you already have transcoding implemented, so why not program a flag to tell the encoder not to use b-frames), but bypass to ll-hls with b-frames for better performance? |
Beta Was this translation helpful? Give feedback.
-
Dear gentlemen even with port 443 n it worked on this android phones kleber m. Of Jesus follows the flow |
Beta Was this translation helpful? Give feedback.
-
We'd love to see the ability to update the configuration from the API, including the outputs for an app, and not require a restart affecting existing streams. |
Beta Was this translation helpful? Give feedback.
-
+1 for AV1 that would be game changing! |
Beta Was this translation helpful? Give feedback.
-
+1 for AV1 |
Beta Was this translation helpful? Give feedback.
-
Happy new year, everyone.
As many of you know because I've mentioned it several times, we spend the first half of the year working on OvenMediaEngine and the second half doing external development projects for survival. I sincerely ask you to become a Github Sponsor so that OvenMediaEngine project can be boosted. Thanks to your contributions, OvenMediaEngine continues to evolve.
Here are our big plans for 2023.
IPv6 support
This is far too late. We will unconditionally deal with this within the first quarter of 2023.
Stabilizing the WebRTC Provider
Now we can spend some time on this. We will fix everything so that WebRTC input works reliably (especially with OvenLiveKit).
Improving Performance and Stabilizing GPU Encoder
In the meantime, the community has been asking a lot about this. We will look into this closely.
WHIP support
We will support WHIP once the WebRTC Provider is stabilized. The time has come to support this.
Stabilizing the SRT Provider
A number of issues have also been raised about the SRT input. Now we can see this.
Advanced AdmissionWebhooks
I found that there are many cases in which the callback of AdmissionWebhooks is linked to their statistics system. We will add meta, such as passing user-agent information, and solve problems such as disconnect events not occurring.
Check and block input quality
If a stream of several tens of megabits or a stream containing b-frames is input, OME may not operate normally. We will review the ability to limit this. This work is a low priority and the plan may be delayed if it is determined that there are too many side effects after design.
Fallback stream
We will develop a function that can send a video file that can be replaced when the input of the main stream is not live.
Origin Pulling Query String
We will develop a function where Edge creates a stream by reading the origin url from the playback URL's query string and pulling the stream from the origin. For example ws://edge.com/app/stream?originUrl="ovt://origin.com/app/stream" would work.
RTMP Pull Provider
We will develop RTMP Pull Provider function. This will make it easy to serve WebRTC or LLHLS streams using an existing RTMP Server. If used together with the Origin Pulling Query String function above, OvenMediaEngine will be valuable as a proxy server that relays the existing RTMP server.
Encoding Profiles
Encoding profile will be provided so that you can set more diversely.
Various API functions
Several APIs are planned, such as certificate reload API and stream deletion API.
Besides this, we have many small features, bug fixes and performance improvements planned. Which feature are you most looking forward to? Or is there something you think is a must-have feature that isn't listed here? Please feel free to comment as much as possible.
Beta Was this translation helpful? Give feedback.
All reactions