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)
I H C QU C GIA HÀ N I I H C CÔNG NGH Nguy n Ti n Thành TH C HI 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 I H C H CHÍNH QUY Ngành: Cơng ngh thơng tin HÀ N I - 2015 I H C QU C GIA HÀ N I I H C CÔNG NGH Nguy n Ti n Thành TH C HI N 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 I H C H CHÍNH QUY Ngành: Cơng ngh thơng tin Cán b ng d n: TS Hồng Xn Tùng HÀ N I - 2015 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 TĨM T T Tóm t t: Ngày nay, d ch v xem video tr c n qua m ng internet ngày tr lên quen thu iv im i Chúng ta có th d dàng xem m t b phim, m t video âm nh c… g p t c ch v i m t trình t ho c ph n m m có h tr truy n video streaming M l i có m t m, m c phát tri n m th i gian tr , d dàng qu n lý t p tin video phía máy ch , h tr thi t b khác nhau… Atom Header Caching (AHC) [12], p m i c t o nh m m m th i gian tr b u xem video tr c n i ch d ng vi c h tr thi t b máy tính cá nhân truy n th bàn, máy tính xách tay c h tr thi t b n tho i tb n tho c nhi i máy tính cá nhân truy n th ng Chính v y khóa lu n s th c hi pháp AHC lên n n t ng h u hành BlackBerry OS 10, h u hành dành cho thi t b n tho i thông minh Cùng v g ng trình bày m t cách t ng quan v nh d ng t c s d ng internet video streaming T khóa: Video streaming, nh d ng mp4, Atom Header Caching, Blackberry 10 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 L IC L u tiên, xin g i l i c n tình ch b c nh ng d n tơi su t q trình th c hi n khóa lu n Tơi xin bày t l i c n nh ng th nh ng ki n th Tôi g i l i c n th y giáo, TS Hoàng Xuân Tùng n nh i t p th l p K56-CLC su t trình h c t p, rèn luy n t L i cu i cùng, mu n g i l i c t qua nh ng d y su t b n phát tri lai ng h , khích l ln sát cánh bên tơi ng n cha m , nh i ng h c s ng Hà N i, ngày 08 tháng 05 Sinh viên Nguy n Ti n Thành L n i dung khóa lu n tơi th c hi Hoàng Xuân Tùng is ng d n c a TS T t c nh ng tham kh o t nghiên c u c nêu ngu n g c m t rõ ràng t danh m c tài li u tham kh o khóa lu n Trong khóa lu n, khơng có vi c 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 Hà N i, ngày 08 tháng 05 Sinh viên Nguy n Ti n Thành M CL C M U bi n 1.1 Internet video streaming 1.2 Ki n trúc chung c a video streaming tr video streaming hi n n th ng a HTTP a HTTP-based adaptive streaming nh d ng MP4 2.1.1 S ph bi n c nh d ng MP4 2.1.2 C u trúc MP4 a HTTP-base adaptive streaming 2.2.1 Microsoft Smooth Streaming 2.2.2 Apple HLS 2.2.3 MPEG-DASH 2.2.4 Atom Header Caching tb 3.1 ng ng d ng Atom Header Caching thi t b 3.2 Biên d ng n mã ngu n m n mã ngu n m 3.2.2 Biên d n mã ngu n m 3.3 Th c hi n thi t b BB10 3.3.1 Xây d ng giao di 3.3.2 Th c hi i dùng cache atom header thi t b BB10 3.3.3 Hi n th hình nh c a video 3.3.4 Phát âm c a video ng b hình nh âm c nghi m k t qu 4.1 Th c nghi 4.2 K t qu th c nghi m K T LU N c DANH SÁCH KÝ HI U, CH VI T T T Atom Header Caching AHC Apple HTTP Live Streaming HLS Fragmented mp4 fmp4 Hypertext Transfer Protocol HTTP Moving Picture ExpertGroup MPEG MPEG Dynamic Adaptive Streaming over HTTP MPEG-DASH DANH SÁCH HÌNH V , B NG BI U Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Ki n trúc chung c a video streaming [12] .3 S ph bi n c nh d ng mp4 [16] .7 C u trúc t p tin MP4 .8 C u trúc bên h p moov C u trúc t c s d ng Microsoft Smooth Streaming [12] 12 C u trúc t c s d ng MPEG-DASH [12] .12 c u trúc t p tin mp4 b phân m nh Microsoft Smooth Streaming [2] 15 Quá trình th c hi n c 16 Quá trình th c hi n c 18 10 Quá trình th c hi n c a -DASH [15] 21 11 Quá trình th c hi n c 22 12 T c b c t b i Proc 23 13 Hai t p tin m c t o t t p tin Video.mp4 sau c t .23 14 H tr AHC thi t b ng 25 15 Ki 26 ho ng c 33 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 - 39 hi n th hình nh c - 42 phát âm c 43 22 B ng thông s cs d th c nghi m .47 23 B ng thông s c c a t p tin atom header .48 24 Bi so sánh th i gian b u ng v i t .48 25 Bi so sánh th i gian b u ng v i t .49 26 Bi so sánh th i gian b u ng v i t .49 50*1024*1024 MAX_DATABASE_ARRAY_SIZE s ng t p tin t i c ch a b nh cache, MAX_DATABASE_SIZE c t a b nh u b nh y theo m ng h p sau: TH1 T ng s ng t p tin atom header l ng t p tin t ch a b m, th c hi n xóa #define DELETE_STEP_NUMBER 20 t p tin atom header có giá tr freq nh nh t b nh cache TH2 T c t p tin atom header l ct ab m, th c hi n xóa t p tin atom header b nh ng giá tr freq nh nh t cho t #define DELETE_STEP_MB 10*1024*1024 byte ho c l Tuy nhiên, áp d ng thu t tốn LFU, có th m t video có s l n xem c c l n s c l i thi t b dù c truy c p nhi u n làm gi m tính hi u qu c a thu t tốn Chính v y mà ng timestamp m b o r ng sau m t kho ng th i gian xác nh, t p tin video mà có kho ng th i gian dài c truy c p #define MAX_STORED_DAYS (int64_t)3 b gi m m t n a giá tr counter N u giá tr counter b ng sau th c hi n phép chia l y ph n ngun s c gán d li u database.txt b nh thông qua B5 D li u s c ghi vào t hàm write_database() cache c th c hi i l a ch n t t nh t, v n c n ph i có nghiên c u tìm hi c cache t t nh t Tuy nhiên, m n có th t t i v i m t b nh ng nh ng ch tb 3.3.3 Hi n th hình nh c a video Các t c mã hóa ch a nh d avi…, Trong t p tin video s g m nh t m t lu ng hình nh có th có lu ng âm khác M i lu ng l c mã hóa b i m t b codec khác Ví d i v i âm s ACC ho c v i hình nh H264 d li m i lu ng c g i “frame” D li c t lu ng ói l i thành gói packet M i gói packet có th ch a m t ho c nhi ng h c d li u t lu ng âm thanh) x lý lu ng tuân theo quy t c chung B1 Tìm s nh danh (id) c a lu ng hình nh t p tin video B2 Tìm b gi i mã thích h B3 c “frame” t lu ng gi i mã cho lu ng hình ng B4 Hi n th “frame” k t thúc c gi i mã b ng b gi i mã L p l n c h t s ph i kh i t o thành ph n h tr h tr giao th nh d ng b cs d b ng hàm av_register_all() c n ph i g i nh n d li c truy n qua m ng nên c n kh i t o thành ph n m c n FFMPEG h tr v i avformat_network_init() Hình v hi Hình 19 làm vi c c hi n th hình nh c -1 t o làm vi decode_thread, video_thread m t c t o lúc kh ng AtomPlayer main decode_thread s làm nhi m v c d li u t lu i thành gói packet r i i thơng qua l i g i hàm packet_queue_put() i s có c u typedef struct PacketQueue { AVPacketList *first_pkt, *last_pkt; int nb_packets; int size; SDL_mutex *mutex; SDL_cond *cond; } PacketQueue; Trong first_pkt last_pkt tr tr nv u cu i c i m t danh sách liên k t nb_packets size l t s ng gói kích cc a danh sách liên k t Ngồi có hai tr c bi t mutex cond Vì AtomPlayer s d ng thread c d li u l y d li u t i PacketQueue c n thi m b o t i m t th m ch có m t c quy n truy c p vào PacketQueue Trong hàm decode_thread(), ta s tìm m t l y thông tin v video ng l i g i hàm avformat_open_input() Hàm s tr v m t tr ch a thông tin c n thi t v gi dài video, thơng tin v lu hình nh, âm t p tin…thông tin s m t tr AVFormatContext *pFormatCtx D a vào tr này, ta s cs nh danh (video_index) c a lu ng video t p tin T stream_component_open() s cg i s video_index Ti t vòng l p for vô s t hàm decode_thread() liên t c l y d li u t lu ng video nh hàm av_read_frame() có t vào gói i PacketQueue thơng qua hàm packet_queue_put() Tr l i v i hàm stream_component_open() c g i t decode_thread(), s ti n hành tìm b codec thích h gi ki m tra l i xem n u lu ng d li u video (hàm s c vi t l i ph có th x lý c d li u audio) AVMEDIA_TYPE_VIDEO hàm s t o m t thread m i video_thread x lý d li u video Thread s c t o nh SDL_CreateThread() SDL_CreateThread() s nh i s tên hàm video_thread d li u VideoState VideoState làm m t c typedef VideoState { AVFormatContext *pFormatCtx; int videoStream; AVStream *video_st; PacketQueue videoq; VideoPicture pictq[VIDEO_PICTURE_QUEUE_SIZE]; int pictq_size, pictq_rindex, pictq_windex; SDL_mutex *pictq_mutex; SDL_cond *pictq_cond; SDL_Thread *parse_tid; SDL_Thread *video_tid; char filename[1024]; struct SwsContext *sws_ctx; }VideoState; video_st m t tr ki i FFMPEG Nó có th tr n lu ng hình nh ho c âm t p tin video videoq m i c v lu ng video (khác v i lu ng d li c c sau g i hàm av_read_frame() Các hình c sau gi i mã gói packet b ng m t b codec thích h p s c chuy n v nh d ng YUV mà SDL h tr hi n th s t m ng pictq có ki u VideoPicture pictq_size ghi l c hi n th i c a m ng pictq M i có m t hình nh m c gi ng pictq_size s t, sau m t hình c l y hi n th hình pictq_size s gi t pictq_rindex pictq_windex l trí hi n th i c ghi c a m ng pictq Parse_tid video_tid ghi l nh danh (id) c a thread m c t o l n t giành cho decode_thread video_thread qu n lý thread h y thread mu n k filename ch tên c a t p c yêu c u Cu i sws_ctx c s d ng ph c v cho vi c chuy i nh sang không gian màu hi n th hình Ch t n t i nh t m t th c th VideoState su dùng chung nhi u thread khác c Trong video_thread, m t vòng l p vơ h c t o làm nhi m v l y l t gói packet PacketQueue th c hi n gi i mã b ng hàm avcodec_decode_video2() c cung c p b i FFMPEG Hàm s nh n b i s b gi i mã, m t AVFrame i hình c gi i mã, m i s xác nh th c hi n gi i mã hình nh thành công cu i packet c n gi i mã Ngay sau gi i mã thành công, AVFrame s c truy n vào hàm queue_picture() chuy n v nh d c SDL h tr hi n th c i picq VideoState Sau i quy t xong vi c gi i mã hình nh c a video, ph n ti p theo s hi n th nh ng hình nh lên hình M t hàm event_loop() c g i t hàm main() c a th c hi n nhi m v l ng nghe s ki c t o b i SDL b ng hàm SDL_WaitEvent() N u c s ki n FF_REFRESH_EVENT S ki c g i t hàm schedule_refresh() sau m t kho ng th t o tr th i gian hi n th gi a khung hình hình video_refresh_timer() c g tính tốn th i gian tr c n thi t gi a hai l n hi n th Ti video_display() cg hi n th hình nh c bi u di n b i hình v Hình 20 hi n th hình nh c Hàm SDL_WaitEvent() th c hi n ki (kho ng 10 mili giây / l n) -2 i EventQueue 100 l n m i giây c cung c p b n SDL 3.3.4 Phát âm c a video Trong ph n này, c trình bày ph n “Hi n th hình nh c a video” c trình bày l i, nhiên v n s có m t s c s d ng l decode_thread(), stream_component_open() Thơng qua hàm decode_thread(), âm hình nh S có m t l c gói packet t lu u ki n: if (packet->stream_index == is->videoStream) { packet_queue_put(&is->videoq, packet); } else if (packet->stream_index == is->audioStream) { ng packet_queue_put(&is->audioq, packet); } Hình v vi c phát âm t video c Hình 21 trình AtomPlayer phát âm c N c v lu ng hình nh s i PacketQueue c a hình nh, n u c a lu ng âm s i c a âm struct VideoState i c a dành cho lu ng hình nh videoq s c i dành cho âm PacketQueue audioq; Ti làm vi ngun stream_component_open c có th hình nh, d li u âm n có m t b gi i mã c yêu c u thông qua hàm avcodec_find_decoder() v i s m t s i di n cho b (FFMPEG g i codec_id) Ti SDL_OpenAudio() s c g i Hàm có tác d ng m phát âm Nó nh i s có ki u wanted_spec, real_spec có ki u SDL_AudioSpec wanted_spec ch a tham s c thi t l p t m thi t b âm wanted_spec.channels = wanted_nb_channels; wanted_spec.freq = codecCtx->sample_rate; wanted_spec.format = AUDIO_S16SYS; wanted_spec.samples = SDL_AUDIO_BUFFER_SIZE; wanted_spec.callback = audio_callback; wanted_spec.userdata = is; channels s ng kênh âm thanh, ví d i v i chu n âm mono s có kênh, v i âm stereo s 2… Freq ch t n s l y m u, t c s l n l y m u m t giây Format r ng c a m t m u âm ( 16 bit) Giá tr samples cc ab m âm (s ng m u có th ch a b m cc ab byte) B ch a d li u âm sau m i l n g i hàm callback Giá tr samples c SDL khuy n ngh n m kho ng t n 8096 Trong AtomPlayer, giá tr t 1024 Callback m t tr hàm tr n hàm audio_callback() cg it ng b i SDL Userdata tr nd li c truy is Sau g i hàm SDL_OpenAudio(&wanted_spec, &real_spec) s t wanted_spec mà SDL s tr v thông s m SDL s t o qu n lý tr c ti p thread âm M ts v i AudioParams c l y t real_spec s vào thông t real_spec i AudioParams audio_prm; typedef struct AudioParams { int freq; int channels; int64_t channel_layout; enum AVSampleFormat fmt; int frame_size; int bytes_per_sec; } AudioParams; V i freq channels gi SDL_AudioSpec Ngồi có channel_layout, m i m t ph n t m ng channel_layout_map[] s g m tên g i, s ng kênh, layout theo c static const struct { const char *name; int nb_channels; uint64_t layout; } channel_layout_map[] Ví d v i m t layout có name stereo nb_channels s trái ph i Layout có giá tr AV_CH_LAYOUT_STEREO AV_CH_LAYOUT_STEREO l ng v i hai loa : #define AV_CH_LAYOUT_STEREO (AV_CH_FRONT_LEFT|AV_CH_FRONT_RIGHT) V i AV_CH_FRONT_LEFT 0x00000001 AV_CH_FRONT_RIGHT 0x00000002 Khi th c hi n phép tốn “or” ta s c giá tr 0x00000003 V y ng, s ng bit ng v i v i giá tr c a layout s b ng v i s kênh có layout c bi u di n b i hai bit 1, v y s kênh c a s SDL g i n hàm audio_callback() t ng c n ph i g i hàm SDL_PauseAudio() v i s sau g i hàm SDL_OpenAudio() Hàm audio_callback() có ba tham s void *userdata, Uint8 *stream, int len userdata c u trúc VideoState stream m t tr , tr t i b m âm B m ch a d li u âm s c phát loa len tham s ch cc ab m âm trên, len c SDL tính tốn t t vào hàm audio_callback() v d li u âm ta s c n ph i t gi t vào b m âm Vi c s c th c hi n thông qua l i g i hàm audio_decode_frame() Trong hàm audio_decode_frame(), m t gói packet s cl y t i audioq nh hàm packet_queue_get() Gói packet s t vào bi n pkt có ki u AVPacket i g i hàm c th c hi gi i mã gói tin packet bi n pkt is c truy n vào theo th t bao g m thông tin b gi i mã, AVFrame d li u c gi i mã got_frame m t bi ki m tra xem q trình gi i mã có thành cơng hay khơng, n u khơng thành cơng s có giá tr pkt d li u c n gi i mã D li u thô sau gi i mã s c th c hi n downsampling, downmixing b n libswresample c cung c p b n FFMPEG Downsampling gi m t l ym u xu ng Ví d i t p tin nh c có t l y m u 48kHz sau th c hi n downsampling có th xu iv i downmixing th c hi n gi m s kênh, ví d i chu n âm 5.1 có kênh libavutil/channel_layout.h có th gi m xu ng kênh ng v i chu n âm stereo D li u âm cu i s tb m t m th i có tên audio_buf hàm audio_decode_frame() Sau th c hi n xong thao x lý d li u hàm audio_decode_frame(), hàm audio_callback() s th c hi n chép chép d li u t b m audio_buf vào b c tr t i b i tr stream hàm audio_callback() i b phát âm loa 3.3.5 ng b hình nh âm Trong t p tin video, v i m i hình nh s có m t giá tr g i presentation timestamp (pts) Giá tr nh th m mà hình c hi n th hình V i hình u tiên, ta có th hi n th l p t c sau gi i mã xong Tuy nhiên t hình nh ti p theo, s ph nh m t giá tr tr hình nh hi n th sau ng b c h t c n ph c giá tr pts c a m i hình nh Giá tr c l y thông qua hàm av_frame_get_best_effort_timestamp() v i s m t AVFrame, AVFrame c b ng cách gi ph n “3.3.3 Hi n th hình nh c a video” Giá tr pts v i hình g ng s i VideoPicture Hàm video_refresh_timer() làm nhi m v tính giá tr tr gi a hai hình c hi n th hàm video_refesh_timer() s g n hàm schedule_refresh() th c hi n t o tr Sau kho ng th i gian tr hình nh s c hi n th hình b ng l i g i hàm video_display() i v i âm thanh, m c tái t o l i s c n ph i có t n s l y m u s m u gi ng nh âm t p tin video Tuy nhiên hình nh âm v c s kh p v i s c n ph i thêm Th c nghi m k t qu 4.1 Th c nghi Sau xây d nghi ng hi ng Các th c th c nghi c c th c i tb c th c hi Chu n b m t máy ch VPS có h tr giao th c atomcaching [12] Ti i gian b u i v i 04 t p tin video có thơng s k thu b V im ng có s d ng AHC khơng s d ng AHC V i m i t p tin video th c hi n l l y giá tr trung bình c a l n Thơng s k thu t c a t p tin video T c Tên t p tin video VideoT est1_4 mp4 VideoT est2_20 mp4 VideoT est3_60 mp4 VideoT est4_12 0.mp4 phân Bitrate Mã hóa âm khung âm hình (kbps) (fps) T ns l y m u S kênh Th i âm âm ng thanh (phút) (KHz) Mã hóa video gi i video Bitrate video (kbps) H264 640x360 712 23 aac 96 44.1 H264 720x404 764 23 aac 109 48 20 H264 1280x72 1646 25 aac 192 44.1 60 H264 1280x72 1760 25 aac 192 44.1 120 Hình 22 B ng thông s D a theo khuy n ngh v t k tn Netflix [20] Ba k ch b n sau s c thi t l trình AtomPlayer h tr AHC thi t b K ch b n th nh t: Gi i h n t k tn i k t n i t i thi c khuy n ngh cs d th c nghi m xem video tr c n c a c nghi iv ng phía máy ch xu ng 1.5 Mbps T K ch b n th hai: Thi t l p t k t n i phía máy ch video c xem ch ng SD m c 3.0 Mbps ng v i K ch b n th ba: Thi t l p t k t n i phía server vi c xem video ch ng HDB hi c c t t t p tin video áp d ng AHC T p tin video VideoTest1_4.mp4 VideoTest2_20.mp4 VideoTest3_60.mp4 VideoTest4_120.mp4 m c 5.0 Mbps ng v i c c a atom header c Atom Header 68 KB 588 KB 1.1 MB 2.2 MB Hình 23 B ng thông s c c a t p tin atom header Có th th y rõ r ng, v i t p tin video có th Header l n c Atom K ch b n th nh t, bi hi n th i gian b k t n i 1.5 Mbps s d ng AHC không s d ng AHC ng v i t c tính: giây) - 1.5 Mbps VideoTest4_120.mp4 VideoTest3_60.mp4 VideoTest2_20.mp4 VideoTest1_4.mp4 10 12 14 VideoTest1_4.mp VideoTest2_20.m VideoTest3_60.m VideoTest4_120 p4 p4 mp4 1.8109224 2.267984 3.4627088 4.7948142 1.7577424 Hình 24 Bi so sánh th i gian b 4.595794 u ng v i t 7.4968956 12.7568294 ps Bi c sau th c hi n k ch b n th 2, ng v i t Mbps s d ng AHC không s d ng AHC tính: giây) k t n i 3.0 - 3.0 Mbps VideoTest4_120.mp4 VideoTest3_60.mp4 VideoTest2_20.mp4 VideoTest1_4.mp4 VideoTest1_4.mp VideoTest2_20.m VideoTest3_60.m VideoTest4_120 p4 p4 mp4 1.535759 1.8433538 2.7476058 3.0300212 1.3860906 2.8453032 4.7990448 6.6214484 Hình 25 Bi so sánh th i gian b u ng v i t B hi n k t qu th c nghi n i 5.0 Mbps t i máy ch s d ng AHC không s d ng AHC Hình 26 Bi so sánh th i gian b u ng v i t it k t tính: giây) 4.2 K t qu th c nghi m T k t qu c a ph n “4.1 Th c nghi ”, ta có th th y r ng th i gian b u c a video s d cho m t hi u qu rõ r t ng h p ngo i l i v i t p tin VideoTest1_4.mp4, th i gian b t d u c a video s d ng AHC l so v i không s d ng AHC (kho ng 0.2 giây) Vì t p tin video ch dài phút, c atom header c a nh , kho ng 68 KB V i t p tin có th ng th p tính hi u qu c c nhìn th y rõ r t kích c c a t p tin atom header r t nh i v i t k ch b n th hi c rõ tính hi u qu c th là: i v i k ch b n th nh t, t kêt n i 1.5 Mbps có s d ng AHC, cho th y t p tin VideoTest2_20.mp4, VideoTest3_60.mp4 VideoTest4_120.mp4 có th i gian tr chênh l ch b u th t 2.32, 4.04 12.76 giây so v i không s d ng AHC i v i k ch b n th hai, t kêt n i 3.0 Mbps có s d ng AHC, cho th y t p tin VideoTest2_20.mp4, VideoTest3_60.mp4 VideoTest4_120.mp4 có th i gian tr chênh l ch b ul t 1.00, 2.05 3.59 giây so v i không s d ng AHC i v i k ch b n th ba, t k t n i 5.0 Mbps có s d ng AHC, cho th y t p tin VideoTest2_20.mp4, VideoTest3_60.mp4 VideoTest4_120.mp4 có th i gian tr chênh l ch b ul t 0.09, 0.71 1.17 giây so v i không s d ng AHC Nhìn chung, v dài trung bình, ho c l l i m t hi u qu r t l n vi c gi m th i gian tr b m ng internet AHC mang u streaming video qua K T LU N u nghiên c u, khóa lu c k t qu : Tìm hi c ki n th c v internet video tr video streaming qua giao th c s d ng ph bi n hi n Chuy i thành công m n th ng sang thi t b n tho i thông minh Xây d c m t giao di n AtomPlayer Th c hi n m t thi t b n tho i thông minh Thông qua th c nghi c tính hi u qu c th c hi n thi t b ng Bên c nh nh c, khóa lu n v n m t s h n ch Trong trình chuy ph ng b âm hình nh v cache atom header v qu c C n ph i có nghiên c cache atom header t t nh t có th áp d n tho i thơng minh Giao di i dùng v n dùng : tb ng t s t t c tính hi u ch tb t s thân thi n v i Tuy nhiên, hi n t m có m h tr AHC hoàn thi n t giao di n, ch cache atom header hi u qu ng t i h u hành cho thi t b ng d ng thi t b gi TÀI LI U THAM KH O [1] Apple Inc, "HTTP Live Streaming Overview", 2014 [2] Alex, ZAMBELLI "IIS smooth streaming technical overview" Microsoft Corporation, 2009 [3] Alex, ZAMBELLI "A history of media streaming and the future of connected TV" The Guardian, 2013 [4] BELSON, David "Akamai state of the Internet report, q1 2014", pp.14, 39 [5] CAO, Pei; IRANI, Sandy "Cost-Aware WWW Proxy Caching Algorithms" Usenix symposium on internet technologies and systems 1997 pp 193-206 [6] CARLA, MARSHALL "33 amazing youtueb facts & stats to tweet & share", reelseo, 2014 [7] FIELDING, Roy "Hypertext transfer protocol–HTTP/1.1, 1999" RFC2616, 2006 [8] INDEX, Cisco Visual Networking "Forecast and Methodology, 2010–2015", 2011 [9] ISO/IEC, “14496-12 Information technology — Coding of audio-visual objects — Part 12: ISO base media file format”, 2012 [10] ISO/IEC, “14496-14 Information technology — Coding of audio-visual objects — Part 14: MP4 file format”, 2003 [11] MILLER, P "SVP/GM Digital Media at NBC Sports", keynote 2009 [12] Nguyen Tien Nam; Hoang Xuan Tung, “Optimizing video streaming over internet using header caching for reducing start-up time in mp4 video streaming applications”, master's thesis, 2014 [13] RESCORLA, Eric "Http over tls" 2000 [14] SCHULZRINNE, Henning "Real time streaming protocol (RTSP)" 1998 [15] SODAGAR, Iraj "The MPEG-DASH Standard for Multimedia Streaming Over the Internet" IEEE Multimedia, 2011, 18: 62-67 [16] Sorenson Media, Mp4 is the king of formats, 2012 [17] http://dranger.com/ffmpeg/ [18] http://en.wikipedia.org/wiki/Video [19] http://www.videolan.org/developers/x264.html [20] https://help.netflix.com/en/node/306 [21] https://www.ffmpeg.org/ [22] https://www.libsdl.org/ ... C CÔNG NGH Nguy n Ti n Thành TH C HI N 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 I H C H CHÍNH QUY Ngành: Cơng ngh thơng tin Cán b ng d n: TS Hoàng... 10, h u hành dành cho thi t b n tho i thông minh Cùng v g ng trình bày m t cách t ng quan v nh d ng t c s d ng internet video streaming T khóa: Video streaming, nh d ng mp4, Atom Header Caching,... 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 L IC L u