Đề cương khóa học
Ngày 1 – Xử Lý Thiết Bị Media
1. Quyền Truy Cập Trình Duyệt với navigator.permissions
- Truy cập phần cứng:
- Webcam
- Microphone
- Quyền truy cập tùy chọn:
- Geolocation
- Notifications
- Clipboard (đọc/viết)
- Truy vấn và trạng thái quyền
- Hạn chế và khả năng tương thích trình duyệt
- Trường hợp sử dụng thực tế
2. Đọc Thiết Bị Media với navigator.mediaDevices
- Cấu hình thiết bị
- Xử lý thay đổi thiết bị
- Trường hợp sử dụng thực tế
3. Khả Năng Tương Thích Giữa Các Trình Duyệt
- Sử dụng API:
- navigator.permissions.query()
- navigator.mediaDevices.enumerateDevices()
- getUserMedia()
- Lựa chọn thay thế cho Safari
- Trường hợp sử dụng thực tế
4. Xử Lý Thiết Bị Media
- Kích hoạt thiết bị: getUserMedia(constraints)
- Ràng buộc thiết bị media
- Bắt đầu và dừng các luồng media
- Xử lý thay đổi thiết bị
- Trường hợp sử dụng thực tế
5. Ghi Thiết Bị với MediaRecorder
- Bắt đầu/dừng luồng và ghi âm
- Tải xuống file .webm
- Xem trước sóng âm thanh thời gian thực
- Trường hợp sử dụng thực tế
Tùy Chọn Thêm:
- Lưu ở định dạng .wav bằng ScriptProcessorNode
- Trực quan hóa phổ FFT âm thanh
- Thanh âm lượng theo decibel
- Nhận diện giọng nói với webkitSpeechRecognition
Ngày 2 – Kết Nối Peer-to-Peer
1. Máy Chủ Tín Hiệu
- Các tùy chọn kênh hai chiều:
- WebSocket
- Socket.io
- SignalR
- Cấu trúc tin nhắn
- Mô phỏng WebRTC client đơn giản
- Dòng chảy tín hiệu đầy đủ
- Trường hợp sử dụng thực tế
2. Video Chat qua WebRTC
- Kiến trúc: Node.js + ws
- WebRTC client: RTCPeerConnection
- Thử nghiệm E2E cục bộ
- Trường hợp sử dụng thực tế
Tính Năng Tùy Chọn:
- Hủy cuộc gọi (đóng kết nối, dừng media)
- Gọi nhóm (phòng nhiều người dùng)
- Xác thực đơn giản dựa trên token
3. Chia Sẻ Màn Hình
- Sử dụng getDisplayMedia()
- Kiến trúc và các tùy chọn
- Trường hợp sử dụng thực tế
4. Giao Thức Mô Tả Phiên (SDP)
- Giới thiệu và nội dung
- Đọc và diễn giải SDP
- Codec:
- Âm thanh & Video
- Đàm phán và kiểm soát
- Lựa chọn thay thế
- Trường hợp sử dụng thực tế
5. Thống Kê WebRTC với getStats()
- Các loại thống kê
- Cách diễn giải thống kê
- Biểu đồ bitrate/jitter trực tiếp
- Chiến lược điều chỉnh chất lượng
- Trường hợp sử dụng thực tế
Yêu cầu
Đánh giá (5)
Tôi thích cách Gunnar viết hầu hết mã nguồn ngay trên máy tính khi chúng tôi đang học, nhưng cũng có nhiều tài liệu đã được chuẩn bị sẵn trong Google Drive để tôi tham khảo sau khóa đào tạo. Mã nguồn mà Gunnar viết dựa trên dữ liệu mẫu tôi cung cấp trước đó cũng rất hữu ích và làm cho khóa đào tạo trở nên liên quan đến chính bộ dữ liệu của chúng tôi.
Ranvir - Schroders Personal Wealth
Khóa học - Visual Studio Code
Dịch thuật bằng máy
Đa dạng ví dụ cho mỗi模块应保持完整,我将仅翻译提供的文本: 多个每个模块的示例和讲师丰富的知识。 为了符合指令要求,正确翻译如下: Nhiều ví dụ cho mỗi mô-đun và kiến thức phong phú của giảng viên.
Sebastian - BRD
Khóa học - Secure Developer Java (Inc OWASP)
Dịch thuật bằng máy
Module3 Ứng dụng tấn công và khai thác, XSS, SQL注入 Module4 Tấn công và khai thác máy chủ, DOS, BOF (Note: The term "SQL注入" seems to be a mix of English and Chinese. If it's meant to be translated into Vietnamese, please provide the correct term or context.)
Tshifhiwa - Vodacom
Khóa học - How to Write Secure Code
Dịch thuật bằng máy
Ví dụ từ thực tế.
Kristoffer Opdahl - Buypass AS
Khóa học - Web Security with the OWASP Testing Framework
Dịch thuật bằng máy
Kiến thức chuyên môn của giảng viên rất xuất sắc, và cách tổ chức các buổi học để khán giả có thể theo dõi cùng với phần trình diễn thực tế đã giúp củng cố kiến thức đó một cách hiệu quả hơn so với chỉ ngồi nghe.
Jack Allan - RSM UK Management Ltd.
Khóa học - Secure Developer .NET (Inc OWASP)
Dịch thuật bằng máy