Comments (9)
@at-wat what do you think about the interface?
from mediadevices.
I think updating BaseParams.KeyFrameInterval
is less meaningful on WebRTC (and also pure RTP) in which RTCP PictureLossIndication packet triggers a key frame.
I'm not very sure it's better to update whole BaseParams
.
from mediadevices.
From my understanding, setting BaseParams.KeyFrameInterval
to 0 means the same thing with force keyframe. Did I misunderstand this?
from mediadevices.
I think BaseParams.KeyFrameInterval=0
means that all frames are key frame.
PictureLossIndication makes next single frame into key frame.
from mediadevices.
Ah, that makes total sense. I guess nvm then, I think we can use what you've suggested already,
package codec
import "io"
type ReadCloser interface {
io.ReadCloser
SetBitRate(int) error
ForceKeyFrame() error
}
What do you think about the naming? I changed it from StreamReader
to ReadCloser
because I think it's more common and it's clear that's different from io.ReadCloser
, because it'll be called with the namespace codec.ReadCloser
. This pattern also exists in the standard library, there are image.Image and draw.Image. The main difference is that draw.Image
has an extra method that allows setting a single pixel to a color.
from mediadevices.
codec.ReadCloser
sounds good to me!
from mediadevices.
related: https://github.com/pion/webrtc/wiki/MediaAPI#rtpsender-will-have-callbacks-for-rtcp-feedback-results
from mediadevices.
Is this still in progress ?
I came across this issue will trying to understand how PLI packets are handled in pion's webrtc. From what I understand of the code, receiving a PLI should trigger a new key frame, but this is not implemented for now right ?
Related to this, I have made a PR to implement key frame request for VPX: #334
from mediadevices.
This is stale and no longer applicable since #338 has been merged.
from mediadevices.
Related Issues (20)
- Colour difference in generated video stream HOT 1
- How does screen capture work on Windows vs Linux? HOT 2
- ForceKeyFrame HOT 3
- Failed to start streaming: invalid argument HOT 5
- go build linux error HOT 3
- Add pion/.goassets
- GCC problem on Windows 10 HOT 1
- Display mouse cursor HOT 1
- Video not showing in video element in latest versions of chrome. HOT 5
- why does opening dev console in http example crash the server?
- rtp example problems
- Distorted audio capture on linux. HOT 5
- failed to find the best driver that fits the constraints to open usb camera HOT 1
- Multiple display for webcam device HOT 2
- use mediadevices.GetUserMedia() failed. err: failed to open device: failed to connect filters HOT 2
- jetson agx xavier ubuntu20.04 fail run HOT 2
- webrtc demo mic Sound tearing sensation
- Error in bridge.cpp when using openh264
- go1.22.2 - example/webrtc Audio works, but video doesnt HOT 5
- Video not show on mobile
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 mediadevices.