Schița de curs
Gestionarea Dispozitivelor Media
1. Permisiuni Browser cu navigator.permissions
- Acces la hardware:
- Cameras video
- Microfoane
- Permisiuni opționale:
- Geolocalizare
- Notificări
- Clipboard (citire/scrirere)
- Interogarea permisiunilor și starea lor
- Limițări și compatibilitatea browserului
2. Citire Dispozitive Media cu navigator.mediaDevices
- Enumerare dispozitive
- Gestionarea schimbărilor de dispozitiv
3. Compatibilitate Cross-Browser
- Folosirea API-urilor:
- navigator.permissions.query()
- navigator.mediaDevices.enumerateDevices()
- getUserMedia()
- Strategie de fallback pentru Safari
4. Gestionarea Dispozitivelor Media
- Inițializarea dispozitivului: getUserMedia(constraints)
- Constrângeri dispozitive media
- Pornirea și oprirea fluxurilor media
- Gestionarea schimbărilor de dispozitiv
5. Înregistrarea Dispozitivelor cu MediaRecorder
- Pornire/oprire flux și înregistrare
- Descărcarea fișierului .webm
- Previzualizare waveform în timp real
Add-on-uri Opționale:
- Salvarea în format .wav folosind ScriptProcessorNode
- Vizualizare spectru FFT audio
- Bară de volum în decibeli
- Recunoașterea voicii cu webkitSpeechRecognition
Conexiune Peer
1. Servere de Semnalizare
- Opțiuni pentru canal bidirecțional:
- WebSocket
- Socket.io
- SignalR
- Structura mesajelor
- Clienți WebRTC simplificați
- Flux complet de semnalizare
2. Video Chat prin WebRTC
- Arhitectură: Node.js + ws
- Clienții WebRTC: RTCPeerConnection
- Testare E2E locală
Funcții Opționale:
- Finalizarea apelului (închiderea conexiunii, oprirea media)
- Apele de grup (camere multi-utilizator)
- Autentificare simplă bazată pe token
3. Împărtășirea Ecranului
- Folosirea getDisplayMedia()
- Arhitectură și opțiuni
4. Protocolul Descrierii Sesiunii (SDP)
- Introducere și conținuturi
- Citirea și interpretarea SDP-ului
- Codec-uri:
- Audio & Video
- Negotiere și control
- Strategii de fallback
5. Statistici WebRTC cu getStats()
- Tipuri de statistici
- Cum să interpretezi statisticile
- Grafice bitrate/jitter live
- Strategii de adaptare a calității
6. Toate subiectele sunt
- Cazuri practice
Cerințe
Acest curs este ideal pentru dezvoltatori frontend și full-stack, arhitecți tehnici și ingineri care construiesc funcții de comunicare browser-bazată în timp real precum video chat, împărtășirea ecranului sau streaming audio. Participanții ar trebui să aibă cunoștințe functionale ale JavaScript și tehnologiilor web, cu experiență opțională în Node.js și comunicație bazată pe WebSocket.
Mărturii (5)
M-am bucurat că Gunnar a scris aproape tot codul în timp real, pe măsură ce mergem prin curs, dar exista și mult material pre-pregătit pe Google Drive la care pot să mă refer după instruire. Codul pe care l-a scris Gunnar bazat pe datele de exemplu pe care i le-am furnizat anterior a fost de asemenea extrem de util și a făcut ca instruirea să fie relevantă pentru propriile noastre seturi de date.
Ranvir - Schroders Personal Wealth
Curs - Visual Studio Code
Tradus de catre o masina
Numerous exemple pentru fiecare modul și o mare cunoaștere a instrutorului.
Sebastian - BRD
Curs - Secure Developer Java (Inc OWASP)
Tradus de catre o masina
Modulul 3 Aplicații Atacuri și Exploatări, XSS, injecție SQL Modulul 4 Servere Atacuri și Exploitări, DoS, BOF
Tshifhiwa - Vodacom
Curs - How to Write Secure Code
Tradus de catre o masina
Exemple din viața reală.
Kristoffer Opdahl - Buypass AS
Curs - Web Security with the OWASP Testing Framework
Tradus de catre o masina
Cunoașterea instrctorului în privința subiectului a fost excelentă, iar modul în care sesiunile erau structurate pentru ca audiența să poată urma demonstrațiile a ajutat cu adevărat la consolarea acestei cunoștințe, față de a doar sta și asculta.
Jack Allan - RSM UK Management Ltd.
Curs - Secure Developer .NET (Inc OWASP)
Tradus de catre o masina