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
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.
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.
Tổng quan về hệ thống Streaming Video
Một số khái niệm trong kỹ thuật 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:
So sánh về các giải pháp
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.
- 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
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.
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.
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 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
So sánh về các giải pháp
Tính năng | Adobe HDS | Apple HLS | Mircosoft Smooth Stream | MPEG-DASH |
Triển khai trên HTTP cổ điển | X | X | ||
Chuẩn ISO | X | |||
Hỗ trợ Đa kênh Âm thanh | X | X | X | |
Mã hóa nội dung | X | X | X | X |
Hỗ trợ phụ đề | X | X | X | X |
Có thể chèn quảng cáo | X | |||
Chuyển kênh nhanh chóng | X | X | X | |
Hỗ trợ HTML5 | X | |||
Không cần các codec Video/Audio | X | |||
Hỗ trợ nội dung Video + Audio | X | X | X | |
Nội dung riêng rẽ như Audio; Video | X | X | X | |
Ghi log người dùng | X |
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.