1. Trang chủ
  2. » Công Nghệ Thông Tin

Thực hiện cơ chế Cache atom header cho dịch vụ truyền video trên nền tảng hệ thống nhúng (Khóa luận tốt nghiệp)

62 135 0

Đ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 62
Dung lượng 10,42 MB

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

Nội dung

Thực hiện cơ chế Cache atom header cho dịch vụ truyền video trên nền tảng hệ thống nhúng (Khóa luận tốt nghiệp)Thực hiện cơ chế Cache atom header cho dịch vụ truyền video trên nền tảng hệ thống nhúng (Khóa luận tốt nghiệp)Thực hiện cơ chế Cache atom header cho dịch vụ truyền video trên nền tảng hệ thống nhúng (Khóa luận tốt nghiệp)Thực hiện cơ chế Cache atom header cho dịch vụ truyền video trên nền tảng hệ thống nhúng (Khóa luận tốt nghiệp)Thực hiện cơ chế Cache atom header cho dịch vụ truyền video trên nền tảng hệ thống nhúng (Khóa luận tốt nghiệp)Thực hiện cơ chế Cache atom header cho dịch vụ truyền video trên nền tảng hệ thống nhúng (Khóa luận tốt nghiệp)Thực hiện cơ chế Cache atom header cho dịch vụ truyền video trên nền tảng hệ thống nhúng (Khóa luận tốt nghiệp)Thực hiện cơ chế Cache atom header cho dịch vụ truyền video trên nền tảng hệ thống nhúng (Khóa luận tốt nghiệp)

Trang 1

I H C QU C GIA HÀ N I

I H C CÔNG NGH

Nguy n Ti n Thành

KHÓA LU N T T NGHI I H C H CHÍNH QUY

Ngành: Công ngh thông tin

HÀ N I - 2015

Trang 2

I H C QU C GIA HÀ N I

I H C CÔNG NGH

Nguy n Ti n Thành

KHÓA LU N T T NGHI I H C H CHÍNH QUY

Ngành: Công ngh thông tin

Cán b ng d n: TS Hoàng Xuân Tùng

HÀ N I - 2015

Trang 3

VIETNAM NATIONAL UNIVERSITY, HANOI UNIVERSITY OF ENGINEERING AND TECHNOLOGY

Nguyen Tien Thanh

AN IMPLEMENTATION OF ATOM HEADER CACHING FOR VIDEO STREAMING APPLICATIONS ON EMBEDDED DEVICES

Major: Information Technology

Supervisor: Dr Hoang Xuan Tung

HA NOI - 2015

Trang 4

TÓM T T Tóm t t: Ngày nay, các d ch v xem video tr c tuy n qua m ng internet ngày càng tr

qu n lý các t p tin video phía máy ch , h tr trên các thi t b khác nhau… Atom

các máy tính cá nhân truy n th ng Chính vì v y khóa lu n này s th c hi

streaming

T khóa: Video streaming, nh d ng mp4, Atom Header Caching, Blackberry 10.

Trang 5

ABSTRACT Abstract: Today, video streaming services have become more popular to everybody

We can easily watch a movie and music video… only in a browser or an application that support varies video streaming methods Every video streaming method is developed for particular properties and purposes Atom Header Caching (AHC) [12] is one of such methods It is created in order to reduce start-up time when watching video over the Internet However, this new method only support for personal computer as desktop or laptop that runs Linux operating system With the tremendous increasing number of handset devices, this thesis will inplement AHC on Blackberry 10 operating system, an operating system for smarthphone devices Together, this thesis also tries to present an overview of video streaming, mp4 file format used in internet video streaming

Key words: Video streaming, mp4 file format, Atom Header Caching, Blackberry 10

Trang 6

L I C

n tình ch b ng d n tôi trong su t quá trình th c hi n khóa lu n này

trong su t quá trình h c t p, rèn luy n t ng

Hà N i, ngày 08 tháng 05

Sinh viên

Nguy n Ti n Thành

Trang 7

Hoàng Xuân Tùng

rõ ràng t danh m c tài li u tham kh o trong khóa lu n Trong khóa lu n, không có vi c sao chép tài li u, công trình nghiên c u c i khác mà không ch rõ v tài li u tham

kh o

Sinh viên

Nguy n Ti n Thành

Trang 8

M C L C

bi n1.1 Internet video streaming

1.2 Ki n trúc chung c a video streaming

tr video streaming hi n nay

3.2 Biên d n mã ngu n m

n mã ngu n m3.2.2 Biên d n mã ngu n m

4.2 K t qu th c nghi m

K T LU N

Trang 9

DANH SÁCH KÝ HI U, CH VI T T T

Trang 10

DANH SÁCH HÌNH V , B NG BI U

Hình 1 Ki n trúc chung c a video streaming [12] 3

Hình 2 S ph bi n c nh d ng mp4 [16] 7

Hình 3 C u trúc t p tin MP4 8

Hình 4 C u trúc bên trong h p moov 9

Hình 5 C u trúc t c s d ng trong Microsoft Smooth Streaming [12] 12 Hình 6 C u trúc t c s d ng trong MPEG-DASH [12] 12

Hình 7 c u trúc t p tin mp4 b phân m nh trong Microsoft Smooth Streaming [2] 15

Hình 8 Quá trình th c hi n c 16

Hình 9 Quá trình th c hi n c 18

Hình 10 Quá trình th c hi n c a -DASH [15] 21

Hình 11 Quá trình th c hi n c 22

Hình 12 T c khi b c t b i Proc 1 23

Hình 13 Hai t p tin m c t o ra t t p tin Video.mp4 sau khi c t 23

Hình 14 H tr AHC trên thi t b ng 25

Hình 15 Ki 26

ho ng c 33

Hình 17 H p tho i nh p li u 35

th c hi cache atom header c 36

hi n th hình nh c trình AtomPlayer - 1 39

hi n th hình nh c - 2 42

phát âm thanh c 43

Hình 22 B ng thông s c s d th c nghi m 47

Hình 23 B ng thông s c c a các t p tin atom header 48

Hình 24 Bi so sánh th i gian b u ng v i t 48

Hình 25 Bi so sánh th i gian b u ng v i t 49

Hình 26 Bi so sánh th i gian b u ng v i t 49

Trang 11

M U

ng và gi i pháp công ngh Akamai [4] c a M công b

Streaming [2], Apple HTTP Live Streaming [1], MPEG Dynamic Adaptive Streaming

v i các t p tin video MP4

nh d ng c s d ng trong video streaming

N i dung c a khóa lu n c chia làm b n ph

Trang 12

bi n 1.1 Internet video streaming

phát l i và hi n th c a các chuy ng hình nh và âm thanh c ghi l i [18] Ngay

có th xem n i dung c a t p tin video sau khi t i toàn b video

ta có th xem thông qua các giao th c video streaming mà không c n ph i t i toàn b

t p tin video v máy

i ngh tr c tuy n Video streaming c chia thành hai lo i chính

nh và âm thanh sau khi c thu vào t m t máy quay camera, microphone,

theo th i gian th c

- 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

Có th k n m t lo t các nhà cung c p d ch v có tên tu i trên th gi

Trang 13

Hulu, Youku, Youtube… M t vài th ng kê trên trang web chia s video l n nh t th

t

1.2 Ki n trúc chung c a video streaming.

c mô t b i hình v

Hình 1 Ki n trúc chung c a video streaming [12]

âm thanh thì s s d ng b codec AAC ho i v i hình nh thì s d ng b codec

chung l i trong m t h p container duy nh t, g i là các m t t p tin video Các b

(wmv), MPEG-4 part 12 (mp4, m4v), …

th ng máy ch streaming server này có th g m m t ho c nhi u máy ch Ví d

lý các t

Trang 14

Trên phía máy ch l i có m t l p ng d ng u khi n ch ng d ch v (QoS), l p

ch u t i… c a máy ch và c máy khách

th s d ng thông qua các giao th c t ng ng d

th s d ng TCP ho c UDP t ng giao v n trong các tình hu ng khác nhau

pháp streaming truy n th ng, progressive download và adaptive streaming (chuy n

Trong các ph n 1.3.1 và 1.3.2 ti p theo, khóa lu n s trình bày t ng quan v

pháp trên

ví d v giao th c streaming truy n th ng

t, nó l t các giao th c truy n tin không tin c y và truy n tin tin c y Do

Trang 15

chú ý là máy ch ch g d li phía máy khách m Thông

video T c là n u phía máy khách g i l nh “PAUSE” thì dù cho ta có ch 10 phút hay

video trên máy khách

1.3.2 pháp d a trên HTTP

1.3.2.1 Progressive Download

Progressive Download [2] c phát tri n d a trên giao th c HTTP và c h tr

flash, Silverlight, Window Media Player, ffplay

p tin video ph i có ph n moov (movie metadata box) ch a thông tin v t p

yêu c u m t t p tin video không h tr progessive download thì máy khách bu c ph i

m thi u các chi phí khi v n hành m t h th ng các máy ch streaming

M c dù v y, khi so sánh th i gian ch i v i vi c ph i t i v toàn b t p tin video và

M t s trang web h tr Progressive Download hi n nay bao g m Youtube, Vimeo,…

c a ngành công nghi p video treaming

1.3.2.2 HTTP-based Adaptive Streaming

Adaptive streaming [2] c phát tri n d a trên progessive download và giao th c

d ng xml, khi phía máy khách có yêu c u thì s g i v u tiên

Trang 16

ng, d li u hình nh và âm thanh ngu c c t thành nhi u segment nh

Khi hình nh, âm thanh ngu c mã hóa các bitrate khác nhau thì s có nhi u

lu ng thích ng (adaptive streaming) Có th k tên m t s

streaming d a trên k thu t chuy n lu ng thích

[2], Apple HLS [1] và MPEG-DASH [15]…

video streaming truy n th

bi n mà không c n ph i có các máy ch c bi t rành riêng cho nó

thu h p l i khi không c n quá nhi u máy ch

d ng

Trang 17

MP4 và c pháp video streaming d a trên HTTP-based adaptive streaming

Hình 2 S ph bi n c nh d ng mp4 [16]

ch c, c u trúc c a m t t p tin mp4 c xây d ng d a trên các h p atom D a vào c u

2.1.2 C u trúc MP4

Trang 18

thanh và hình nh s thành m t k thu t nén âm thanh và hình

nh ph bi n nh t vì nó không ch là m t tiêu chu n riêng bi t mà tu thu c vào yêu c u

nguyên lý th ng nh t

MPEG-4 là m t b tiêu chu n g m 28 ph n mô t ch ti t v âm thanh, hình nh và các

Coding) và Ph n 10 mô t AVC (Advanced Video Coding) Ph n 12 mô t ISO base media file format s d ng các h p (box hay còn g i là atom) v i các thông tin chi ti t

v i nhau theo th t th i gian

Hình 3 C u trúc t p tin MP4

c a video, bao g m âm thanh, hình nh, ph

li u

g i là “Movie Box” (moov) H p moov có th t u ho c cu i t p tin mp4, phthu c vào vi c có mu n h tr video streaming hay không Ví d v i các t p tin mp4 h

cho vi c phát video

Trang 19

Có th s d ng m t s công c ti mp4creator, atomicparsley ho c mp4box

mp4box -info sugar.mp4

* Movie Info *

Timescale 600 - Duration 00:02:35.433

2 track(s)

Fragmented File: no

File suitable for progressive download (moov before mdat)

File Brand mp42 - version 0

Created: GMT Wed Nov 26 06:45:30 2014

Modified: GMT Wed Nov 26 06:45:30 2014

tin video có tên là sugar.mp4, nó ch ra r ng t p tin này thích h

th y, t p tin video này không ph i là m t t p tin b phân m nh fmp4 Fmp4 hay còn g i

fmp4 là m t c p metadata/d li c l p v i các fmp4 khác

Hình 4 C u trúc bên trong h p moov

Tùy thu c vào t p tin mp4 mà có th t m t s h p tùy ý trong t p tin video Tuy nhiên

Trang 20

unsigned int(64) creation_time;

unsigned int(64) modification_time;

unsigned int(32) timescale;

unsigned int(64) duration;

} else { // version==0

unsigned int(32) creation_time;

unsigned int(32) modification_time;

unsigned int(32) timescale;

unsigned int(32) duration;

}

}

phiên b n mpeg-4 mà t p tin video mp4 tuân theo Theo phiên

b n ISO/IEC 14496 m i nh t ch p nh n 2 phiên b n là 0 ho c 1 Các phiên b n này ch

i gian kh i t o và th i gian ch nh s a là m t s nguyên

M t h p quan tr ng n a n m trong moov là h p trak Có th có m t ho c nhi u h p trak

ph thu c vào m t t p tin mp4 có m t ho c nhi u kênh âm thanh, hình nh Các trak là

c l p v i nhau Trong m i trak l i ch a các h p metadata khác nhau

N m trong h p trak là h p tkhd (track header) M i trak s có duy nh t m t h p tkhd

M i h p tkhd s có m t giá tr s nguyên cho c (flags) là t ng c a các giá tr

track_in_movie=7, track_in_preview=7 Ngoài ra còn m t s

creation_time, modification_time…

c a track 1 (là track hình nh): g m các thành ph n flags có giá tr 15, các c t

Trang 21

type: Audio

duration: 155433 ms

language: und

quan tr ng khác là m t s nh danh (track_ID) S nh danh này là c n thi t vì nó

thanh, hình nh trong t p tin video

nh

cho d li u hình nh Qua ph n trình bày trên, ta th y rõ r ng, v i m t t p tin mp4, nó

s g m hai ph n chính là moov và mdat Khi th c hi n streaming các t p tin video thì

video thì ph i l y v moov, ta có th cache ph n d li u moov này trên thi t b gi m

th i gian tr khi b u video

Trang 22

Hình 5 C u trúc t c s d ng trong Microsoft Smooth Streaming [12]

Hình 6 C u trúc t c s d ng trong MPEG-DASH [12]

i v i m i lo i video streaming, MPEG-DASH và Microsoft Smooth Streaming, m t

tùy bi n cao, m t t p tin phân m nh mp4 có th ch a các h p tùy ch nh khác nhau V i

ví d trên, trong track phân m nh c a mpeg-dash s d ng h p tfdt thay cho h p sdtp c a Microsoft Smooth Streaming Tuy nhiên gi a chúng luôn bao g m các h

moof, mfhd và mdat

m chung c a m t t p tin phân m nh mp4 là s g m nhi u các fmp4, m i fmp4

moof ch a d li u metadata cung c p thông tin cho vi c truy c c n i dung d li u trong h p mdat

Trang 23

Mfhd hay còn g i là “movie fragment header”, ch a s th t (sequence number)

H p tfhd (track fragment header) ch a thông tin v Track ID, Trong m i t p tin

n n Khi ta th c hi n phân m nh t p tin mp4 (s d ng công c mp4fragment trong b

H p tfdt (track fragment decode time) n m trong h p Track fragment (traf) Cung

c p v trí chính xác c a m u (s u tiên theo timeline c a h p fragment trong track âm thanh ho c hình nh Thay vì ta c n ph i tính t ng th i gian c a các fmp4 c

nh s ng các m u có trong m t t p tin fmp4 và data offset Ho

default sample flags = 4001

[trun] size=12+492, flags=305

sample count = 60

data offset = 636

first sample flags = 4002

Trang 24

[sdtp] size=8+64

[mdat] size=8+63438

rõ các thông tin v t p tin fmp4 này bao g m s sequence number, kích

c, track id mà nó thu c v , s ng m u có trong t p tin…

2.2 Các video streaming d a trên HTTP-base adaptive streaming 2.2.1 Microsoft Smooth Streaming

c phát tri n b i nhóm

d ng trên trang web c a NBC ph c v video streaming cho th v n h i Olympic mùa

hè 2008 di n ra t i B c Kinh Th ng kê c a NBC cho th c hi n streaming kho ng 3.4 petabytes [4] d li u video d a trên Microsoft Smooth Streaming Microsoft Smooth Streaming có th coi là m t trong nh ng k thu t tiên phong cho các

pháp video streaming d a trên HTTP-based adaptive streaming

Microsoft Smooth Streaming s d ng chu n nh d ng MPEG-4 part 14 (ISO/IEC

nhiên t i m i segment trong t p tin MP4 [2] Tùy thu c vào s ng các bitrate mà máy

bitrate c a video Khi máy khách g i yêu c u xem video t i m t v trí th i gian c th

v i v trí th i gian mà máy khách yêu c u d a trên kho ng byte d li u yêu c u trong

t

a T ch

n c a m t tâp tin video MP4 g i là h p Các h p có th ch a c d

Trang 25

Metadata càng nh thì th ng s

ISO Base Media File Format [9] c thi t k cho phép các h p metadata

c t ch c trong các t p tin fmp4, m i t p tin fmp4 s g m 1 c p metadata/d

Hình 7 c u trúc t p tin mp4 b phân m nh trong Microsoft Smooth Streaming [2]

c các t p tin ch a MP4 s khác nhau Bitrate càng cao thì kích

c t p tin ch a MP4 càng l n

b nh d ng t p tin

Khi máy khách yêu c u m t video t i m t th i gian c th t máy ch Web IIS,

(ch a c hình nh và âm thanh) và isma (ch ch a d li u âm thanh) [2]

n MPEG-4 part 14 (ISO/IEC 14496-12) [9]

c p m t d ch v video streaming t t t i dùng thì m i m t t p tin video s

thích ng (adaptive switching) gi a các bitrate th p và cao c a cùng m t video

Trang 26

ng các track, bitrate, m i quan h gi a chúng… T p tin

*.ismc

c c n thi t cho máy khách x lý t p tin video khi th c hi n streaming

Hình 8 Quá trình th c hi n c [2]

là nh d ng H264, âm thanh AAC, … cùng v i các t p tin khác

t thêm d ch v IIS Media Services h tr cho Smooth Streaming

Trang 27

Hi n t i thì Smooth c h tr trên IIS 7.0 tr lên Tuy nhiên nó ch c

t thêm IIS Media Services 4 Trong IIS Media Services l i bao g m Live Smooth Streaming (ph c v cho streaming video tr c tuy n) và Smooth Streaming (ph c v cho streaming video theo yêu c u) IIS Media Servcies là m t d ch v cunng c p tính an

c h tr trên các phiên b n Windows Server 2008, Windows 7, Windows Vista SP2, Windows 8.1 tr lên

c bitrate, phân gi i thích h p Vi c chuy n này có th di n ra liên t c

M t ví d v yêu c u máy khách g i cho máy ch :

http://192.168.206.137:8800/Wildlife.ism/QualityLevels(230000)/Fragments(video=20020000)

2.2.2 Apple HLS

cung c p gi i pháp streaming video t i các thi t b c a hãng các t

ph i là MPEG-4

HTTP Live Streaming cho phép g i d li u audio và video qua giao th c HTTP t m t

bao g m iPhone, iPad, iPod touch và Apple TV cùng v i các máy tính ch y h u

c HLS h tr c 2 d ng truy n video tr c tuy n và video theo yêu c u V i d ng truy n video tr c tuy n thì chúng ta có th truy n tr c ti p hình nh, âm thanh t m t

ch c các h i ngh tr c tuy n v i s tham gia c a nhi u bên

Trang 28

Hình 9 Quá trình th c hi n c [1]

thanh

phân gi i/bitrate khác nhau ph c v cho vi c streaming Ví d m t video có bitrate 6134

ki n m ng khi s d ng thông qua m ng 3G, Wifi, hay Ethernet…

kho ng 2-10 giây Cùng v i vi c chia nh các t p tin video là t o ra các t p tin ch m c

Trang 29

ng h p m t t c h tr nhi u bitrate khác nhau thì ngoài vi c

video phù h p

M t ví d v n i dung c a t p tin ch m c

Wildlife_Apple_HLS_h264_SF_16x9_720p_001.m3u8 c a m t video g m có mô t

bitrates n u video có h tr nhi u bitrate

N i dung c a t p tin index.m3u8 g dài m i t p tin *.ts và tên c a các t p tin này

Trang 30

frag-3.ts

#EXT-X-ENDLIST

c u ph i có các c u hình hay thành ph n c bi t Các máy ch có th bao g m: IIS,

ph bi n phía máy khách bao g m Safari, VLC, Flash player, JW player…

2.2.3 MPEG-DASH

Dynamic Adaptive Streaming over HTTP vi t t t là DASH (MPEG-DASH ISO/IEC

Các thành ph n trong DASH bao g m:

Các thành ph n phía máy khách

Trang 31

Các thành ph n phía máy ch

chu n RFC 2616 [7]

Description (MPD) [15] và Segments [15] MPD th c ch t là m t t p tin xml ch a các

thông tin v các bitrate s n có c a video, thông tin các b codec âm thanh, hình nh

gi i mã d li u a ch ngu n url,… và các thông tin khác có liên quan

Trong các segment là các fmp4 c trình bày chi ti t ph n 2 c a khóa lu n, v i

MPEG DASH s d ng ISO Base Media File Format [9] ho c MPEG-2 Transport

Hình 10 Quá trình th c hi n c -DASH [15]

hành nào mà không yêu c u ph i có thi t b c bi t hay các c u hình ph c t p

Ngày đăng: 18/03/2018, 23:03

TỪ KHÓA LIÊN QUAN

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

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

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