Hướng dẫn - Kiến Thức Về HTTP Live Streaming Phần 1 Tổng Quan | VN-Zoom | Cộng đồng Chia Sẻ Kiến Thức Công Nghệ và Phần Mềm Máy Tính

Adblocker detected! Please consider reading this notice.

We've detected that you are using AdBlock Plus or some other adblocking software which is preventing the page from fully loading.

We need money to operate the site, and almost all of it comes from our online advertising.

If possible, please support us by clicking on the advertisements.

Please add vn-z.vn to your ad blocking whitelist or disable your adblocking software.

×

Hướng dẫn Kiến Thức Về HTTP Live Streaming Phần 1 Tổng Quan

Mtdev


Junior Moderator
HTTP Live Streaming (hay còn được biết đến là HLS) là một cách truyền media dựa trên giao thức HTTP được Apple phát triển. Nó hỗ trợ các luồng trực tuyến, có khả năng thay đổi chất lượng phù hợp với thiết bị và băng thông mạng đang sử dụng. Cụ thể, giao thức làm việc như sau

  • Một tệp tin hay một luồng live sẽ được chia thành các file nhỏ
  • Các file nhỏ bên trên sẽ được lưu trữ trong một máy chủ web và lắng nghe các request từ một trình player.
  • Khi phát, player sẽ phát liên tiếp các file nhỏ một cách liền mạch mà không bị ngắt quãng
Nếu stream được chia thành nhiều chất lượng khác nhau (480p, 720p), thì player sẽ tự động lựa chọn chất lượng video tốt nhất để phát dựa theo tình trạng băng thông mạng. Thuật ngữ này là Adaptive Streaming (Thích nghi với điều kiện).



Giới thiệu chung về Streaming Video
Chúng ta đang sống trong kỷ nguyên của thời đại số, Internet là một yếu tố quyết định. Trong kỷ nguyên số ngày nay, vấn đề giải trí được đặt lên hàng đầu đặc biệt là dịch vụ xem, phát video trực tuyến. Thay vì phải ra rạp mua vé, thì ngay trước màn hình PC, Mobile, Tablet của mình chúng ta có thể xem miễn phí hoặc mua những bộ phim bom tấn của thế giới hay những video hài hước đặc sắc được cộng đồng chia sẻ bởi các nhà cung cấp dịch vụ video. Học hành, hội họp cũng được rút ngắn thay vì phải mất một khoảng thời gian đến lớp hay văn phòng thì chúng ta có thể ngồi trước màn hình và sử dụng dịch vụ hội nghị trực tuyến hoặc các dịch vụ đào tạo từ xa,… Để tạo nên những sự thuận tiện đó, thì kỹ thuật Streaming góp phần quyết định, là một yếu tố không thể thiếu và kết nối con người lại gần với nhau hơn.

Streaming là gì?
Streaming (hay còn gọi là streaming media) là một hoạt động mà các định dạng truyền thông đa phương tiện được nhận và giới thiệu đến người sử dụng trong khi đang được vận chuyển bởi một nhà cung cấp. Động từ "stream" trong tiếng Anh ám chỉ quá trình vận chuyển tài nguyên đa phương tiện; thuật ngữ này chỉ giới hạn trong cách thức vận chuyển của quá trình trung gian, thay vì là quá trình trung gian, và hoàn toàn khác biệt với quá trình tải xuống.

Streaming video
Streaming video là một kỹ thuật được sử dụng khá phổ biến trong các ứng dụng mạng. Được ứng dụng rộng rãi trong thực tế như: các phần mềm (media player, web browser, ...) trên các máy khách truy cập và xem video từ các máy chủ theo mô hình server/client; các ứng dụng hội họp trực tuyến, đào tạo từ xa; giám sát, điều khiển từ xa qua hình ảnh thời gian thực, v.v... Trong đó có nhiều ứng dụng sử dụng hệ thống nhúng triển khai kỹ thuật này.

http://www.sparksupport.com/blog/wp-content/uploads/2010/07/streaming.jpg




Live streaming
Live streaming hay streaming trực tiếp là một thuật ngữ nói về phần nội dung được truyền tải trực tiếp qua Internet, đòi hỏi phải có một thiết bị truyền thông xác định (ví dụ như máy quay video, hệ thống trao đổi âm thanh, phần mềm chụp màn hình), một bộ mã hóa để số hóa nội dung, một nhà xuất bản truyền thông và một mạng lưới phân phối nội dung để phân phối và cung cấp nội dung.

http://watchy.in/wp-content/uploads/2013/05/live-streaming.png




Tổng quan về hệ thống Streaming Video
Một số khái niệm trong kỹ thuật Streaming
  • Streaming video (luồng video) thực chất là quá trình truyền các frame của file video tới người nhận.
  • Demand streaming (stream theo yêu cầu) là quá trình streaming một file video có sẵn ( đã được lưu trên ổ cứng ) tới người nhận.
  • Live streaming (stream từ một nguồn tạo video) là quá trình streaming trực tiếp từ các frame video được tạo ra từ các thiết bị thu nhận video (như camera) tới người nhận.
  • H.264, VP8 là các thuật toán mã hóa cho các luồng video.
  • Bitstream là khái niệm ám chỉ một luồng video từ máy chủ streaming tới máy khách nhận các frame video dựa vào giao thức MMS hay RTP.
  • Codec là thuật ngữ ám chỉ chung cho các thuật toán mã hóa đường truyền trong quá trình streaming audio hay video.
  • RTSP (Real Time Streaming Protocol) là giao thức mạng điều khiển quá trình streaming video hay streaming audio.
  • RTP (Real-time Transport Protocol ) là giao thức chuẩn định dạng cho gói tin (packet) video hay audio được truyền trên mạng.
  • Encode: là quá trình chuyển đổi video/audio ở dạng thô sang dạng nén dung lượng phù hợp với từng thiết bị số sử dụng kỹ thuật giống như MPEG
  • Transcode: là quá trình chuyển đổi video đã được encode, ví dụ từ MPEG-2 sang MPEG-4
  • Transrate: thay đổi bitrate của một video đã encode
  • Transmux: chuyển đổi định dạng của video mà không mất đi chất lượng video
  • Bit-rate: là lượng dữ liệu chuyển từ file film lên CPU trong 1 giây để xử lý giải mã thành hình ảnh và âm thanh. Bit-rate càng cao phim càng đẹp, âm thanh càng hay nhưng cũng đồng nghĩa với việc CPU phải giải quyết càng nhiều công việc.
Các công nghệ trong Streaming
Các giải pháp công nghệ
Tất cả các kỹ thuật streaming hiện tại đều hoạt động trên HTTP. Các giải pháp streaming đang được thịnh thành phải kể đến:

  • HDS (HTTP Dynamic Streaming) độc quyền của Adobe
  • HLS (HTTP Live Streaming) của Apple
  • MSS (Mircosoft Smooth Streaming) của Mircosoft
  • MPEG-DASH (MPEG-Dynamic Adaptive Streaming over HTTP) của chuẩn mở Google
Điểm chung của các giải pháp này là tạo ra nhiều video khác chất lượng (Kích cỡ, Bit-rate,..) nhưng có cùng một nội dung và được chia nhỏ thành các segment. Các segment sẽ được cung cấp cho một HTTP (Webserver) để đáp ứng các request của client (Web-brower, Trình xem video – player,…). Manifest là một tệp tin chứa các thông số như Bandwidth, Size màn hình, chất lượng stream được cung cấp cho client, client dựa vào các thông số cài đặt trong manifest mà chọn stream phù hợp với mình. Trong khoảng thời gian đang stream, bandwidth thay đổi, tự động client sẽ chọn một stream khác phù hợp để quá trình stream không bị gián đoạn.

dash vs hls - smooth streaming vs hls vs mpeg-dash




So sánh về các giải pháp

Tính năngAdobe
HDS
Apple
HLS
Mircosoft
Smooth Stream
MPEG-DASH
Triển khai trên HTTP cổ điểnXX
Chuẩn ISOX
Hỗ trợ Đa kênh Âm thanhXXX
Mã hóa nội dungXXXX
Hỗ trợ phụ đềXXXX
Có thể chèn quảng cáoX
Chuyển kênh nhanh chóngXXX
Hỗ trợ HTML5X
Không cần các codec Video/AudioX
Hỗ trợ nội dung Video + AudioXXX
Nội dung riêng rẽ như Audio; VideoXXX
Ghi log người dùngX

HLS và MPEG-DASH đều có thể triển khai trên nền HTTP đơn thuần như Apache, Nginx, IIS,… Còn Adobe HDS , MSS phải dùng một cơ chế bổ sung trên HTTP thì mới có thể chạy.
 


Top