Comments (6)
I want to know why we do not send FIR when a keyframe is needed.
from aiortc.
Regardless of whether we send FIR or PLI, the critical missing bit is detecting we need it - which I haven't had time to do yet. If you have time for a dive into the WebRTC code I'd be interested in a list of the criteria they use for this.
from aiortc.
I want to know why we do not send FIR when a keyframe is needed.
I noticed some browsers ignore the FIR and do respond with a keyframe to a PLI
from aiortc.
From reading the webrtc.org codebase, there seem to be multiple triggers for a PLI:
- if the NACK list grows beyond 1000 packets
- if the video codec requests it:
- if no keyframe has been received for a long time:
- if decoding fails (I think):
- some H.264-specific condition:
from aiortc.
I had a deeper look at the code, and it looks like simply sending out a PLI is not going to be enough. In addition the jitter buffer code would need to be reworked to discard packets intelligently, otherwise it will keep waiting for the missing packets until it eventually overflows. In fact I'm not entirely convinced we can keep using a single jitter buffer implementation for audio and video. The webrtc.org codebase seems to use two distinct implementations.
from aiortc.
@Przem83 fixed this in 42f4e0f
from aiortc.
Related Issues (20)
- cpu load
- P2P RTC connection using a STUN server.
- Trying to send multiple video streams from backend to client(web-browser) HOT 1
- ReplaceTrack
- aiortc iceconnectionstate is failled after 25 seconds
- How to set up a transceiver?
- Error while trying to connect second peer
- server busy with no error if i try to fetch /offer many times and immediately abort the operation
- Transport exceptions when client is disconnected unexpected (for example closing the browser tab) HOT 4
- Received video frame pts jumps over 4 billion forward HOT 2
- [Example][Server] MediaRecorder is not saving audio (mp3) from the web HOT 2
- Establish one-way video from server to client HOT 2
- Data channel stuck in connecting state while still receiving messages on it HOT 1
- Request for Guidance on Extracting WHEP Save as MP4 Files from AIORTC
- MediaPlayer HTTP stream from the same EndPoint does work
- Cannot connect to video stream: BINDING ERROR / 400 Bad Request HOT 1
- Can aiortc module be used for professional or semi-professional use?
- Implement MediaStreamTrack.enabled HOT 3
- Setting RTCRtpTransceiver.direction to `inactive` does not have any effect HOT 1
- Issue encountered when installing aiortc from source
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from aiortc.