RepositoryGo
pion

pion/mediadevices

Go implementation of the MediaDevices API.

648sao
150fork
62issue
0lượt xem

Thành tựu nổi bật

Những danh hiệu mới nhất của dự án

1
TINIX TRENDING·Chủ đề: livestream

#1 Repository Của Tháng

1
TINIX TRENDING·Chủ đề: video-call

#1 Repository Của Tháng

1
TINIX TRENDING·Chủ đề: audio-call

#1 Repository Của Tháng

📹 Thư viện Go triển khai MediaDevices API cho truy cập thiết bị và mã hóa đa codec

Truy cập camera, microphone, screen capture và mã hóa stream video/audio — chỉ với vài dòng Go.

pion/mediadevices là thư viện Go triển khai MediaDevices API của Mozilla — API tiêu chuẩn trong trình duyệt web để truy cập thiết bị media. Thư viện cho phép capture stream từ camera, microphone, và screen capture, đồng thời mã hóa output sang nhiều codec như H264, VP8, VP9. Giao diện API được thiết kế đơn giản, tập trung vào việc xây dựng ứng dụng thay vì xử lý phức tạp phần cứng.

✨ Điểm nổi bật

  • Triển khai MediaDevices API bằng Go: đưa standard API của trình duyệt vào server-side Go, tương thích với mô hình GetUserMedia quen thuộc
  • Hỗ trợ đa input: camera, microphone, screen capture — hoạt động trên Linux, Mac, Windows
  • Mã hóa đa codec: hỗ trợ H264 (x264), VP8, VP9 thông qua codec selector, dễ dàng cấu hình bitrate, preset
  • Kiến trúc mô-đun: không register input hay codec nào mặc định — chỉ import package cần dùng, giảm dependency không cần thiết
  • Build tag linh hoạt: tag nomicrophone để build không có hỗ trợ microphone, hữu ích cho cross-compilation khi CGO dependency không khả dụng
  • Tích hợp sẵn nhiều ví dụ: WebRTC peer-to-peer, face detection, RTP streaming, HTTP broadcast MJPEG, archive video H264
  • Frame-level access: đọc frame trực tiếp từ video track dưới dạng image.Image, tương thích stdlib Go

💡 Vì sao đáng chú ý

Thư viện lấp đầy khoảng trống giữa WebRTC/Mediastreams trong trình duyệt và việc xây dựng ứng dụng Go xử lý media ở server-side. Thay vì phải tự viết driver cho từng thiết bị, mediadevices cung cấp một lớp trừu tượng thống nhất — import driver package, gọi GetUserMedia, và nhận stream trả về. Việc mã hóa codec được tách rời hoàn toàn, cho phép chọn đúng codec cần dùng mà không kéo theo dependency không cần.

Dự án đặc biệt phù hợp cho các ứng dụng VoIP, livestream, video call, và hệ thống xử lý media streaming cần mã hóa real-time. Các example đi kèm (face detection, RTP broadcast, WebRTC) giúp bắt đầu nhanh mà không cần viết boilerplate.


#Go #WebRTC #MediaDevices #VideoStreaming #Codec #VoIP #TiniX

Dự án tương tự

Khám phá các dự án và mô hình AI khác có sự tương đồng.

RepositoryC++
kunkundi/crossdesk

A lightweight, cross-platform remote desktop software with support for Web Client access | 一款支持 Web 客户端访问的轻量级跨平台远程桌面软件。

4.5k
Oct 20, 2026
RepositoryC++
tensorflow/tensorflow

An Open Source Machine Learning Framework for Everyone

201.2k
Oct 24, 2026
RepositoryGo
pion/webrtc

Pure Go implementation of the WebRTC API

16.8k
Oct 20, 2026
RepositoryGo
langhuihui/monibuca

🧩 Monibuca is a Modularized, Extensible framework for building Streaming Server

2.4k
Sep 22, 2026
Modelsentence-similarity
sentence-transformers/all-MiniLM-L6-v2

all-MiniLM-L6-v2 This is a sentence-transformers(https://www.SBERT.net) model: It maps sentences & paragraphs to a 384 dimensional dense vector space and can be used for tasks like clustering or semantic search. Usage (Sentence-Transformers) Using t...

♥0
190.2M
Jun 1, 2026
Repository
getify/You-Dont-Know-JS

A book series (2 published editions) on the JS language.

184.8k
Feb 15, 2026
RepositoryPython
harry0703/MoneyPrinterTurbo

利用 AI 大模型和自动化工作流,根据主题或关键词一键生成高清短视频。Generate HD short videos from a topic or keyword with an automated AI workflow.

135.4k
Oct 26, 2026
RepositoryPython
ageitgey/face_recognition

The world's simplest facial recognition api for Python and the command line

56.8k
Jun 25, 2026
RepositoryTypeScript
fonoster/fonoster

The AI that answers the phone.

8.1k
Oct 20, 2026