1. Trang chủ
  2. » Luận Văn - Báo Cáo

Kỹ thuật truyền dòng dữ liệu và ứng dụng trong truyền thông dữ liệu video audio

22 1,6K 17

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 22
Dung lượng 1,53 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Truyền dòng là kỹ thuật truyền dữ liệu mà trong đó dữ liệu được client nhận và hiển thị một cách liên tục, đồng thời với quá trình gửi từ phía server. Kỹ thuật truyền dòng (Data Streaming): Cấu trúc hệ thống sử dụng “Streaming Server”. Đóng vai trò quan trọng trong việc cung cấp các dịch vụ trực truyến. Để cung cấp các dịch vụ trực tuyến chất lượng. Các máy chủ streaming được yêu cầu phải xử lý dữ liệu videoaudio với sự ràng buộc về thời gian, hạn chế thời gian trễ và hỗ trợ hoạt động kiểm soát tương tác như tạm dừng (pause), tua (fast forword) tiếp tục, nhanh chóng chuyển tiếp và nhanh chóng quay lại. Một máy chủ Streaming thường bao gồm ba hệ thống con: Một hệ thống kết nối giao tiếp, một hệ điều hành và một hệ thống lưu trữ.

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

Báo Cáo

Truyền Thông Đa Phương Tiện

trong

truyền thông dữ liệu video-audio.

GV Hướng Dẫn : PGS.TS Nguyễn Thị Hoàng Lan

SV Thực Hiện : Hoàng Hữu Hợi – 20121772.

Phạm Minh Hiếu – 20121693 Nguyễn Văn Phương – 20122252 Trương Văn Tam – 20122370.

Nguyễn Trung Hiếu – 20121690.

Trang 2

Hà Nội, Tháng 12 năm 2015

PHÂN CÔNG CÔNG VIỆC.

• Tìm hiểu chung về mô hình và kỹ thuật truyền dòng dữ liệu (Data

Streaming) –Hoàng Hữu Hợi

• Khảo sát các công nghệ triển khai kỹ thuật “Data Streaming” hiện nay trongcác ứng dụng truyền thông dữ liệu video-audio – Nguyễn Văn Phương

• Tìm hiểu giao thức RTMP (Real Time Message Protocol) – Phạm Minh Hiếu

• Hoạt động của RTMP trong Video streaming - Trương Văn Tam

• Sự khác nhau về kỹ thuật truyền dòng dùng RTMP với kỹ thuật truyền dòngdùng RTP – Nguyễn Trung Hiếu

Trang 3

MỤC LỤC

Trang 4

I TÌM HIỂU CHUNG VỀ MÔ HÌNH VÀ KỸ THUẬT

TRUYỀN DÒNG DỮ LIỆU

1 Khái niệm

Truyền dòng là kỹ thuật truyền dữ liệu mà trong đó dữ liệu được client nhận và hiển thị một cách liên tục, đồng thời với quá trình gửi từ phía server

2 Kỹ thuật truyền dòng (Data Streaming):

• Cấu trúc hệ thống sử dụng “Streaming Server” Đóng vai trò quan trọng trong việc cung cấp các dịch vụ trực truyến Để cung cấp các dịch vụ trực tuyến chất lượng Các máy chủ streaming được yêu cầu phải xử lý dữ liệu video/audio với sự ràng buộc về thời gian, hạn chế thời gian trễ và hỗ trợ hoạt động kiểm soát tương tác như tạm dừng (pause), tua (fast forword) tiếptục, nhanh chóng chuyển tiếp và nhanh chóng quay lại Một máy chủ

Streaming thường bao gồm ba hệ thống con: Một hệ thống kết nối giao tiếp, một hệ điều hành và một hệ thống lưu trữ

• Sử dụng giao thức UDP Là giao thức truyền dữ liệu đơn giản và hiệu quả Tuy nhiên không có cơ chế nào trong giao thức để đảm bảo việc giao tập tinmedia đi Nếu dữ liệu bị mất, việc stream có thể khiến cho chất lượng bị sụtgiảm

• Truyền dữ liệu với tốc độ phù hợp tốc độ trình diễn file Nếu các Streaming Client nhận được các dữ liệu nhanh hơn so với yêu cầu, nó cần phải lưu dữ liệu dư thừa trong một bộ đệm Nếu luồng dữ liệu không đủ nhanh tải về, dữliệu sẽ không được mịn màng khi hiển thị

• Dữ liệu trình diễn xong không lưu trữ ở thiết bị vật lý Các dữ liệu lưu ở bộ nhớ đệm sau khi trình diễn xong thì sẽ được xóa ngay sau đó

3 Nguyên tắc truyền dòng

Dữ liệu video, audio thu bằng máy thu hoặc lưu ở file sẽ được nén lại Dữ liệu nén này sau đó được phân thành các gói có kích thước bằng nhau rồi được truyền đi qua mạng Đến nơi nhận, các gói sẽ được khôi phục lại, đồng bộ và giải nén sau đó sẽđược trình diễn trên client

Các kĩ thuật chủ yếu được sử dụng trong quá trình truyền dữ liệu thời gian thực:

• Đóng gói dữ liệu Tạo ra các gói dữ liệu có độ dài như nhau

Trang 5

• Tạo dòng dữ liệu Dòng liên tiếp các gói dữ liệu được đưa vào mạng theo nhịp thời gian, phù hợp ứng dụng.

• Đồng bộ dữ liệu Với cơ chế đồng bộ, ứng dụng tại bên nhận có thể hiển thịvideo gần giống như khi nó được khởi tạo tại bên gửi

Ưu điểm:

• Ta có thể sử dụng dữ liệu trong khi đang truyền tải dữ liệu Không cần tải toàn bộ dữ liệu về máy Do đó không tốn thời gian để chờ đợi dữ liệu được tải về

• Streaming là cách nhanh nhất để truy cập nội dung trên Internet

• Tính streaming liên tục của luồng video – âm thanh của Radio/TV

thường ngăn cản khả năng điều khiển việc phát lại của người nhận Tuy nhiên, vấn đề này có thể được khắc phục bởi bộ nhớ đệm của máy chủ và

bộ đệm của thiết bị phát

Trang 6

4 Mô hình

a Unicast

Unicast gửi một bản sao riêng media stream từ máy chủ đến mỗi người nhận Người sử dụng kết nối với máy chủ streaming mà luồng gửi nhận hoàn toàn tách biệt với mọi người dùng khác

Bất lợi của các công nghệ truyền thống unicast: có các dòng dữ liệu giống nhau trên các phần khác nhau của mạng Cấu hình này sử dụng lãng phí các tài nguyên mạng (node, băng thông) làm cho máy chủ truyền tải nặng nề

b Multicast

Sự phân bố của các dòng dữ liệu không được xử lý bởi máy chủ nhưng nó đượcchia sẻ bởi các nút mạng Vì vậy, máy chủ streaming chỉ cần truyền một dòng dữ liệu tới địa chỉ đại diện của nhóm Việc này giúp sử dụng tối ưu các nguồn tài nguyên mạng và giảm tải máy chủ

Nhóm Multicast có thể được xác định bởi địa chỉ mạng đặc biệt, có địa chỉ Ipv4

từ 224.0.0.0 đến 239.255.255.255 Một nhóm multicast chỉ có một địa chỉ nhóm đại diện cho tất cả các thành viên trong nhóm và các dữ liệu được gửi đến địa chỉ nhóm này sẽ được gửi tới tất cả các thành viên trong nhóm

Trang 7

II KHẢO SÁT CÔNG NGHỆ TRIỂN KHAI KỸ THUẬT

“DATA STREAMING” HIỆN NAY TRONG CÁC ỨNG DỤNG TRUYỀN THÔNG DỮ LIỆU VIDEO – AUDIO

Hiện nay kĩ thuật streaming được sử dụng rộng rãi, khi ta xem các video clip, xem truyền hình trên internet đều bắt gặp streaming

• Trình duyệt sẽ yêu cầu tập tin đa phương tiện sau thông tin liên lạc server

• Trình duyệt sẽ đưa tệp tin đa phương tiện đến player và trình chiếu nó

• Sau đó Server sẽ stream tệp video/audio đến player

Trang 8

1 Data Streaming được sử dụng trong giao thức RSTP

RSTP được thiết kế để điều khiển truyền dòng dữ liệu đa phương tiện với thôngtin thời gian đáp ứng yêu cầu trình diễn tại máy user

RSTP yêu cầu client duy trì thông tin về phiên streaming qua các request

RTSP.Cả 2 phía client và sever đều có thể đưa ra các RSTP request

5 Data streaming còn được sử dụng trong giao thức thời gian thực RTP/RTCP

6 Data streaming còn dùng trong sử dụng giao thức RTMP (Real Time Message Protocol)

Trang 9

III GIAO THỨC RTMP (REAL TIME MESSAGING

PROTOCOL)

1 Giới thiệu

RTMP là giao thức được tạo ra bởi Macromedia (hiện nay là Adobe) dùng để truyền tải các đối tượng Flash và video trên các kết nối mạng Hiện tại chỉ có 2 máy chủ hỗ trợ giao thức này là Macromedia Media Sever, và server mã nguồn mở Red5.

Đây là một giao thức đơn giản, được tối ưu cho các kết nối tốc độ thấp Nó có thể hỗ trợ tối đa 64 luồng dữ liệu trên cùng một kết nối Trong header của một AMF có chứa chỉ số của luồng dữ liệu mà nó thuộc về Một message RTMP có thể chứa nhiều hơn một đối tượng AMF.

Trang 10

8 Cấu trúc gói tin

Server và máy chủ gửi tin nhắn rtmp thông qua mạng để liên kết đến nhữg server và máy chủ khác tin nhắn bao gồm audio, video, dữ liệu hay bất cứ tin nhắn khác.tin nhắn rtmp có 2 phần là phần Header và phần Payload

+ Header:

Messge type: cho biết kiểu gói tin

Payload Length: cho biết kích thước phần payload

Timestamp: nhãn thời gian của gói tin

Stream ID: xác định dòng của gói tin

+ Payload: chứa dữ liệu thực tế của gói tin

9 Quá trình bắt tay

Hoạt động cơ bản của RTMP như sau : Tất cả quá trình truyền thông được khởi động bởi client Client khởi tạo một kết nối RTMP bằng cách gửi một byte có giá trị 0x03 – byte này được theo sau bởi một khối dữ liệu 1536 byte Định dạng của khối

dữ liệu này cho đến nay vẫn chưa biết nhưng nó dường như không thực sự được sử dụng bởi giao thức ngoại trừ thao tác bắt tay

Server khi nhận được gói dữ liệu sẽ lưu lại khối dữ liệu 1536 byte này, và cũng gởi 1 byte giá trị 0x03 theo sau bởi hai khối 1536 byte Khối thứ hai chính là nội dung

đã được gửi lên bởi client trước đó

Trang 11

Client nhận hai khối dữ liệu 1536 byte từ server, so sánh với khối dữ liệu ban đầu nó gửi lên server, nếu phù hợp thì kết nối được thiết lập, nó cũng gửi trả khối dữ liệu này về lại cho server.

Hình 3: Quá trình bắt tay giữa Client và Server trong giao thức RTMP

Sau thao tác bắt tay Client tiếp tục gửi ba đối tượng AMF lên server để khởi động truyền dữ liệu Đối tượng đầu tiên là đối tượng connect nhằm thông báo client

đã sẵn sàng cho quá trình truyền thông Đối tượng AMF thứ hai chính là đối tượng NetConnection từ client, lớp Action Script này được sử dụng tạo kết nối tới media server Đối tượng AMF thứ ba là đối tượng NetStream từ client dùng để xác định file cần stream từ server

Trang 12

Đối với tiêu đề 8 byte thì bỏ đi trường source id trong tiêu đề 12 byte.

Đối với tiêu đề 4 byte thì bỏ đi trường length, content type trong tiêu đề 8 byte.Đối với tiêu đề 1 byte thì bỏ đi trường timestamp trong tiêu đề 4 byte nghĩa là

nó chỉ gồm byte đầu tiên chứa kiểu tiêu đề và chỉ số đối tượng AMF

Trang 13

Bảng 5: Một số giá trị trong trường Content Type

11 Truyền tải nhiều đối tượng AMF trên cùng một kết nối

Mỗi đối tượng AMF được chia thành các khối dữ liệu có kích thước 128 byte (ngoại trừ audio có kích thước 64 byte) Khối đầu tiên thường được gắn tiêu đề 12 byte, các khối tiếp theo thường được gắn tiêu đề 1 byte, trong bất kì loại tiêu đề nào cũng có chứa chỉ số của đối tượng AMF tương ứng

Trang 14

Hình 6: Các khối dữ liệu của một đối tượng AMF có chỉ số là 0x03

Để có thể truyền nhiều đối tượng AMF trên một kết nối đơn người ta không truyền các khối dữ liệu của một đối tượng AMF liên tiếp nhau mà truyền xen kẽ các khối dữ liệu của nhiều đối tượng AMF

Trang 15

Hình 7: Truyền các khối dữ liệu xen kẽ nhau.

Trang 16

IV HOẠT ĐỘNG CỦA RTMP TRONG VIDEO STREAMING

1 Tìm hiểu RTMP trong ứng dụng Flash Video

RTMP được sử dụng trong ứng dụng Flash Video trên internet.Một giao thức đặc biệt cho các ứng dụng máy chủ thời gian thực khác nhau,từ tin nhắn thức thời để chia sẻ dữ liệu hợp tác với video streaming

RTMP trong Flash Video được cung cấp bởi phần mềm máy chủ cấp phép từ Adobe,đặc biệt là Flash Media Server (FMS).FMS được cài đặt trên một máy chủ được nối mạng và quản lý trực tuyến Flash Video riêng rẽ với các máy chủ Web lưu trữ các bộ phim Flash.FMS cấp phép cho các trang web âm lượng cao

2 Phân tích ứng dụng

Một trong những lợi ích của việc dùng giao thức RTMP là phát lại gần như tức thời của video,cung cấp các tập tin Flash.Video được mã hóa với một bitrate thích hợp cho tốc độ kết nối của người xem.Real-time-streaming cũng có thể tìm được file FLV vào bất kỳ thời điểm nào trong nội dung.Tính năng này đặc biệt thuận lợi cho nội dung trong thời gian dài vì người xem không phải chờ đợi cho các tệp tin video đểtải trước khi nhảy

Những người muốn lưu trữ video có thể sử dụng thời gian thực streaming video

ở bất kỳ định dạng video nào không chỉ là Flash Video.Khi các luồng video RTMP dựa vào Flash Video,âm thanh và dữ liệu video chỉ được lưu trữ trong bộ nhớ đệm Flash Player.Toàn bộ tập tin Flash Video không được sao chép hoặc lưu trữ vào bộ nhớ cache của trình duyệt web

Các giao thức sử dụng có thể ảnh hưởng đến chiến lược triển khai Flash

Video.Nếu ta mã hóa các tập tin Flash Video với một công cụ nén,ta nên xác định giao thức để sử dụng trước khi tạo ra các tập tin FLV.Vì kết nối RTMP gửi dữ liệu video từ một máy chủ từ xa đến một máy nghe nhạc đệm tạm thời,tốc độ dữ liệu Video của Flash nên được dự đoán trong suốt thời gian phát lại.Tính nhất quán dữ liệu tốc độ này chỉ có thể được thực hiện với tốc độ bit không đổi (CBR) mã hóa.Gần như tất cả bộ mã hóa Flash Video cung cấp các tùy chọn lựa chọn bitrate không đổi hoặc bitrate biến (VBR) mã hóa.Nếu công cụ mã hóa Flash Video không cung cấp một sự lựa chọn,nó có thể sử dụng mã hóa CBR

Nếu nội dung Flash Video được mã hóa với một thiết lập VBR,tập tin có thể có gai dữ liệu cực mà vượt qua tốc độ bit trung bình của video.Những gai đột ngột có thểtrống rỗng đệm Flash Player và cho kết quả phát lại tạm thời bị đình trệ và một pause-play-pause gây nhiễu.Tuy nhiên,nếu nội dung Flash Video sẽ không được phân phối

Trang 17

qua RTMP,ta có thể an toàn sử dụng mã hóa VBR vơi tiêu chuẩn trên một máy chủ web Bởi vì Flash Video tải dần dần và được lưu trữ trong bộ nhớ cache của trình duyệt web, gai dữ liệu có lẽ sẽ không xảy ra trong quá trình phát lại cung cấp các bitrate đang sử dụng là phù hợp với tốc độ kết nối của người xem.

Tuy nhiên, điều này không phải luôn luôn chia sẻ với giao thức RTMP - Flash Video Cổng mặc định cho các kết nối RTMP là 1935, trong đó có thể không được cho phép trên các bức tường lửa chặt chẽ Nếu nỗ lực đầu tiên Flash Player để chạy video qua cổng 1935 không thành công, Flash Player tự động cố gắng để kết nối với các dòng video với RTMP trên cổng 80 Nếu phép thử thứ hai này không thành công, cuối cùng có sẵn cho Flash Player là để thử một HTTP kết nối -tunneled trên cổng 80

Một đường hầm kết nối có nghĩa là các gói dữ liệu RTMP được gói (hoặc đeo mặt nạ)

trong một gói dữ liệu HTTP Một số bức tường lửa cho phép lưu lượng này, vì các gói dữ liệu dường như là bình thường lưu lượng HTTP Web Nếu các bức tường lửa kiểm tra dữ liệu HTTP, tuy nhiên, nó vẫn có thể từ chối các kết nối, và các Video Flash sẽ không chạy

Nếu ta kiểm soát quyền truy cập vào nội dung Flash Video, và ta không muốn người dùng các file FLV ra khỏi bộ nhớ cache của trình duyệt web của họ, ta phải sử dụng thời gian thực Streaming Flash Video Ngay sau khi ta đặt các file FLV ở một vịtrí có thể truy cập công khai trên một máy chủ Web,ta đang cho phép người sử dụng

để sao chép các tập tin FLV và làm bất cứ điều gì họ muốn.Rất nhiều tập tin Flash Video trên Web thậm chí từ số lượng lớn các trang web của Neutrino thời gian thực Streaming Flash Video Tìm kiếm video của Google và Youtube là những ví dụ của các trang web cung cấp trình duyệt cache Tuy nhiên, thời gian thực Streaming Flash Video thường là lựa chọn duy nhất khả thi cho công ty và các tổ chức (như hãng phim

và các mạng truyền hình) mà cần phải kiểm soát cách thức nội dung của họ được xem

và truy cập bởi công chúng

Nếu ứng dụng Flash được thiết kế để chạy từ một nguồn địa phương như ổ cứng của người dùng hoặc phương tiện truyền thông cố định (CD / DVD-ROM),ta có thể cung cấp các nội dung Flash Video để cùng tồn tại với các tập tin địa phương khác được sử dụng cho các ứng dụng Trừ khi ta muốn yêu cầu một kết nối Internet cho các ứng dụng Flash để chạy ta không cần phải lưu trữ các tập tin Flash video trên các máy chủ từ xa Web (HTTP) hoặc thời gian thực máy chủ Streaming (RTMP)

Theo chiều dài của một file video tăng lên, vì vậy nên khả năng sử dụng thời gian thực Streaming Flash Video (RTMP) trong Flash Video dần tải (HTTP) Bất kể tốc độ dữ liệu được sử dụng bởi các tập tin video, file còn có kích thước file lớn hơn Khi một HTTP-giao Flash Video bắt đầu tải về vào trong Flash Player, theo mặc

Trang 18

định các tập tin tiếp tục tải vào bộ nhớ cache của trình duyệt cho dù người sử dụng đồng hồ nội dung Nếu ta lưu trữ các tập tin FLV lớn trên máy chủ web , các byte dữ liệu chuyển giao các máy chủ Web sẽ tăng một cách nhanh chóng, có khả năng tăng chi phí tài chính của lưu trữ các tập tin Nếu bạn lưu trữ các tập tin FLV lớn trên một FMS (hoặc Flash Video Streaming Service), chi phí truyền dữ liệu của bạn chỉ bao gồm các phần của Video Flash dõi bởi mỗi người dùng.

RTMP

Tín hiệu thoại sau khi nén xuống tốc độ thấp được đóng gói lại để truyền đi trong mạng chuyển mạch gói Có nhiều cách thức đóng gói tín hiệu thoại để truyền trong mạng IP Một trong những cách thức được áp dụng nhiều nhất là bộ giao thức RTP/RTCP nhờ tính linh hoạt và khả năng giám sát trạng thái dòng thông tin một cách hiệu quả của nó

1 Vai trò của RTP

Giao thức RTP (Realtime Transport Protocol) cung cấp các chức năng giao vận phù hợp cho các ứng dụng truyền dữ liệu mang đặc tính thời gian thực như là thoại vàtruyền hình tương tác Những dịch vụ của RTP bao gồm trường chỉ thị loại tải trọng (payload identification), đánh số thứ tự các gói, điền tem thời gian (phục vụ cho cơ chế đồng bộ khi phát lại tín hiệu ở bên thu)…

Thông thường các ứng dụng chay giao thức RTP ở bên trên giao thức UDP để

sử dụng các dịch vụ ghép kênh (mutiplexing) và kiểm tra tổng (checksum) của dịch

vụ này; cả hai giao thức RTP và UDP tạo nên một phần chức năng của giao thức tầng giao vận Tuy nhiên RTP cũng có thể được sử dụng với những giao thức khác của tầng mạng và tầng giao vận bên dưới miễn là các giao thức này cung cấp được các dịch vụ mà RTP đòi hỏi: Giao thức RTP hỗ trợ việc truyền dữ liệu tới nhiều đích sử dụng phân bố dữ liệu multicast nếu như khả năng này được tầng mạng hoạt động bên dưới nó cung cấp

Một điều cần lưu ý là bản thân RTP không cung cấp một cơ chế nào đảm bảo việc phân phát kịp thời dữ liệu tới các trạm mà nó dựa trên các dịch vụ của tầng thấp hơn để thực hiện điều này RTP cũng không đảm bảo việc truyền các gói theo đúng thứ tự Tuy nhiên số thứ tự trong RTP header ch phép bên thu xây dựng lại thứ tự đúng của các gói bên phát

Giao thức RTP được cố tình để cho chưa hoàn thiện Nó chỉ cung cấp các dịch

vụ phổ thông nhất cho hầu hết các ứng dụng truyền thông hội nghị đa phương tiện Mỗi một ứng dụng cụ thể đều có thể thêm vào RTP các dịch vụ mới cho phù hợp với

Ngày đăng: 11/03/2016, 23:19

HÌNH ẢNH LIÊN QUAN

Hình 3: Quá trình bắt tay giữa Client và Server trong giao thức RTMP - Kỹ thuật truyền dòng dữ liệu và ứng dụng trong truyền thông dữ liệu video audio
Hình 3 Quá trình bắt tay giữa Client và Server trong giao thức RTMP (Trang 11)
Hình 4: Tiêu đề RTMP 12 byte - Kỹ thuật truyền dòng dữ liệu và ứng dụng trong truyền thông dữ liệu video audio
Hình 4 Tiêu đề RTMP 12 byte (Trang 12)
Bảng 5: Một số giá trị trong trường Content Type - Kỹ thuật truyền dòng dữ liệu và ứng dụng trong truyền thông dữ liệu video audio
Bảng 5 Một số giá trị trong trường Content Type (Trang 13)
Hình 6: Các khối dữ liệu của một đối tượng AMF có chỉ số là 0x03 - Kỹ thuật truyền dòng dữ liệu và ứng dụng trong truyền thông dữ liệu video audio
Hình 6 Các khối dữ liệu của một đối tượng AMF có chỉ số là 0x03 (Trang 14)
Hình 7: Truyền các khối dữ liệu xen kẽ nhau. - Kỹ thuật truyền dòng dữ liệu và ứng dụng trong truyền thông dữ liệu video audio
Hình 7 Truyền các khối dữ liệu xen kẽ nhau (Trang 15)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w