Bỏ qua tới nội dung
LSLab

Nén và truyền video bằng RTSP hay WebRTC ra sao?

  • Cơ bản
  • Bài viết
  • Từ 14 tuổi
  • 6 phút đọc
Minh họa biên tập về truyền video thời gian thực trong hệ thống drone.

Video tới màn hình qua một chuỗi xử lý: camera tạo khung hình, bộ mã hóa nén chúng, mạng chở các gói, rồi bộ giải mã dựng lại hình. Codec quyết định cách biểu diễn video; RTSP có thể điều khiển phiên phân phối, RTP chở dữ liệu thời gian thực, còn WebRTC là bộ công nghệ truyền thông thời gian thực có thể thương lượng và vận chuyển media.

Mục lục
Truyền video duy trì một dòng khung hình; bộ đệm và đường truyền nằm giữa camera và người xem.
  • Camera nguồn
  • Gói dữ liệu trên đường truyền
  • Màn hình người xem

Bạn sẽ học được gì

  • Lần theo video từ camera tới màn hình xem.
  • Phân biệt nén, điều khiển phiên và vận chuyển media.
  • So sánh cách RTSP/RTP và WebRTC tham gia vào luồng.

Cần biết trước

Không cần kinh nghiệm bay; “khung hình” là một ảnh đơn trong video, còn “mã hóa” là biến đổi dữ liệu để lưu hoặc truyền.

Nén video làm gì trong pipeline?

Camera tạo các khung hình lớn hơn mức mạng thường muốn gửi nguyên dạng. Bộ mã hóa dùng codec để biểu diễn ảnh với ít dữ liệu hơn; đầu nhận dùng bộ giải mã tương thích để dựng hình xem được. Sơ đồ khái niệm là camera → encoder/codec → gói dữ liệu → mạng → decoder → màn hình. Mã hóa làm giảm lượng dữ liệu phải chuyển, nhưng lựa chọn codec và cấu hình có ảnh hưởng đến chi tiết hình, tải tính toán và lượng dữ liệu.

Bitrate là tốc độ dữ liệu video được tạo ra hoặc gửi đi, thường được biểu diễn theo bit mỗi giây. Nếu bitrate cao hơn khả năng đường truyền duy trì, dữ liệu có thể tích lại trong hàng đợi hoặc bị bỏ; tăng độ phân giải hay giữ nhiều chi tiết thường cần ngân sách bitrate lớn hơn. Giảm bitrate có thể giúp luồng theo kịp đường truyền, nhưng hình sẽ mất chi tiết hoặc xuất hiện lỗi nén. Vì vậy, “độ phân giải cao” không tự đảm bảo ảnh quan sát tốt hơn khi mạng hoặc bộ giải mã không theo kịp.

RTSP và RTP làm hai việc khác nhau

RTSP là giao thức tầng ứng dụng để thiết lập và điều khiển phân phối dữ liệu có đặc tính thời gian thực. Một ứng dụng dùng RTSP để mở hoặc điều khiển phiên; điều đó không có nghĩa RTSP tự nén hình hay mang mọi gói video.

RTP cung cấp chức năng truyền đầu cuối cho ứng dụng gửi media thời gian thực. RTP có thể chở âm thanh, video hoặc dữ liệu mô phỏng, nhưng tiêu chuẩn nêu rõ nó không dành trước tài nguyên và không bảo đảm chất lượng dịch vụ. Do đó, có RTP không đồng nghĩa với truyền không mất gói, độ trễ cố định hay hình mượt. Hệ thống còn cần codec tương thích, định dạng gói mà hai đầu hiểu, đồng hồ/sequence metadata và cách ứng dụng xử lý dữ liệu đến trễ.

WebRTC tham gia thế nào?

WebRTC là bộ API và giao thức cho truyền thông thời gian thực giữa ứng dụng. Trong đường media, hai đầu cần thương lượng cách kết nối và codec chung; media đã đóng gói được truyền qua cơ chế media thời gian thực của WebRTC. Trái với cách mô tả RTSP như điều khiển phiên stream, WebRTC hướng tới kết nối tương tác giữa các đầu cuối và có các cơ chế thiết lập kết nối qua hạ tầng mạng phức tạp.

Không nên gọi RTSP, RTP và WebRTC là ba codec cạnh tranh. Codec nén/giải nén; RTP là vận chuyển media; RTSP điều khiển một phiên phân phối; WebRTC bao gồm các cơ chế để thiết lập và truyền media tương tác. Một sản phẩm có thể ghép các lớp khác nhau, nhưng hai đầu vẫn phải đồng ý về codec và giao thức.

Theo dõi một khung hình qua hệ thống

Giả sử máy tính đồng hành gửi cảnh camera tới ứng dụng xem. Camera đưa khung hình cho encoder; encoder tạo các đơn vị nén; tầng truyền gửi chúng; ứng dụng nhận sắp xếp và giải mã để vẽ lên màn hình. Nếu phiên chưa mở, kiểm tra tín hiệu điều khiển phiên. Nếu phiên mở mà không có gói media, kiểm tra đường vận chuyển hoặc nguồn encoder. Nếu có gói nhưng màn hình đen, kiểm tra codec, định dạng và giải mã. Đây là cách phân tầng lỗi cho một thiết kế minh họa, không phải báo cáo phép thử.

Hiểu lầm thường gặp

RTSP không phải codec. Nó điều khiển việc phân phối phiên; việc nén thuộc về encoder và codec.

WebRTC không làm mất độ trễ bằng phép màu. Nó cung cấp cơ chế truyền thời gian thực, nhưng tải mạng, lựa chọn bitrate và bộ đệm vẫn ảnh hưởng lúc người xem thấy hình.

Câu hỏi thường gặp

Video drone cần codec nào?

Codec phải được cả bên mã hóa và bên giải mã hỗ trợ; tên giao thức không xác định codec phù hợp cho mọi thiết bị.

RTSP có chở video không?

RTSP điều khiển thiết lập và phân phối phiên; dữ liệu media thường đi qua cơ chế vận chuyển riêng.

WebRTC có giống RTP không?

Không. RTP là giao thức vận chuyển media; WebRTC là bộ công nghệ truyền thông thời gian thực sử dụng các cơ chế media và kết nối phù hợp.

Tóm tắt

  • Codec nén khung hình; bitrate mô tả tốc độ dữ liệu cần chuyển.
  • RTSP điều khiển phiên và RTP chở media nhưng không bảo đảm chất lượng dịch vụ.
  • WebRTC phối hợp kết nối và truyền media tương tác; mạng và codec vẫn cần tương thích.

Thuật ngữ trong bài

Tên tiếng Việt, tên tiếng Anh và nghĩa dùng trong bài. Di chuột, chạm hoặc dùng phím Tab tới từ có gạch chân chấm để xem giải thích ngay khi đọc.

codec
Cách biểu diễn và giải mã media để hai đầu có thể mã hóa và dựng lại nội dung.
bitrate
Tốc độ dữ liệu media được tạo hoặc truyền.
RTSP
Giao thức tầng ứng dụng điều khiển thiết lập và phân phối phiên media.
RTP
Giao thức vận chuyển dữ liệu media thời gian thực.
WebRTC
Bộ API và giao thức cho ứng dụng truyền thông thời gian thực.

Bài này chưa được đánh dấu là đã xem

Thấy nội dung sai hoặc chưa an toàn?

Báo cho quản trị viên qua email. Thư có sẵn tên bài và đường dẫn.

Báo lỗi bài này
Xem tất cả bài của chủ đề

Nguồn

Các nguồn này viết cho người đọc lớn hơn. Nếu thấy khó, hãy đọc cùng người lớn.