Một số thông số của 4 tập tin video MP4 mẫu

Một phần của tài liệu (LUẬN văn THẠC sĩ) giảm thiểu thời gian bắt đầu cho các ứng dụng truyền tải video định dạng MP4 sử dụng kỹ thuật lấy trước và cache thông tin header luận văn ths công nghệ thông tin 60 08 15 (Trang 28 - 59)

Tên tệp tin video

Thông số Video Thông số âm thanh Độ lớn atom header

Sample1.mp4 Dung lượng:

2.67 GB

Độ dài:

2:10:32

Chiều rộng khung hình:

1280 pixel

Chiều cao khung hình:

536 pixel Tốc độ dữ liệu: 2783 kbps Tốc độ bit tổng cộng: 2935 kbps Tỷ lệ khung hình: 23 khung hình/giây Tốc độ bit: 150 kbps

Tỷ lệ mẫu âm thanh:

44 kHz.

Số kênh: 2

4.1 MB

Sample2.mp4 Dung lượng:

860 MB

Độ dài:

2:10:32

Chiều rộng khung hình:

720 pixel

Chiều cao khung hình:

576 pixel Tốc độ dữ liệu: 767 kbps Tốc độ bit tổng cộng: 917 kbps Tỷ lệ khung hình: 23 khung hình/giây Tốc độ bit: 150 kbps

Tỷ lệ mẫu âm thanh:

44 kHz

Số kênh: 2

3.9 MB

431 MB

Độ dài:

1:05:31

Chiều rộng khung hình:

720 pixel

Chiều cao khung hình:

576 pixel Tốc độ dữ liệu: 767 kbps Tốc độ bit tổng cộng: 917 kbps Tỷ lệ khung hình: 23 khung hình/giây 150 kbps

Tỷ lệ mẫu âm thanh:

44 kHz

Số kênh: 2

Sample4.mp4 Dung lượng: 218 MB

Độ dài:

00:33:18

Chiều rộng khung hình:

720 pixel

Chiều cao khung hình:

576 pixel Tốc độ dữ liệu: 767 kbps Tốc độ bit tổng cộng: 917 kbps Tỷ lệ khung hình: 23 khung hình/giây Tốc độ bit: 150 kbps

Tỷ lệ mẫu âm thanh:

44 kHz

Số kênh: 2

1.0 MB

Tất cả các video trên đều đƣợc điều chỉnh các thông số từ một video gốc (Sample1.mp4), tệp tin video gốc này có độ lớn atom header khoảng 4.1 MB

Tệp tin Sample2.mp4: Độ dài video Sample2.mp4 bằng với video gốc, chiều cao khung hình, chiều rộng khung hình, tốc độ dữ liệu đều bằng ½ so với video gốc, các thông số của âm thanh không thay đổi. Độ lớn atom header của tệp tin Sample2.mp4 là 3.9 MB.

Tệp tin Sample3.mp4: Các thông số tƣơng tự với video Sample2.mp4 tuy thời lƣợng video chỉ bằng ½ so với tập tin Sample2.mp4. Độ lớn atom header của tệp tin Sample3.mp4 là 2.0 MB.

Tệp tin Sample4.mp4: Các thông số tƣơng tự với video Sample3.mp4 tuy thời lƣợng video chỉ bằng ½ so với tập tin Sample3.mp4. Độ lớn atom header của tệp tin Sample4.mp4 là 1.0 MB.

1.4 Quá trình streaming video định dạng MP4

Mỗi tập tin MP4 đều có một atom „moov‟ có vai trò nhƣ bảng chỉ số của các dữ liệu video và một atom „ftyp‟ quy định về kiểu atom trong tệp tin. Hai atom này đƣợc gọi chung là atom header. Tập tin MP4 chỉ bắt đầu đƣợc play khi các player đã đọc đƣợc toàn bộ thông tin của atom header. Chính vì vậy, đối với các phƣơng pháp streaming hỗ trợ ngƣời dùng play video tức thì, hoặc hỗ trợ thao tác tua trong khi video đang tải về thì player tại phía máy khách bắt buộc phải tải về và xử lý thông tin atom header trƣớc khi tải về các phần khác của video định dạng MP4 từ máy chủ streaming.

Thông thƣờng atom „ftyp‟ thƣờng đƣợc lƣu trữ ở đầu tập tin MP4 nhƣng atom „moov‟ lại thƣờng đƣợc lƣu trữ ở cuối tập tin. Điều này gây khó khăn cho việc tải về atom header một cách sớm nhất nên kỹ thuật MP4 “fast start” [11] đã ra đời. Mục đích của MP4 fast start là chuyển nội dung atom „moov‟ từ cuối tập tin về đầu tập tin MP4 (nằm ngay sau atom „ftyp‟).

Hình 1.8 là ví dụ một video MP4 chƣa đƣợc “fast start”, atom moov đang nằm ở cuối tệp tin.

Hình 1.7: Tập tin MP4 trước khi sử dụng kỹ thuật MP4 fast start

Sau khi thực hiện kỹ thuật MP4 fast start với video MP4 này. Atom moov đã đƣợc chuyển lên trƣớc so với atom mdat nhƣ hình vẽ 1.9.

Hình 1.8: Tập tin MP4 sau khi sử dụng kỹ thuật fast start

Sau khi đã tải về và xử lý atom header, player phía máy khách sẽ tiếp tục yêu cầu lấy phần atom mdat, là phần chứa các dữ liệu về khung hình video và âm thanh thực sự của tệp tin video. Khi đã „đệm‟ đủ trong bộ đệm của player, video sẽ bắt đầu đƣợc hiển thị cho ngƣời dùng.

Nhƣ vậy, thời gian bắt đầu khi streaming video định dạng MP4 phụ thuộc rất lớn vào độ lớn của atom header. Nhƣ trong bảng 1.4, độ lớn của atom header phụ thuộc vào thời lƣợng video. Đối với các video thời lƣợng dài, độ lớn atom header sẽ là đáng kể. Chính vì vậy thời gian bắt đầu của các video này cũng sẽ khá lớn. Hiện nay, các phƣơng pháp đang đƣợc áp dụng trong thực tế có thể giúp giảm thời gian bắt đầu khi streaming video định dạng MP4 dựa chủ yếu trên hai kỹ thuật:

+ Kỹ thuật caching: atom header đƣợc lƣu trữ ở nơi gần ngƣời dùng hơn so với máy chủ streaming. Với kỹ thuật này, atom header sẽ nhanh chóng đƣợc truyền tải đến máy khách.

+ Kỹ thuật chia nhỏ: video sẽ đƣợc chia thành các đoạn nhỏ hơn. Mỗi đoạn video nhỏ này có thời gian ngắn nên sẽ có thời gian bắt đầu nhỏ hơn.

2.1 Phƣơng pháp tải về tiến bộ sử dụng giao thức HTTP

Phƣơng pháp tải về tiến bộ sử dụng giao thức HTTP [12] (HTTP progressive download) cho phép máy khách lấy tập tin video từ máy chủ web sử dụng giao thức HTTP và tập tin video đó sẽ có thể đƣợc play trƣớc khi toàn bộ tập tin đƣợc tải về.

Hiện nay, hầu hết các phần mềm play video nhƣ: Adobe Flash, Windows Media Player, Apple Quicktime,…đều hỗ trợ tải về tiến bộ sử dụng giao thức HTTP. Rất nhiều trang web cung cấp dịch vụ video streaming cũng sử dụng phƣơng pháp này.

Đối với việc truyền tải video MP4 theo phƣơng pháp tải về tiến bộ sử dụng giao thức HTTP, các player bắt buộc phải tiến hành tải về và đọc nội dung atom header của video đó trƣớc khi trình chiếu nội dung video cho ngƣời dùng.

Khi ngƣời dùng muốn di chuyển đến một vị trí nào đó của tập tin video (tua), player sẽ tiến hành gửi các gói tin yêu cầu phạm vi byte (HTTP GET byte ranges [13]) của tập tin video đó đến máy chủ web. Do việc gửi và nhận các gói tin yêu cầu phạm vi byte chỉ đƣợc hỗ trợ trong HTTP 1.1 nên muốn hỗ trợ tua video thì các ứng dụng tại máy chủ web cung cấp dịch vụ streaming video và ứng dụng tại máy khách phải hỗ trợ HTTP 1.1.

Do sử dụng giao thức HTTP làm giao thức truyền tải nên phƣơng pháp tải về tiến bộ sử dụng HTTP mang lại khá nhiều lợi ích nhƣ:

­ Các gói tin video truyền đi trên mạng dễ dàng vƣợt qua các tƣờng lửa, các bộ định tuyến (do các thiết bị này thông thƣờng mặc định cho phép các gói tin HTTP đi qua).

­ Dễ dàng triển khai kết hợp với các mạng lƣới phân phối nội dung (Content delivery network- CDN), việc kết hợp này giúp giảm tải cho các máy chủ streaming, làm cho nội dung video sẵn sàng hơn,….

Tuy nhiên khi sử dụng phƣơng pháp tải về tiến bộ sử dụng giao thức HTTP cũng gặp một số vấn đề:

­ Sử dụng tải về tiến bộ sử dụng giao thức HTTP sẽ không truyền tải đƣợc các video trực tuyến, phƣơng pháp này chỉ truyền tải đƣợc các video đã đƣợc lƣu trữ trên máy chủ đến máy khách.

­ Tải về tiến bộ sử dụng giao thức HTTP không có khả năng tự động điều chỉnh tốc độ truyền dữ liệu khi băng thông của khách hàng thay đổi.

2 CHƢƠNG II - Một số phƣơng pháp video streaming sử dụng video định dạng MP4

­ Băng thông của ngƣời dùng bị lãng phí khi họ dừng xem các nội dung sau khi tải về tiến bộ sử dụng HTTP đã bắt đầu.

2.2 Các phƣơng pháp, giao thức video streaming sử dụng giao thức HTTP dựa trên streaming thích ứng tốc độ bit.

2.2.1 Streaming thích ứng tốc độ bit

Streaming thích ứng tốc độ bit (Adaptive bitrate streaming) là một kỹ thuật đƣợc sử dụng trong việc truyền tải dữ liệu đa phƣơng tiện qua mạng máy tính dựa trên giao thức HTTP.

Kỹ thuật này hoạt động dựa trên việc phát hiện sự thay đổi băng thông và khả năng cung cấp tài nguyên tại máy khách trong thời gian thực và điều chỉnh chất lƣợng video cho phù hợp. Khả năng cung cấp tài nguyên tại máy khách trong thời gian thực có thể là năng lực xử lý của CPU, khả năng hiển thị hình ảnh (độ phân giải) của màn hình thiết bị tại máy khách, …..

Hình 2.1: Tổng quan về kỹ thuật streaming thích ứng tốc độ bit dựa trên giao thức HTTP

Hoạt động của phương pháp streaming thích ứng tốc độ bit:

Ban đầu, dữ liệu video trên máy chủ sẽ đƣợc encode thành nhiều dòng với tốc độ bít khác nhau. Mỗi dòng này sau đó sẽ đƣợc tách thành nhiều đoạn nhỏ đƣợc gọi là các „chunk‟ hoặc các „segment‟ (theo đơn vị thời gian), kích thƣớc mỗi đoạn thƣờng từ khoảng 2 đến 10 giây. Phía máy khách sẽ biết trƣớc đặc điểm của các dòng này (tốc độ bit, thời gian bắt đầu và kết thúc của các đoạn nhỏ trong mỗi dòng) nhờ việc tải về trƣớc một tập tin chỉ mục (tệp tin này còn đƣợc gọi là tập tin index hoặc tập tin manifest).

Sau khi tải về và phân tích tập tin chỉ mục này, máy khách sẽ gửi yêu cầu (HTTP GET) để lấy về các đoạn từ dòng có tốc độ bit thấp nhất. Trong quá trình nhận và xử lý các luồng video từ máy chủ, nếu nhận thấy tài nguyên trên thực tế của mình có thể play video ở tốc độ bit lớn hơn, máy khách sẽ yêu cầu các đoạn ở các dòng có tốc độ bit cao hơn và ngƣợc lại.

Việc tính toán để yêu cầu dòng tiếp theo có tốc độ phù hợp với băng thông thực hiện nhƣ sau:

+ Sau khi nhận về 1 đoạn video, phần mềm phía máy khách sẽ tiến hành so sánh thời gian tải về của đoạn đó với thời gian thực tế của đoạn (thời gian thực tế của đoạn đã đƣợc biết trƣớc khi phân tích tập tin chỉ mục). Nếu thời gian tải về của đoạn đó nhanh hơn thời gian thực tế của đoạn đƣợc lƣu trong tập tin chỉ mục thì phía máy khách sẽ yêu cầu đoạn tiếp theo với tốc độ bit cao hơn tốc độ bit của đoạn vừa tải. Và ngƣợc lại, nếu thời gian tải về của đoạn đó chậm hơn thời gian của đoạn đƣợc lƣu trong tập tin chỉ mục thì máy khách sẽ yêu cầu đoạn tiếp theo với tốc độ bit thấp hơn tốc độ bit của đoạn vừa tải.

Ngoài ra, ngay sau khi phân tích tập tin chỉ mục, máy khách cũng có thể lựa chọn đƣợc ngay các dòng phù hợp với độ phân giải màn hình của mình.

Kỹ thuật streaming thích ứng tốc độ bit dựa trên giao thức HTTP có một số ƣu điểm:

- Truyền thông dựa trên giao thức HTTP, giao thức này giúp cho các gói tin video truyền đi trên mạng không bị cản trở bởi các bộ định tuyến và các tƣờng lửa bởi thông thƣờng các bộ định tuyến và các tƣờng lửa đều đƣợc thiết lập để cho phép các gói tin HTTP đi qua. Điều là lợi thế rất lớn so với các kỹ thuật streaming video sử dụng các giao thức khác nhƣ RTP, RTMP.

- Các ứng dụng phía máy khách tự kiểm tra đƣợc tốc độ bit, độ phân giải màn hình của thiết bị, codec, năng lực của CPU,… sau đó lựa chọn dòng phù hợp thông qua việc xử lý tập tin chỉ mục đã tải về mà không cần phải gửi những yêu cầu này tới máy chủ streaming.

- Chức năng điều khiển phát lại đƣợc hỗ trợ bằng việc tại thời điểm bắt đầu máy khách sẽ sử dụng dòng video có tốc độ bit thấp nhất, sau đó chuyển sang các dòng khác có tốc độ bit cao hơn. Điều này làm tăng tốc thời gian khởi động (start-up time) của video và giảm thời gian chờ khi tua lại (seek time).

- Có thể sử dụng kết hợp với các HTTP proxy, cache và các dịch vụ phân phối nội dụng trên mạng đang sử dụng cho các truy cập web.

2.2.2 Phƣơng pháp MPEG DASH

MPEG DASH hay DASH [14] là phƣơng pháp streaming tự động thích ứng dựa trên giao thức HTTP (Dynamic Adaptive Streaming over HTTP) đƣợc phát triển bởi MPEG (Moving Picture Experts Group). MPEG DASH đƣợc đề xuất lần đầu tiên vào năm 2009, sau đó trở thành dự thảo tiêu chuẩn quốc tế vào tháng 1-2011 và đã đƣợc công bố theo tiêu chuẩn ISO/IEC 23.009-1:2012 vào tháng 4-2012.

Theo mô tả ISO/ IEC 23.009-1, MPEG DASH có thể đƣợc xem là sự hợp nhất của 3 giao thức tự động thích ứng: HDS (HTTP dynamic streaming Adobe), HLS (HTTP Live Streaming Apple), Microsoft IIS smooth streaming. Tuy vậy DASH không phải là một hệ thống, một giao thức, một codec, hoặc một đặc tả cho máy khách mà là một kỹ thuật bao gồm một loạt các đặc tả.

2.2.2.1 Hoạt động của DASH

Theo [14], hoạt động của DASH dựa trên streaming thích nghi năng động sử dụng HTTP, dữ liệu đa phƣơng tiện cũng đƣợc chia thành các đoạn nhỏ với các tốc độ bit khác nhau và đƣợc lƣu trữ trên máy chủ DASH. Các đoạn nhỏ này sẽ đƣợc phân phối tới các máy khách thông qua giao thức HTTP.

Trong ví dụ trên, dữ liệu đa phƣơng tiện lƣu trữ trên máy chủ DASH đƣợc chia thành các giai đoạn nhỏ theo thời gian (period 1, period 2, period 3 ,…).

Với mỗi giai đoạn nhỏ đó, video và âm thanh đƣợc encode ở các tốc độ bit khác nhau. Nhƣ trên hình vẽ 2.2, video đƣợc encode ở 4 tốc độ bit (5Mbps, 2 Mpbs, 0.5 Mbps, và trick mode), âm thanh (tiếng Anh và tiếng Pháp) đƣợc encode theo chuẩn AAC ở 2 tốc độ bit (128 kpbs, 48 kpbs) ngoài ra riêng với âm thanh tiếng Anh đƣợc hỗ trợ thêm âm thanh vòm (surround).

Giả sử tại thời điểm ban đầu (nhãn số 1 trên hình), có một thiết bị của khách hàng không hỗ trợ play âm thanh vòm (giả sử tên là P) đã yêu cầu đoạn video với tốc độ bit cao nhất 5Mbps và âm thanh tiếng Anh với tốc độ bit cao nhất 128 kbps .

Sau khi play xong đoạn thứ nhất và giám sát sự thay đổi của băng thông, P nhận thấy băng thông có thể sử dụng tại thời điểm tiếp theo nhỏ hơn 5 Mbps, P chuyển sang yêu cầu đoạn video tiếp theo với tốc độ bit 2Mbps và giữ nguyên tốc độ bit của âm thanh (nhãn số 2). Sau khi tiếp tục nhận thấy băng thông đƣợc phép sử dụng nhỏ hơn 2Mbps, P yêu cầu video ở tốc độ bit 0.5 Mbps và âm thanh ở tốc độ bit 48 kbps (nhãn số 3). Cho đến khi thời điểm nhận thấy băng thông có thể sử dụng tăng lên, P sẽ yêu cầu video ở tốc độ bit 2 Mbps và giữ nguyên âm thanh ở tốc độ bit 28kbps (nhãn số 4). Sau một thời gian, ngƣời dùng quyết định dừng và tua lại video. Tại thời điểm đó, P sẽ trình chiếu video từ chế độ trick mode và âm thanh bị tắt (nhãn số 5). Sau đó, khi ngƣời dùng yêu cầu play các nội dung tiếng Pháp, P sẽ yêu cầu video với tốc độ bit cao nhất (5Mbps) và âm thanh tiếng Pháp tốc độ bit cao nhất (128kbps) ở nhãn số 6.

2.2.2.2 Kiến trúc của DASH

Hình 2.3: Kiến trúc DASH

Kiến trúc DASH đƣợc tạo thành bởi:

- Các thành phần phía máy chủ (DASH server) - Các thành phần phía máy khách (DASH client)

Trong đó, các khối màu đen trong hình trên là những thành phần bắt buộc phải tuân theo đặc tả về các thành phần này của DASH. Còn những khối màu trắng là những thành phần không bắt buộc phải tuân theo đặc tả của DASH. Các khối màu khác là các thành phần tuân theo các đặc tả khác, không phải của DASH. Máy chủ và máy khách DASH tuân thủ theo quy định một về một máy chủ/máy khách tại RFC 2616 [13].

Máy khách DASH sử dụng các gói tin HTTP GET hoặc HTTP yêu cầu phạm vi byte theo quy định tại RFC 2616 để truy cập tới các phân đoạn dữ liệu đa phƣơng tiện trên máy chủ DASH (chính là các khối có màu khác trong hình trên). Có thể sử dụng giao thức HTTPS trong việc phân phối nội dung dữ liệu đa phƣơng tiện trong kiến trúc DASH.

Dữ liệu đa phƣơng tiện trên máy chủ DASH gồm 2 phần:

- Tệp tin mô tả trình bày phƣơng tiện truyền thông (Media presentation description MPD)

- Định dạng phân đoạn (Segment format)

Tệp tin mô tả trình bày phƣơng tiện truyền thông (Media presentation description MPD):

MPD là một tệp tin XML, mô tả chỉ mục của tập tin dữ liệu đa phƣơng tiện, địa chỉ URL, các phân đoạn, các đoạn, và các đặc điểm khác của tập tin này.

Hình 2.4: Cấu trúc tệp tin trình bày phương tiện truyền thông của DASH

Một phần của tài liệu (LUẬN văn THẠC sĩ) giảm thiểu thời gian bắt đầu cho các ứng dụng truyền tải video định dạng MP4 sử dụng kỹ thuật lấy trước và cache thông tin header luận văn ths công nghệ thông tin 60 08 15 (Trang 28 - 59)

Tải bản đầy đủ (PDF)

(71 trang)