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

báo cáo bài tập lớn ứng dụng video streaming

19 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Ứng dụng Video Streaming
Tác giả Cao Minh Sơn, Nguyễn Trường Thành
Người hướng dẫn PGS.TS Nguyễn Thị Hoàng Lan
Trường học Trường Đại học Bách khoa Hà Nội
Chuyên ngành Truyền thông đa phương tiện
Thể loại Báo cáo bài tập lớn
Năm xuất bản 2022
Thành phố Hà Nội
Định dạng
Số trang 19
Dung lượng 2,79 MB

Nội dung

1.Giới thiệu chung về công nghệ StreamingVideo là một loại dữ liệu đa phương tiện, chủ yếu phục vụ cho truyềnthông hoặc cho nhu cầu giải trí của con người trong nhiều thập niên.Trong thờ

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 BÀI TẬP LỚN

ỨNG DỤNG VIDEO STREAMING

Môn học: Truyền thông đa phương tiện

Học viên thực hiện 1) Cao Minh Sơn

2) Nguyễn Trường Thành

Giảng viên hướng dẫn : PGS.TS Nguyễn Thị Hoàng Lan

Trang 2

HÀ NỘI, 07/2022 MỤC LỤC

1 Giới thiệu chung về công nghệ Streaming 3

2 Quá trình video streaming 6

3 Các loại tệp định dạng Video Streaming và phần mềm xem Video 10

3.1 Các loại tệp định dạng Video Streaming 10

3.2 Phần mềm xem Video của một số hãng 13

3.3 Các hệ thống Server Streaming phổ biến 16

Trang 3

Danh Mục Hình Ản

Hình 1: Mô hình Streaming 5 Hình 2: Hệ thống Video Streaming 7 Hình 3: Hai chức năng chính của Wowza Streaming là Live và Vod 16

Trang 4

1 Giới thiệu chung về công nghệ Streaming

Video là một loại dữ liệu đa phương tiện, chủ yếu phục vụ cho truyền thông hoặc cho nhu cầu giải trí của con người trong nhiều thập niên.Trong thời

kỳ đầu video được xử lý và truyền dưới dạng tín hiệu tương tự (analog).Với sự phát triển không ngừng của mạch điện tử và máy tính dẫn đến số hóa Video và

mở ra một cuộc cách mạng về nén và truyền thông Video.Sự phát triển và phổ biến của Internet giữa những năm 90 đã định hướng truyền thông Video qua mạng chuyển mạch gói best – effort Video qua mạng Internet gặp phải rất nhiều yếu tố bất lợi về băng thông, độ trễ và mất gói tin, cùng với một số vấn

đề như làm thế nào để chia sẻ tài nguyên mạng giữa các luồng hay làm thế nào

có thể triển khai hiệu quả phương thức truyền thông một – nhiều Từ đó đã có rất nhiều giải pháp được nghiên cứu và phát triển nhằm khắc phục những vấn

đề này Video Streaming được định nghĩa là một “dòng chảy” video, nghĩa là

dữ liệu Video được truyền liên tục từ một nguồn đến một đích nào đó thông qua Internet

Video Streaming thường được sử dụng trong lĩnh vực giải trí hoặc dạy học, dùng để lưu trữ các tập tin Video hoặc các bài học, cung cấp cho người dùng các tiện ích như tìm kiếm, liệt kê và khả năng hiển thị hoặc hiển thị lại các

dữ liệu Video theo yêu cầu.Với các định dạng tập tin Video truyền thống, dữ liệu chỉ có thể hiển thị khi đã được tải về (download) toàn bộ, vì vậy đối với các tập tin Video chất lượng cao có dung lượng lớn thì công việc này sẽ tiêu tốn rất nhiều thời gian Video Streaming tiết kiệm thời gian cho người dùng bằng cách sử dụng các công nghệ giải nén kết hợp với hiển thị dữ liệu đồng thời trong lúc vẫn tiếp tục tải Video về

Quá trình này được gọi là kỹ thuật đệm (buffering):

Thay vì được gửi một lần duy nhất, dữ liệu Video Streaming sẽ được chiathành từng gói nhỏ, sau đó liên tục truyền những phần được chia ra Ban đầu bên nhận sẽ lấy về một phần chia nhỏ của dữ liệu Video và hiển thị những phần Video đã nhận được, đồng thời trong lúc hiển thị các gói dữ liệu còn lại sẽ lần lượt được lấy về để kịp cho việc hiển thị tiếp theo

Trang 5

Video Streaming được thể hiện dưới hai dạng:

Video theo yêu cầu (on demand): là các dữ liệu Video được lưu trữ trên máy chủ đa phương tiện và được truyền đến người dùng khi có yêu cầu, ngườidùng có toàn quyền để hiển thị cũng như thực hiện các thao tác (tua, dừng,quay lại…) với các đoạn dữ liệu này

Video thời gian thực (live event): là các dữ liệu Video được biến đổi trực tiếp từ các nguồn cung cấp dữ liệu theo thời gian thực (máy camera, microphone,thiết bị phát dữ liệu Video…)

Streaming Video tiết kiệm thời gian cho người dùng bằng cách sử dụng các công nghệ giải nén kết hợp với “phần mềm đa phương tiện” hiển thị dữ liệu đồng thời với quá trình download (diễn ra song song) Quá trình này được gọi là buffering và có thể được diễn giải là thay vì được gửi một lần duy nhất dữ liệu Streaming sẽ được truyền đi thành các gói nhỏ Ban đầu “phần mềm đa phương tiện” sẽ lấy về một phần chia nhỏ đó của dữ liệu video trước khi hiển thị, đồng thời trong lúc hiển thị các gói dữ liệu còn lại sẽ lần lượt được lấy về để kịp cho việc hiển thị tiếp theo

Việc truyền các Streaming Video, Audio qua mạng internet sẽ phụ thuộc rất nhiều vào các sản phẩm phần mềm dành cho máy chủ Video/Audio Streaming

và máy người dùng Streaming Trong những năm gần đây có rất nhiều các chuẩn công nghệ Streaming được phát triển với các “phần mềm đa phương tiện”: Emblaze, Liquid Audio, Macromedia Shockwave, Microsoft Windows Media,

Hình 1: Mô hình Streaming

Trang 6

RealNetworks RealMedia, VDOLive, Vosiac, Audioactive, Apple QuickTime Một vấn đề lớn được đặt ra cùng với sự phát triển của các công nghệ streaming

là sự gia tăng của các định dạng dữ liệu riêng và sự không tương thích của chúng Hiện tại các định dạng Video/Audio Streaming chỉ giới hạn bởi ba công ty được coi là dẫn đầu trong công nghệ Streaming với các sản phẩm: Apple với QuickTime, RealNetworks với RealMedia, và Microsoft với Windows Media Các hãng này đều cung cấp các bộ công cụ trọn gói gồm máy chủ Streaming (lưu trữ, truyền phát dữ liệu theo các giao thức hỗ trợ ), “phần mềm đa phương tiện” (hiển thị dữ liệu tại phía người dùng), và công cụ kiến tạo dữ liệu với các chuẩn nén

Công nghệ Streaming sử dụng các giao thức RTP, MMS, HTTP… để truyền dữ liệu qua mạng Internet, đồng thời sử dụng các chuẩn nén để giảm dung lượng dữ liệu, cung cấp khả năng nén dữ liệu tại nhiều mức nén, nhiều kích thước hiển thị để có thể phù hợp với độ rộng băng thông của nhiều mạng truyền dẫn để tối ưu hoá việc truyền dữ liệu qua mạng

2 Quá trình video streaming

Với Video Streaming máy tính của người sử dụng không phải tải toàn bộ Video

về cùng một lúc Để thực hiện tăng tốc độ lần tải về, tại bất kỳ thời điểm nào máy tính chỉ cần tải về một phần thông tin của Video Với kỹ thuật này, chúng ta cần một máy chủ đặc biệt kiểm soát việc cung cấp các nội dung Video, để bất kỳ phần nào của đoạn Video được lưu trữ trên máy chủ đều có thể được truy cập bất kỳ lúc nào

Khi các dữ liệu đa phương tiện như Audio, Video ngày càng phổ biến trên mạng, đặc điểm dữ liệu đa phương tiện là có dung lượng lớn nhưng tốc độ mạng Internet hiện nay còn hạn chế, do đó phương thức và vấn đề truyền tải dữ liệu đến người dùng đóng vai trò quan trọng trong sự thành công trong việc kinh doanh các nội dung này Có rất nhiều nghiên cứu nhằm tối ưu hóa phương thức truyền

dữ liệu đa phương tiện nhưng hiện tại chỉ có hai cách thức cơ bản để xem Media trên mạng Internet là Downloading và Streaming:

- Downloading: khi Download một tệp tin (file) thì toàn bộ file được lưu

Trang 7

trên máy tính của người dùng,những file này người dùng có thể mở và xem sau

đó Phương thức này có ưu điểm như là truy xuất nhanh đến các đoạn khác nhau trong file nhưng có một nhược điểm lớn đó là người dùng phải chờ cho toàn bộ file được Download về trước khi có thể xem được Nếu như file có dung lượng nhỏ thì điều này không có quá nhiều bất tiện, nhưng với file có dung lượng lớn hoặc bài trình diễn dài thì nó có thể gây ra nhiều khó chịu Ngoài ra, hiện nay, với

sự bùng nổ của Internet thì số lượng dữ liệu trên mạng Internet là rất lớn nên việc lưu trữ các file này vào máy tính của mình cũng có những hạn chế nhất định

- Streaming: phương thức Streaming làm việc có một chút khác biệt Người sử dụng có thể bắt đầu xem file ngay khi nó bắt đầu được Download File được gửi đến người sử dụng trong các chuỗi liên tiếp và người sử dụng xem nội dung ngay khi nó đến mà không phải chờ đợi Phương thức này cũng có ưu điểm là có thể được sử dụng để truyền tải các sự kiện trực tiếp Với các định dạng file Video, Audio truyền thống, dữ liệu chỉ có thể hiển thị khi đã được Download toàn bộ, vì vậy đối với các file video chất lượng cao có dung lượng lớn thì công việc này sẽ tiêu tốn rất nhiều thời gian

- Progressive Download and Play: Đây là công nghệ lai giữa hai công nghệ trên Trong công nghệ này, Video sẽ được chia nhỏ ra thành nhiều frame, chương trình phát Video (player) sẽ hiện thị ngay những gói vừa được tải về và lưu trữ

dữ liệu đó ở bộ nhớ đệm của máy Khi tua lại những đoạn Video mà đã tải về, Player sẽ lấy dữ liệu từ bộ nhớ đệm để tải lên

Video Streaming sử dụng các giao thức RTSP, MMS, HTTP… để truyền dữ liệu theo dạng luồng qua mạng Internet, đồng thời sử dụng các chuẩn nén để

Trang 8

giảm

dung lượng dữ liệu, cung cấp khả năng nén dữ liệu tại nhiều mức nén, nhiều kích thước hiển thị để có thể phù hợp với độ rộng băng thông của nhiều mạng truyền dẫn để tối ưu hoá việc truyền dữ liệu qua mạng Cũng chính vì vậy việc truyền các Video Streaming qua mạng sẽ phụ thuộc rất nhiều vào các sản phẩm phần mềm máy chủ luồng Video Hiện nay, có rất nhiều chuẩn công nghệ Video streaming Cũng như có nhiều định dạng dữ liệu riêng với các chuẩn cộng nghệ đó Các định dạng Video streaming chỉ giới hạn bởi các công ty dẫn đầu trong công nghệ streaming: Các hãng này đều cung cấp các

bộ công cụ trọn gói gồm máy chủ luồng Video (lưu trữ, truyền phát dữ liệu theo các giao thức hỗ trợ .), Video Player (hiển thị dữ liệu tại phía người dùng), và công cụ kiến tạo dữ liệu với các chuẩn nén Một hệ thống video thường bao gồm 6 khối, như minh họa trong hình.Trong hình trên Video và âm thanh gọi là dữ liệu thô được nén bằng cách sử dụng các thuật toán nén video

và âm thanh rồi sau đó được lưu trong thiết bị lưu trữ Theo yêu cầu từ khách hàng, một máy chủ Streaming sẽ lấy Video và âm thanh nén dữ liệu trong các thiết bị lưu trữ và sau đó cùng với lớp ứng dụng QoS là Modul kiểm soát điều chỉnh các Video và âm thanh thành các luồng bit theo tình trạng mạng lưới và các yêu cầu QoS Sau đó sử dụng các giao thức truyền tải nén các chuỗi bit rồi gửi các gói tin Video và âm thanh qua mạng Internet Gói có thể bị giảm hoặc hoặc bị trễ quá mức trong mạng Internet do tắc nghẽn, các gói tin có thể bị hư hỏng do bị lỗi bit Để nâng cao chất lượng truyền Video và âm thanh được truyền liên tục, dịch vụ phân phối được triển khai trên mạng Internet cho các gói tin được gửi đến người nhận, sử dụng giao thức RSTP đi qua các lớp vận chuyển và sau đó được xử lý bởi lớp ứng dụng trước khi được giải mã ở các bộ giải mã Video và âm thanh Để đồng bộ hóa giữa Video và âm thanh , các cơ chế đồng bộ truyền thông được yêu cầu Từ hình trên ta có thể thấy 6 khối này liên quan rất chặt chẽ với nhau và chúng là thành phần thống nhất của kiến trúc Video Streaming

- Cơ chế nén Video: Dữ liệu Video nguyên gốc cần phải được nén trước

Hình 2: Hệ thống Video Streaming

Trang 9

khi được truyền nhằm để đạt được hiệu quả tốt nhất về tiết kiệm băng thông.

- Cơ chế điều khiển chất lượng dịch vụ tầng ứng dụng: Để đối phó với

sự biến thiên của tài nguyên mạng hoặc để cung cấp chất lượng hình ảnh nhằm đáp ứng theo yêu cầu của từng người sử dụng, nhiều kỹ thuật điều khiển chất lượng dịch vụ tầng ứng dụng đã được đưa ra Kỹ thuật bao gồm điều khiển tắc nghẽn và kiểm soát lỗi Điều khiển tắc nghẽn được sử dụng để ngăn ngừa mất gói dữ liệu và giảm trễ để kiểm soát lỗi, mặt khác còn nhằm để cải thiện chất lượng trình chiếu Video khi không có phần dữ liệu của gói tin bị mất

- Dịch vụ phân phát Video trên đường truyền: Để cung cấp các dịch vụ

đa phương tiện có chất lượng tốt, sự hỗ trợ của mạng là quan trọng Điều này cho thấy do có sự hỗ trợ của mạng mà từ đó có thể giảm trễ khi truyền tải và giảm tỷ lệ mất gói tin Được xây dựng trên nền của Internet (giao thức IP), dịch

vụ phân phối Video trên đường truyền cho phép đạt được QoS (chất lượng dịch vụ) và hiệu quả cao cho việc phân phát Video qua mạng Internet

- Máy chủ Streaming: Máy chủ Streaming đóng một vai trò quan trọng trong việc cung cấp các dịch vụ trực tuyế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ử một dữ liệu video 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 (ví dụ, giao thức vận chuyển), một hệ điều hành, và một hệ thống lưu trữ

- Cơ chế đồ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 Một ví dụ của cơ chế đồng bộ là cử động môi của người nói phải phù hợp với tiếng nói họ phát ra

- Giao thức cho Video Streaming: Giao thức được thiết kế và chuẩn hóa cho truyền thông giữa khách hàng và các máy chủ streaming Giao thức có thể được chia làm 3 loại: giao thức tầng mạng như Internet Protocol (IP), giao thức tầng giao vận như Use Datagram Protocol (UDP) và giao thức điều khiển phiên như Real – time Streaming Protocol (RTSP)

Với những hệ thống máy chủ trình chiếu Video trực truyến hoặc cung

Trang 10

cấp cho việc tải về theo yêu cầu người dùng đang được sử dụng hiện nay, thì với mỗi yêu cầu của người dùng đến – sẽ được máy chủ xử lý thông tin đảm bảo yêu cầu tải đó là hợp lệ để thiết lập kết nối Tiếp sau đó, nó sẽ truy xuất đến

ổ cứng (hoặc thiết bị lưu trữ cục bộ) để truy xuất tập tin yêu cầu đó và gửi về cho người dùng.Như chúng ta đều biết tốc độ truy xuất ổ cứng thường khá chậm.Bên cạnh đó, có những tập tin được nhiều người dùng cùng quan tâm trong một thời điểm (sai khác nhỏ về thời gian), việc truy xuất ổ cứng liên tục

để truy xuất cùng một tập tin như cách làm việc hiện tại là rất lãng phí và tốn kém cho máy chủ

Để giải quyết vấn đề này, ta đưa ra giải pháp sử dụng Cache Cache được hiểu theo nghĩa thường là nơi lưu trữ dữ liệu nằm chờ phần cứng xử lý, nhằm mục đích tăng tốc độ xử lý Cache có thể là một vùng lưu trữ của bộ nhớ chính hoặc một thiết bị lưu trữ tốc độ cao độc lập Có rất nhiều loại Cache được biết đến hiện nay với những chức năng khác nhau như: Cache của CPU, Caching của Internet Browser, Caching của Oracle…Cụ thể ở đây ta quan tâm đến một

cơ chế xử lý Video Caching ngay trên máy chủ thay thế cho Web Caching quá tải hiện nay Việc đầu tư cho thiết bị Cache cộng với việc có một giải pháp quản

lý Cache hiệu quả sẽ giảm tải rất nhiều cho máy chủ

Cách thức hoạt động thông qua Cache:

• Dữ liệu được truy xuất từ ổ cứng được đẩy lên Cache

• Với mỗi yêu cầu từ người nhận gửi tới, máy chủ sẽ tìm kiếm dữ liệu đã tồn tại trên Cache chưa, để thực hiện đẩy dữ liệu đó lên Cache, nếu tồn tại thì dữ liệu từ Cache thông qua quá trình xử lý dữ liệu sẽ được truyền trực tiếp đến người dùng thông qua một luồng tin (bỏ qua giai đoạn truy xuất từ ổ cứng)

• Cơ chế để quản lý dữ liệu trên Cache, quyết định dữ liệu nào được đưa vào Cache hoặc loại bỏ ra khỏi Cache, chúng ta phải thông qua việc phân tích thông tin truy xuất dữ liệu, cùng với thử nghiệm những số liệu thực tế

để đưa ra một giải thuật quản lý Cache hợp lý

3 Các loại tệp định dạng Video Streaming và phần mềm xem Video 3.1 Các loại tệp định dạng Video Streaming

Các tập tin Video thường thuộc 2 loại: codec và không codec Một số

Trang 11

định dạng tập tin, chỉ cần nhìn vào đuôi tập tin ta biết được loại codec mà tập tin

đó sử dụng như: WMV, RM, MOV… Hoặc các loại đuôi tập tin không chỉ định chính xác loại codec nào như: MP4, AVI, MKV… Các loại tập tin trên đều là các hộp đựng (container) để chứa nội dung, chúng ta thường phải sử dụng các trình media player để mở và đọc các tập tin đó Để biết tập tin đó sử dụng loại codec nào để mã hóa Ta xem xét một số loại định dạng tập tin mà các Website và các nhà cung cấp lớn thường hỗ trợ:

Định dạng Giới thiệu

3GP –

3GPP

Multimedia

- Định dạng 3GP là định dạng Video được phát triển bởi dự án 3 Generation Partnership dựa trên chuẩnrd MPEG-4 Được sử dụng cho các tập tin đa phương tiện trên mạng không dây 3G tốc độ cao, sử dụng phổ biến trên điện thoại

có hỗ trợ quay phim

ASF –

Advanced

Systems

Format

- Định dạng ASF được Microsoft phát triển Định dạng này được dùng để truyền tải các tập tin đa phương tiện chứa văn bản, đồ họa, âm thanh, Video Tập tin ASF chủ yếu là tập tin Windows Media Audiovà WindowsMedia Video

- Tập tin ASF chỉ đặc tả cấu trúc của tập tin video hay

âm thanh được truyển tải mà không chỉ rõ phương pháp mã hóa

AVI –

Audio Video

- Định dạng AVI cũng được phát triển bởi Microsoft và chứa dữ liệu được mã hóa theo các codec khác nhau (có thể

Interleave dùng các codec như DivX để mã hóa tập tin AVI) Định

dạng AVI bao gồm hai loại định dạng chính DivX, Xvid Đây là một định dạng rất phổ biển hiện nay

- AVI là một sản phẩm của RIFF Dữ liệu của tập tin được chia trong các khối, mỗi khối được xác định bởi một nhãn Khối đầu tiên chứa dữ liệu về Video, những thông tin

về chiều dài, chiều rộng, tỷ lệ khung Khối thứ 2 chứa dữ liệu thật sự của tập tin AVI Khối thứ 3 chứa các chỉ mục của các khối

dữ liệu trong tập tin

Ngày đăng: 11/06/2024, 22:18

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

TÀI LIỆU LIÊN QUAN

w