1 · Ngân sách encode
Ngân sách mỗi frame
33.3ms mỗi frame
1000 ÷ 30 fps
Công cụ miễn phí · chia sẻ màn hình và desktop từ xa
Lập kế hoạch cho pipeline chia sẻ màn hình trước khi phát hành. Đặt độ phân giải, frame rate, codec, bandwidth khả dụng và round-trip time; trang sẽ trả về ngân sách encode mỗi frame, bitrate ước tính, phân rã latency và những gì cần hạ cấp khi đường truyền chật.
Mọi con số trên trang này đều là ước tính. Các con số đến từ công thức bên dưới, không phải từ đo đạc encoder, mạng hay thiết bị của bạn. Hãy coi chúng là đầu vào lập kế hoạch, rồi kiểm chứng với pipeline của chính bạn.
Đầu vào
Encode phần cứng AV1 không có trên mọi GPU hoặc SoC di động. Ước tính bên dưới giả định encode phần cứng; fallback phần mềm có thể chậm hơn vài lần và có thể vượt ngân sách frame.
1 · Ngân sách encode
33.3ms mỗi frame
1000 ÷ 30 fps
2 · Nhu cầu bitrate
6.8Mbps
Khoảng 5–8.7 Mbps, với giả định trung vị 0.11 bits per pixel per frame (bpp).
3 · Ngân sách latency
150ms
quanh mốc tham chiếu tương tác 150 ms
| Giai đoạn | Ước tính | Tỷ trọng | Định mức | Trạng thái |
|---|
4 · Đánh đổi suy giảm
Ở 20 Mbps với giả định bpp trung vị cho H.264, hai chiến lược hạ cấp cho kết quả:
| Chỉ số | A · Giữ độ phân giải, giảm fps | B · Giữ fps, giảm độ phân giải |
|---|---|---|
| Frame rate | 30 fps | 30 fps |
| Độ phân giải | 1920 × 1080 | 1920 × 1080 |
| Tỷ lệ so với đầu vào | 100% | 100% |
| Bitrate ước tính | ~6.8 Mbps | ~6.8 Mbps |
| Thời gian encode ước tính | ~5 ms | ~5 ms |
| Encode so với ngân sách frame | — | — |
| Giới hạn ràng buộc | — | — |
| Latency end-to-end ước tính | ~150 ms | ~150 ms |
| Chuyển động | Mượt ở tốc độ mục tiêu. | Giữ nhịp mục tiêu. |
| Chữ và chi tiết nhỏ | Độ phân giải đầy đủ; chữ và UI vẫn sắc nét. | Không đổi. |
| Phù hợp nhất | Tài liệu, mã, dashboard, slide. | Video, hoạt ảnh, chuyển động con trỏ, cloud gaming. |
budget_ms = 1000 / fps
Thời gian mỗi frame được phép dành cho bước encode trước khi frame tiếp theo đến hạn.
Mbps = width × height × fps × bpp / 1,000,000
Ước tính lập kế hoạch thô. Nội dung màn hình có vùng tĩnh lớn có thể tốn ít hơn nhiều; nhiễu, chuyển động và chroma 4:4:4 có thể tốn nhiều hơn.
max_fps = bandwidth_bps / (width × height × bpp)
Cột A giữ độ phân giải đầu vào và giải ra frame rate mà đường truyền có thể mang.
scale = √( bandwidth_bps / (width × height × fps × bpp) )
Cột B giữ frame rate mục tiêu và giải ra số điểm ảnh. Tỷ lệ tuyến tính là căn bậc hai của tỷ số diện tích.
scale_enc = √( 2,073,600 × (budget_ms / base_ms)^(1 / 0.85) / pixels )
Cột B lấy mức nhỏ hơn giữa tỷ lệ bandwidth và tỷ lệ vừa encode, để frame rate mục tiêu cũng vừa với encoder. Nếu đầu vào đã vừa, tỷ lệ bị giới hạn ở 100%.
t ≈ base_ms × (pixels / 2,073,600)^0.85
Ước tính lập kế hoạch cho encoder phần cứng. Mốc ở 1080p: H.264 5 ms, HEVC 8 ms, AV1 11 ms. Thiết bị, preset, nội dung và nhiệt độ làm thay đổi rất nhiều.
decode ≈ 0.6 × encode
Hệ số bất đối xứng thô; decoder phần cứng thường chạy nhanh hơn encoder.
capture + encode + RTT/2 + 2 × frame + decode + render
Capture là một khoảng frame. Mạng là một chiều. Jitter buffer là hai frame. Render là 16.7 ms cho màn hình 60 Hz.
H.264 0.08–0.14 · HEVC 0.05–0.09 · AV1 0.035–0.07
Bits per pixel per frame. Máy tính dùng điểm giữa cho đầu ra một giá trị và hai đầu khoảng cho dải bitrate.
Bước tiếp theo
Checklist bao gồm các giai đoạn pipeline ở trên, những tín hiệu đáng thu thập và cách đọc chúng mà không phải đoán. Các script là thứ để chạy trên bản build của chính bạn.
Nhận checklist — mã FIRST50 →Liên kết mang mã giảm giá FIRST50. Trang này không dùng script theo dõi.
Packet loss chỉ là một nguồn trễ. Mô hình ở đây tách thời gian encode, bitrate và jitter: nếu thời gian encode vượt ngân sách mỗi frame là 1000 ÷ fps, hãy dự kiến mất frame hoặc frame rate hiệu dụng thấp hơn; khi bandwidth là ràng buộc, luồng sẽ suy giảm thay vào đó. Jitter buffer được cố định ở hai frame, và ước tính latency loại trừ truyền lại, xếp hàng và tắc nghẽn, nên Wi-Fi, relay và uplink bận có thể cộng thêm độ trễ thực.
Mốc 150 ms là tham chiếu tương tác phổ biến, không phải yêu cầu. Cloud gaming thường nhắm thấp hơn, trong khi hỗ trợ từ xa và thuyết trình chấp nhận cao hơn. Hãy coi đó là đầu vào lập kế hoạch, rồi kiểm chứng với pipeline của bạn.
Tùy nội dung. Giữ độ phân giải và giảm frame rate tốt nhất cho tài liệu, mã, dashboard và slide; giữ frame rate và giảm độ phân giải tốt nhất cho video, hoạt ảnh, chuyển động con trỏ và cloud gaming. Với chữ hãy dùng cách đầu; với chuyển động dùng cách sau.