Phương pháp bao gúi này cho phộp truyền trực tiếp gúi Ipv6 trờn dũng truyền MPEG-2 TS, như là dữ liệu riêng TS, không sử dụng các kỹ thuật vùng DVB. Phương pháp này, được mô tả trong[11] cú thể chia làm hai phần:
+ Bao gói các gói IPv4, IPv6(và các gói khác) vào các đơn vị dữ liệu tiểu mạng SNDU.
+ Truyền SNDU này trờn dũng MPEG-2 TS, cú nghĩa là phõn đoạn SNDU vào các tế bào MPEG-2 TS.
2.4.1.1 Khuụn dạng SNDU:
Hỡnh 16: Khuôn dạng SNDU trong phương pháp gói ULE
2.4.1.2 Phân đoạn SNDU vào các tế bào MPEG-2 TS:
ULE cung cấp phương thức để:
+ Phân đoạn và tái hợp SNDU trên các tế bào MPEG-2 TS. + Đóng gói SNDU
Hỡnh 17: Phân đoạn SNDU trên tế bào MPEG2-TS theo ULE
Một SNDU mà khụng thể đưa vào một tế bào MPEG-2 TS thỡ sẽ được phân đoạn trên nhiều tế bào MPEG-2 TS như được mô tả trong hỡnh 17.
Nếu nhiều SNDU được lưu trong một tế bào MPEG-2 TS(do SNDU đủ nhỏ) thỡ cỏc SNDU được gói như mô tả trong hỡnh 18
Hỡnh 18: Gúi nhiều SNDU vào một tế bào MPEG-2 TS theo phương pháp ULE 2.4.2 Phương pháp gói SE:
truyền gúi Ipv6 trực tiếp qua MPEG-2 TS.
Phương pháp này được mô tả trong[10] có thể chia thành 2 phần:
+ Bao gúi cỏc gúi Ipv6(hay các gói dữ liệu khác) vào các gói dữ liệu gọi là đơn vị dữ liệu tiểu mạng(SNDU).
+ Truyền cỏc gúi SNDU qua dũng MPEG-2 TS, bằng cỏch phõn đoạn gói SNDU vào các tế bào TS.
2.4.2.1 Khuụn dạng SNDU:
Hỡnh 19: Khuụn dạng SNDU của giao thức gúi SE
2.4.2.2 Phân đoạn SNDU vào các tế bào MPEG-2 TS:
SE cung cấp phương pháp để
+ Phõn đoạn và tỏi hợp SNDU trờn cỏc tế bào TS. + Đóng gói SNDU
Phân đoạn theo SE tương tự như ULE chỉ khác ở chỗ SE sử dụng cả hai trường PUSI và AFC trong đầu gói MPEG-2. PUSI chỉ ra rằng ít nhất có một SNDU mới trong tế bào MPEG-2 TS. Trường AFC chỉ ra trường Thích ứng có mặt hay không, nó có thể có 2 trị:
+ 01: khụng cú AF. + 11: cú AF.
Bất cứ khi nào một SNDU kết thúc trong tế bào MPEG-2 TS, trường AFC được đặt và một trường thích ứng(AF) được chèn vào đầu phần tải của tế bào TS. Trường AF có chứa một con trỏ chỉ nơi bắt đầu của SNDU tiếp theo.
Hỡnh 20: Gói SNDU theo phương pháp SE
Việc gói nhiều SNDU vào một tế bào TS theo phương pháp SE cũng tương tự ULE, chỉ khác SE sử dụng cả trường AF trong tế bào MPEG-2 TS(hỡnh 20).
2.5 Đỏnh giỏ so sỏnh: 2.5.1 MPE:
Phương pháp bao gói MPE của DVB có một số hạn chế sau:
+ Tương đối phức tạp và nặng: phụ tải trong cấu trúc vùng bao gồm 6 byte(các trường phụ) + 4 byte(CRC32) + 6 byte(địa chỉ MAC)=16 byte. Việc đại chỉ MAC không phải là tùy chọn dẫn đến trường hợp không cần dùng địa chỉ MAC thỡ MPE cũng khụng sử dụng được 6 byte của địa chỉ MAC.
+ MPE khụng hỗ trợ trực tiếp IPv6 và ROHC.
+ Do sử dụng kỹ thuật vùng MPEG-2, MPE thừa hưởng trường độ dài vùng, do vậy MTU bị hạn chế ở mức 4080 byte.
2.5.2 ULE:
Như ở phần trên đó nờu, hai cải tiến quan trọng của phương pháp ULE là + Cấu trúc nhúng đơn giản làm tăng hiệu suất sử dụng băng thông.
+ Hỗ trợ các giao thức IP khác ngoài IPv4 như ROHC, IPv6 và dễ dàng mở rộng để hỗ trợ các giao thức khác.
Chương III: Hệ thống thử nghiệm sử dụng VideoLAN 3.1 Giới thiệu chung hệ thống VideoLAN
VideoLan là giải phỏp phần mềm hoàn chỉnh cho việc thu nhận dũng video theo chuẩn MPEG-2 bao gồm cả hai dạng PS và TS, cho phộp thu dũng video từ cỏc nguồn khỏc nhau như kênh truyền hỡnh số vệ tinh, mặt đất, cáp, đọc video từ đầu DVD và phõn phối dũng video theo chuẩn DVB MPEG2 qua mạng LAN. VideoLAN là một dự ỏn mó nguồn mở dạng GNU (bản quyền cụng cộng toàn cầu) General Public License(www.videolan.org).
Dự ỏn VideoLan bao gồm: +VLS (VideoLan Server):
Mỏy chủ cú thể nhận dũng MPEG2 TS, MPEG2 PS từ những kênh vệ tinh số, những kênh TV số mặt đất, đầu DVD và tách gúi, chuyển dạng thành những tập tin dạng MPEG-1, MPEG-2 và MPEG-4, phỏt qua mạng LAN dưới dạng unicast hoặc multicast.
+VLC (VideoLan Client):
Máy trạm để nhận, giải mó và hiển thị những luồng MPEG dưới nhiều hệ điều hành khác nhau như: Linux, Windows, Mac OS X, Unix, ...
3.2 Thiết lập hệ thống thử nghiệm sử dụng VideoLAN: 3.2.1 Mụ hỡnh hệ thống: 3.2.1 Mụ hỡnh hệ thống:
Mụ hỡnh thực nghiệm bao gồm hai phần:
+ Phần mụ phỏng kờnh truyền dẫn DVB bao gồm: một mỏy PC phỏt dũng DVB ASI qua một mỏy tớnh sử dụng card DVB ASI MasterII TX để truyền
và đầu nhận tương tự chỉ khác là dùng card DVB ASI MasterII RX để nhận dũng DVB và cài đặt VLS làm máy chủ video.
Hỡnh 21: Mụ hỡnh thử nghiệm truyền dũng DVB
+ Phần thử nghiệm việc bao gúi dữ liệu IP vào dũng video MPEG-2 tại đầu phát và tách gói dữ liệu IP tại đầu thu. Phần này sử dụng các module chương trỡnh của VideoLAN để tách kênh, tách gói dữ liệu và video và phõn phối lại trờn mạng LAN
DVD --->- Unicast/Broadcast/Multicast
\ ---
File --->-- --- / \ ---
|->-| Server |=====>====| LAN |---->---| Client | Satellite ->-- | (VLS) | \ / | (VLC) | / --- --- --- MPEG2 -->- ^ encoder | v --- | Channel Server | | (VLCS) | ---
3.2.2 Mô tả hoạt động của hệ thống:
Tại đầu phát: Hệ thống sử dụng cỏc thiết bị bao gúi dữ liệu IP theo giao thức chuẩn của DVB là MPE cú sẵn phỏt dũng video số trờn đường ASI.
Tại đầu thu: sử dụng card thu ASI RX thu dũng MPEG-2 TS, sử dụng phần mềm VLS để tách gói các chương trỡnh video để có thể phân phối trên mạng LAN.
3.2.2.1 Cấu trỳc VLS:
VLS gồm 4 thành phần:
. converters . channel
Sau đây là sơ đồ cấu trúc VLS:
Hỡnh 22: Cấu trúc chức năng của VideoLAN server + Khối Input:
Vai trũ của input là đọc những luồng MPEG từ những nguồn mang tới (file, DVD, DVB card, device,...) và cung cấp những định dạng đúng cho khối converter với những luồng vào ở trên. Khối Input có thể đọc vài luồng, những luồng đó gọi là "programs". Có vài loại đầu vào:
. Đầu vào local là khối có thể đọc những hỡnh ảnh từ những tập tin hoặc DVDs.
. Đầu vào video là khối có thể đọc những video từ những card MPEG.
. Đầu vào dvb là khối có thể đọc những video từ card DVB.
. Đầu vào v4l là khối có thể đọc những card thu hỗ trợ bởi Video4linux drivers.
Ta cú thể sử dụng vài đầu vào và chạy vài chương trỡnh ở cựng một thời điểm.
+ Khối Converter:
Chức năng của khối converter là nhận luồng tín hiệu từ khối Input và biến đổi nó thành định dạng MPEG-TS. VLS có khả năng biến đổi luồng tín hiệu PS (chẳng hạn như từ DVDs) thành những luồng TS (bằng bộ biến đổi ps2ts). Tất nhiên nó cũng có khả năng đọc những luồng TS và tập trung chúng vào bằng cách sắp xếp những luồng thông tin không liên tục (ts2ts converter).
+ Khối Channel:
Khối channel nhận luồng thụng tin từ khối converter và gửi nó đến những nơi đó định sẵn (network, file,...). Khối channel cũn cú thể gọi là khối output. Hiện nay, hai loại channel được hỗ trợ là network và file. Chú ý rằng, ở một thời điểm VLS có thể chỉ hỗ trợ 1 đầu ra mỗi luồng, do đó ta không thể play 1 luồng trên mạng và ghi nó vào trong file cùng một lúc. Đầu ra mạng có thể cấu hỡnh cao hơn: ta có thể lựa chọn giao diện mạng nào để sử dụng mà ta muốn, nguồn định rừ và những địa chỉ IP sẽ gửi tới.
+ Khối Manager:
Khối Manager điều khiển những luồng gửi đi thông qua "Administration interface" ta có thể ra lệnh cho khối Manager start, stop, suspend, resume,
forward, rewind những chương trỡnh khỏc nhau. Ta cũng cú thể lấy danh
sỏch của tất cả những chương trỡnh sẵn cú để dùng ở trong "Programe Table". Khối manager lấy bảng này từ tập tin cấu hỡnh VLS (vls.cfg), do đó nó không thể thay đổi khi mà VLS đó bắt đầu. ở một thời điểm, ta không thể hỏi khối Manager rằng luồng đó định sẵn có thể gửi Broadcast được không nhưng ta sẽ gặp thông báo lỗi nếu ta dừng luồng mà đó khụng gửi Broadcast được.
+ Administration interface:
Hiện tại có hai cách để mở luồng thông tin:
. Ta có thể sử dụng "command line" để đưa ra những chủ đề ở startup.
. Hoặc ta có thể sử dụng "telnet interface" để start/stop/pause luồng thụng tin nếu muốn.
Không phải ai cũng có thể thực thi được tất cả các lệnh, quyền này được định trong file cấu hỡnh "vls.cfg".
3.2.2.2 Thử nghiệm các chế độ làm việc: + Kiểu truyền Unicast:
Unicast sẽ được sử dụng khi bạn chỉ muốn gửi luồng tớn hiệu tới 1 máy Client. Nó cũng được sử dụng cho VOD (truyền hỡnh theo yờu cầu). Hay dịch vụ Internet được phỏt triển tớch hợp vào VideoLAN.
Do băng thông MPEG-2 trong khoảng từ 3 đến 9 Mbps và băng thông cho dịch vụ Internet băng thông rộng từ 2-3 Mbps nờn một mạng LAN 100Mbit/s cú thể chia xẻ dịch vụ truyền hỡnh số và Internet băng thông rộng cho cỡ một hai chục máy trạm.
+ Kiểu truyền Broadcast:
Mỏy chủ VLS cũng có thể phát quảng bá video qua mạng LAN khi cần, khi đó tất cả các máy trạm trong mạng LAN nhận cựng một dũng video như nhau.
+ Kiểu truyền Multicast:
Khi sử dụng Unicast hoặc Broadcast ta có thể chạm trán với những vấn đề sau như sau:
++Với kiểu truyền Unicast khi rất nhiều máy trạm đều muốn nhận luồng thông tin, giao diện mạng của máy chủ trở nờn bóo hoà. Do đó, số lượng máy trạm rất bị giới hạn, đặc biệt là khi luồng thông tin lớn.
++ Với kiểu truyền Broadcast trên mạng LAN, số lượng máy trạm là không giới hạn bởi vỡ tất cả những mỏy của mạng cấp dưới đều nhận được luồng thông tin chỉ với một luồng thông tin đi ra khỏi thiết bị giao tiếp mạng của máy chủ. Nhưng rất nhiều máy trạm lại không muốn nhận luồng thông tin đó đều bị làm ảnh hưởng. Nếu muốn gửi vài luồng thông tin một lúc, mạng sẽ trở nên quá bóo hoà.
Những vấn đề ở trên sẽ được giải quyết nếu ta sử dụng giao thức Multicast. Với kiểu truyền Multicast, những gói tin đều được gửi đi trên mạng tới nhóm Multicast là nhóm đó được định trước bằng địa chỉ IP của nó.
Địa chỉ IP Multicast thuộc về lớp D: 224.0.0.0 —> 239.255.255.255
Những máy trạm có thể truy nhập hoặc thoát ra bằng cách gửi yêu cầu tới mạng. Yêu cầu thường được gửi bởi nhân của hệ điều hành. Với hệ điều hành Linux lựa chọn "IP Multicast" ở trong mục "Networking options" là tích cực. VLC nhận những câu hỏi của nhân hệ điều hành để gửi yêu cầu kết nối.
Những thiết bị mạng sẽ làm những việc cần thiết để giữ lại trong bộ nhớ máy trạm thuộc về nhóm nào đó và tiến tới truyền luồng thông tin tới Client. Nó có thể thực hiện được từ 1 Client cho tới vài nhóm.
Dưới đây là những ví dụ cụ thể:
1.VLS gửi luồng thông tin tới địa chỉ IP Multicast 239.255.12.42 Client số 1 & Client số 2 sẵn sàng tham gia nhận:
Server (vls) Network Clients (vlc)
stream ---> 239.255.12.42 ---> client no1 |
---> client no2
2.Client số 3 gửi yêu cầu "tham gia" tới nhóm Multicast để được nhận luồng thông tin đó:
Server (vls) Network Clients (vlc)
<--- client no3 join 239.255.12.42
3.Client số 3 giờ đây được nhận luồng thông tin:
Server (vls) Network Clients (vlc) ---> client n_1 |
stream ---> 239.255.12.42 ---> client n_2 |
---> client n_3
4.Client số 1 gửi yờu cầu "ra khỏi" nhúm Multicast:
Server (vls) Network Clients (vlc)
<--- client no1 leave 239.255.12.42 5.Client số 1 không nhận được gỡ thờm từ luồng thụng tin đó:
Server (vls) Network Clients (vlc)
stream ---> 239.255.12.42 ---> client no2 |
---> client no3 + VOD:
Trờn mỏy chủ:
Vớ dụ: chỳng ta cú 1 Web server cú tờn miền (DNS) là vod.videolan.org .Trờn server này cú 2 tập tin MPEG là video1.mpg và video2.mpg có giá trị
(dùng được) với những máy trạm ở địa chỉ
http://vod.videolan.org/test/video1.mpg
và http://vod.videolan.org/test/video2.mpg Trờn mỏy trạm:
Trờn Client, chạy vlc với dũng lệnh dưới đây để xem tập tin video đầu tiên:
%vlc http://vod.videolan.org/test/video1.mpg
và dũng lệnh dưới đây để xem tập tin video thứ hai:
%vlc http://vod.videolan.org/test/video2.mpg
Ta cũng có thể sử dụng giao diện để mở: click vào "Net" và chọn HTTP và enter URL "http://vod.videolan.org/test/video1.mpg"
hay " http://vod.videolan.org/test/video2.mpg"
Mở bằng Web browser:
í tưởng là xõy dựng trang Web với những danh sách video có giá trị (dùng được trờn mỏy trạm) và khi ta nhấn chuột lờn bất kỡ một tờn video nào vlc sẽ chạy đoạn video đó.
Ta phải viết trang Web với siêu văn bản liên kết tới những tập tin video và định cấu hỡnh cho Web browser để nạp vlc khi một tập tin có đuôi mở rộng là ".mpg" (hay ".mpeg" hay ".vod") được lựa chọn. Thông tin cho mỏy trạm rằng vlc chấp nhận URL như dũng lệnh: với cấu hỡnh này, file sẽ khụng lưu trữ trên ổ đĩa cứng của mỏy trạm nhưng có thể đọc trực tiếp bởi vlc.
VOD là một kiểu tiờu tốn rất lớn nguồn tài nguyờn của mỏy chủ và mạng. VOD là kiểu truyền unicast. Điều này có nghĩa là nếu 50 mỏy trạm đều chạy VOD với cùng một mỏy chủ VLS, mỗi mỏy trạm xem luồng video dạng MPEG-2 5 Mbps, khi đó nguồn tài nguyên cần thiết ít nhất như sau:
++ Của mỏy chủ VOD : 5*50 = 250 Mbit/s của đĩa truy nhập và 250 Mbit/s kết nối tới mạng xương sống (backbone).
++ Của mạng xương sống (backbone) : dải thông 250 Mbit/s.
nhập đĩa, kết nối mạng và của mạng xương sống (backbone).
3.2.3 Kết quả thử nghiệm hệ thống:
Kết quả cỏc thử nghiệm mụ tả ở phần trờn cho thấy hệ thống VideoLAN có thể đáp ứng các ứng dụng sau:
1. Video server VLS phõn phối tớn hiệu video tới cỏc mỏy trạm trờn mạng LAN(VLC) ở cỏc chế độ broadcast, unicast và multicast.
2. Thử nghiệm mụ hỡnh VOD sử dụng VLS làm VOD server và cỏc mỏy trạm cú thể truy nhập và xem video theo yờu cầu qua mạng LAN.
3.3 Phương hướng phát triển các thử nghiệm khác trên VideoLAN:
Dựa trên thư viện mó nguồn mở mà dự án VideoLAN cung cấp chúng ta có thể phát triển thêm các module chương trỡnh tỏch gúi dữ liệu IP bao gúi trong dũng MPEG-2 TS theo cỏc giao thức bao gúi mụ tả ở chương 2. Khi đó, ta có thể sử dụng VLS như là một cổng thu kênh truyền hỡnh số cú khả năng tách gói video và IP rồi phân phối trên mạng LAN cho phép các máy trạm trong mạng xem kênh truyền hỡnh số và chia xẻ dịch vụ Internet băng thông rộng