ระบบบนทกผลการตรวจสอบ Video E-Learning และการตรวจสอบเสยง ใน Video อตโนมต (Video E-Learning Management System)
กรศกย ธานนทรธราธาร
สารนพนธนเปนสวนหนงของการศกษา หลกสตรวทยาศาสตรมหาบณฑต สาขาวชาเทคโนโลยสารสนเทศ
คณะวทยาการและเทคโนโลยสารสนเทศ มหาวทยาลยเทคโนโลยมหานคร
ปการศกษา 2556
I
หวขอโครงงาน ระบบบนทกผลการตรวจสอบ Video E-Learning และการตรวจสอบเสยง ใน Video อตโนมต
นกศกษา นาย กรศกย ธานนทรธราธาร รหสนกศกษา 5517710002 หลกสตร วทยาศาสตรมหาบณฑต สาขาเทคโนโลยสารสนเทศ ปการศกษา 2556 อาจารยผควบคมโครงงาน ผศ.ดร.วรพล ลลาเกยรตสกล
บทคดยอ
วตถประสงคของโครงงานนคอชวยในการตรวจสอบและบนทกผลของวดโอในระบบ E-Learning ท าไดงายและรวดเรวมากขน ชวยในการท างานของผดแลระบบโดยการใหระบบตรวจสอบเสยงโดยอตโนมตกอนท ผดแลระบบจะท าการตรวจสอบเองอกทหนง เพอใหผดแลระบบบนทกผลไดถกตองมากขน ลดขอผดพลาดตางๆทอาจจะเกดขนไดจากผทบนทก ทท าการบนทกดวยมอ คนหาการบนทกผลลพธการตรวจสอบ และสามารถสรางและออกรายงานไดจากระบบเพอใหผดแลระบบน ำไปวเครำะหพฒนำระบบตอไป
II
กตตกรรมประกาศ
สารนพนธนไดพฒนาจนส าเรจดวยด เพราะความกรณา ความชวยเหลอ และก าลงใจจากหลายคน ขาพเจาขอขอบพระคณมา ณ ทน
ขอขอบพระคณ ผศ.ดร.วรพล ลลาเกยรตสกล อาจารยทปรกษาโครงงานทกรณาเสยสละเวลาใหค าแนะน าและคอยตรวจสอบโครงงานอยสม าเสมอ และยงคอยหาตวอยางทด ๆ มาใหอกมากมาย
ขอขอบพระคณ อ.ณฐพงษ ชวยบ ารง ทกรณาเสยสละเวลาใหค าแนะน าและชวยตรวจสอบในการท างานโครงงานอยสม าเสมอ
ขอขอบพระคณอาจารยทกๆ ทานทชวยประสทธประสาทวชาแกขาพเจาตงแตขาพเจาเขามาศกษาในทแหงน ขอบคณก าลงใจจากอาจารยทกทานทท าใหขาพเจาพฒนาโครงงานนใหส าเรจไปไดดวยด
ขอขอบพระคณพๆ เพอนๆ และทกคนทชวยสอนเวลาทโปรแกรมมปญหาและเปนก าลงใจในยามทเราทอ
กรศกย ธานนทรธราธาร
มนาคม 2557
III
สารบญ หนา บทคดยอ I กตตกรรมประกาศ II สารบญ III สารบญ (ตอ) IIII สารบญตาราง V สารบญรป VI สารบญรป (ตอ) VII บทท 1 บทน า 1 1.1 ปญหาและแรงจงใจ 1 1.2 โครงงานทน าเสนอ 1 1.3 วตถประสงค 1 1.4 ขอบเขตของโครงงาน 1 1.5 ภาพรวมในแตละบท 2 บทท 2 ทฤษฏของระบบ 3 2.1 กลาวน า 3 2.2 FFmpeg Library & Software 3
2.3 ASP.NET Framework 5 2.4 LINQ to SQLServer 5 2.5 jQuery 8 2.6 Windows Task Scheduler 8 บทท 3 กำรออกแบบระบบ 10 3.1 กำรออกแบบโครงสรำงของระบบ 10 3.2 Entity Relation Diagram 14 3.3 Flow Chart 15 3.4 การออกแบบฐานขอมล 20 บทท 4 กำรทดลองและผลกำรทดลอง 25
4.1 การใชงาน FFmpeg 25 4.2 การใชงานสครปต รวมกบ Windows Task Scheduler 37 4.3 การท างานกบโปรแกรม 39
บทท 5 สรปผลการด าเนนงาน 49 5.1 ผลการด าเนนโครงงาน 49
IV
สารบญ (ตอ) หนา
5.2 ปญหาและอปสรรค 49 5.3 แนวทางการแกไข 49 5.4 แนวทางการพฒนาในอนาคต 49
เอกสารอางอง 50 ภาคผนวก ก. ก-1
V
สารบญตาราง
หนา ตารางท 3.1 ตาราง class 20 ตารางท 3.2 ตาราง replicateclass 20 ตารางท 3.3 ตาราง user 21 ตารางท 3.4 ตาราง userposition 21 ตำรำงท 3.5 ตำรำง systemreport 21 ตำรำงท 3.6 ตำรำง systemsoundstatus 22 ตำรำงท 3.7 ตำรำง humanreport 22 ตำรำงท 3.8 ตำรำง commonstatus 23 ตำรำงท 3.9 ตำรำง requestreportlog 23 ตำรำงท 3.10 ตำรำง commonstatus 23 ตำรำงท 3.11 ตำรำง roomprofile 24 ตำรำงท 3.12 ตำรำง semestersetting 24
VI
สารบญรป
หนา รปท 2.1 โครงสรางของ LINQ 6 รปท 2.2 การเปลยนรปแบบของ Data Type 7 รปท 2.3 Windows Task Scheduler 9 รปท 3.1 รปแบบการท างานของเซรฟเวอร 10 รปท 3.2 ล าดบในการเขาใชงานระบบ 11 รปท 3.3 ผลลพธจากการใชงาน Audio Filter “astats” 12 รปท 3.4 ผลลพธการท างานของ Audio Filter “volumedetect” 13 รปท 3.5 Entity Relation Diagram ของระบบ 14 รปท 3.6 Flow Chart แสดงการตรวจสอบโดยระบบประจ าวน 15 รปท 3.7 Flow Chart การเขาใชงานระบบ 16 รปท 3.8 Flow Chart แสดงการท างานตรวจสอบภาพรวมจากผดแล 17 รปท 3.9 Flow Chart แสดงการเรยกดรายงาน 18 รปท 3.10 Flow Chart การตงคาตางๆในระบบ 19 รปท 4.1 ตวอยางการใชงานค าสง 25 รปท 4.2 ขณะทค าสงของ ffmpeg ท างาน 26 รปท 4.3 ผมลพธจากการใชงานค าสง ffmpeg 27 รปท 4.4 ตวอยางค าสงของ “volumedetect” 28 รปท 4.5 สรปผลในรปแบบตาราง (1) 33 รปท 4.6 สรปผลในรปแบบตาราง (2) 33 รปท 4.7 ผลลพธของค าสง “volumedetect” ทเกดขนกบไฟลวดโอปกต 34 รปท 4.8 ผลลพธของค าสง “volumedetect” ทเกดขนกบไฟลวดโอทผสอนไมใชไมค 34 รปท 4.9 ผลลพธของค าสง “volumedetect” ทเกดขนกบไฟลวดโอทไมมการเรยน 35 รปท 4.10 ผลลพธของค าสง “volumedetect” ทเกดขนกบไฟลวดโอทมเสยงรบกวน 35 รปท 4.11 ผลลพธของค าสง “volumedetect” ทเกดขนกบไฟลวดโอทเสยงดง 36 รปท 4.12 ผลลพธของค าสง “volumedetect” แสดงในรปแบบตาราง (1) 36 รปท 4.13 ผลลพธของค าสง “volumedetect” แสดงในรปแบบตาราง (2) 37 รปท 4.14 หนาจอของ Windows Task Scheduler 37 รปท 4.15 หนาจอขณะ ELN.exe ท างาน 38 รปท 4.16 ขอมลทเกบลงในฐานขอมล 38 รปท 4.17 รปแบบของผลลพธของเสยงทออกมาจากระบบ 39 รปท 4.18 หนาจอแรกในการเขาใชงานระบบ 39
VII
สารบญรป (ตอ) หนา รปท 4.19 การเขาใชงานในต าแหนง “Administrator” 40 รปท 4.20 แสดงแถบเมนดานบน 40 รปท 4.21 แสดงรายละเอยดดานซายบน 40 รปท 4.22 การเขาใชงานในต าแหนงอนๆ 41 รปท 4.23 แสดงรายละเอยดของการบนทกการตรวจสอบ 41 รปท 4.24 แสดงรายละเอยดของการบนทกการตรวจสอบ (2) 42 รปท 4.25 แสดงหนาแจงไมมรายการใหตรวจสอบ 42 รปท 4.26 แสดงหนาจอรายงาน 43 รปท 4.27 แสดงหนาจอเลอกชวงเวลาของรายงานทจะแสดงผล 43 รปท 4.28 แสดงหนาจอเลอกชวงเวลาของรายงานทจะแสดงผล (2) 43 รปท 4.29 แสดงหนาจอหนาตารางเรยน/สอน 44 รปท 4.30 แสดงหนาจอหนาเพมตารางเรยน/สอน 45 รปท 4.31 แสดงหนาจอน าเขาจากไฟล excel 45 รปท 4.32 แสดงรปแบบไฟล excel ทน าเขาไปในระบบ 46 รปท 4.33 แสดงหนาแกไขขอมลตารางบนทกวดโอ 46 รปท 4.34 แสดงหนาจอเพมผใชงานใหม 47 รปท 4.35 แสดงหนาจอตงคาคากลางของเสยง ในแตละหอง 47 รปท 4.36 แสดงหนาจอตงคาในชวงเวลาการเปด/ปดภาคเรยน 48 รปท 4.37 แสดงหนาจอตงคาในชวงเวลาการเปด/ปดภาคเรยน (2) 48 รปท 4.38 แกไขขอมลผใชงาน 48 รปท ก-1 หนาเวบ download FFmpeg ก-1 รปท ก-2 วางโฟลเดอรของ FFMpeg ไวใน path ทตองการ ก-1 รปท ก-3 เลอก “Advanced system settings” ก-2 รปท ก-4 เลอก “Environmental Variables” ก-2 รปท ก-5 เลอก “new…” ในสวน System variables ก-3 รปท ก-6 เลอก “new…” ในสวน System variables (2) ก-3 รปท ก-7 ผลลพธของค าสง ก-4 รปท ก-8 ตวอยางการใชงานค าสง “astats” ก-5 รปท ก-9 ผมลพธจากการใชงานค าสง “astats” ก-5 รปท ก-10 ตวอยางค าสงของ “volumedetect” ก-6 รปท ก-11 ผลลพธค าสงของ “volumedetect” ก-6
VIII
1
บทท 1 บทน ำ
1.1. ปญหำและแรงจงใจ
เนองจาก ในระบบ E-Learning ของมหาวทยาลยเทคโนโลยมหานคร โดยปกตทกวนน การตรวจสอบวดโอของระบบ E-Learning ผดแลตองท าการตรวจสอบดวยตวเอง ไมมระบบทจะมาตรวจสอบ และผลจากการตรวจสอบนนปญหาพพบหลกๆ คอปญหาเรองเสยงในไฟลวดโอคอ เชน ไมมเสยง หรอมเสยงรบกวนทมาก นอกจากนการบนทกผลการตรวจสอบในปจจบน ไมไดม Software เฉพาะ ยงใช MS Excel ในการบนทกผล
1.2. โครงงำนทน ำเสนอ
ระบบตรวจสอบเสยงและบนทกผลของวดโอของระบบ E-Learning โดยทระบบจะตรวจสอบเสยงทอยในวดโอของระบบ E-Learning โดยอตโนมต และแสดงผลจากการตรวจสอบวดโอของระบบ E-Learning ในรปแบบ Web Interface เพอใหผดแลระบบสามารถดไดงาย และสามารถบนทกผลการตรวจสอบ อนๆของวดโอของระบบ E-Learning ไดอกดวย นอกจากนระบบยงสามารถออกรายงาน วดโอทมปญหาเรองเสยง เปนรายวน , สปดาห และเดอนได
1.3. วตถประสงค
1.3.1. เพอใหการตรวจสอบวดโอของระบบ E-Learning ท าไดรวดเรวมากขน 1.3.2. เพอใหการตรวจสอบวดโอของระบบ E-Learning มความถกตองมากขน 1.3.3. เพอท าใหการบนทกและจดเกบขอมลของการตรวจสอบ วดโอของระบบ
E-Learning สามารถเรยกดและคนหาไดงาย 1.3.4. เพอใหผดแลระบบวดโอของระบบ E-Learning ประหยดเวลาในการตรวจสอบ
ความถกตองของไฟล
1.4. ขอบเขตของโครงงำน 1.4.1. ระบบสามารถตรวจสอบความถกตองของเสยงในวดโอของระบบ E-Learning
ไดเองโดยอตโนมต 1.4.2. ระบบสามารถแจงผลการตรวจสอบเสยงในวดโอไดดงน
เสยงปกต ไมมเสยง / เกดปญหาทางเสยง
2
1.4.3. ระบบสามารถแสดงผลการตรวจสอบอตโนมตจากระบบในรปแบบ Web Interface ได
1.4.4. ระบบสามารถรบการบนทกขอมลและปญหาตางๆของวดโอของระบบ E-Learning จากผดแลระบบไดดงน ปญหาเรองภาพ ปญหาเรองเสยงอนๆ ปญหาอนๆ รายละเอยดของปญหา
1.4.5. ระบบสามารถแสดงผลการตรวจสอบขอผดพลาดของเสยงจากระบบเปนรายวน / สปดาห / เดอน ได
1.4.6. ระบบสามารถแสดงผลการบนทกปญหาจากผดแลระบบเปนรายวน / สปดาห / เดอน ได
1.5. โครงสรำงสำรนพนธ
ในสารนพนธนจะกลาวหวขอตางๆดงตอไปน 1.5.1. บทท 2 กลาวถงทฤษฏทเกยวของทผพฒนาไดน ามาใชในการพฒนาระบบ 1.5.2. บทท 3 กลาวการออกแบบระบบ , โครงสรางและล าดบขนตอนของระบบ ,
ขอมลทเกบลงในฐานขอมล 1.5.3. บทท 4 กลาวถงการทดลองและทดสอบสงตางๆในการน ามาพฒนาในระบบ 1.5.4. บทท 5 กลาวถงสรปผลการด าเนนงานของการท าโครงงานตงแตเรมตน ปญหา
และอปสรรคทพบ วธการแกไข รวมถงแนวทางจะพฒนาตอไปในอนาคต
3
บทท 2 พนฐำนและทฤษฏทเกยวของ
2.1 กลำวน ำ
วตถประสงคของสารนพนธเลมน เพอศกษาและพฒนาระบบตรวจสอบวดโอในระบบ E-Learning โดยอตโนมต และระบบบนทกขอมลของวดโอ ซงระบบดงกลาวจะเกยวของกบทฤษฏองคความร ซงจะมหวขอทศกษาดงน
2.1.1 FFmpeg Library & Software
2.1.2 ASP.Net Framework
2.1.3 Linq & SQLServer
2.1.4 jQuery
2.1.5 Windows Task Scheduler
2.2 FFmpeg Library & Software [1][2]
FFmpeg เปนซอฟตแวรฟร (Free Licensed) ทอยภายใตขอตกลงในรปแบบ LGPL
(Lesser General Public License) หรอ GPL (General Public License)
FFmpeg คอ เฟรมเวรคดานมลตมเดย ทสามารถใชจดการในเรอง decode, encode, transcode , filter , stream รวมไปถงการเลนและอนๆส าหรบไฟลมลตมเดย FFmpeg ถกสรางขนมาเพอใหรองรบสกลไฟลทหลากหลายครบทกสกลไฟลและครบทกรปแบบของการ encode ของไฟลมลตมเดย ใน FFmpeg เฟรมเวรคน นจะประกอบไปดวย library ส าหรบนกพฒนาน า ไป ใช ในก ารพฒ นาโปรแ ก รมตอ เช น libavcodec, libavutil, libavformat, libavfilter, libavdevice, libswscale and libswresample และ software ท ผใชสามารถน าไปใชงานไดเลย เชน ffmpeg, ffserver, ffplay and ffprobe ซ งความสามารถของแตละตวจะกลาวถงในสวนถดไป
2.2.1 Library ตางๆใน FFmpeg
libavcodec คอ library ทประกอบดวยตว encoder และ decoder ของ
วดโอและเสยง ซงถกพฒนามาอยางตอเนองเพอใหท างานไดอยางม
ประสทธภาพทสด libavcodec ถอวาเปน library หลกของ FFmpeg เลยก
วาได
4
libswresample ค อ library ท ใ ช ส า ห ร บ ก า ร ท า resampling ห ร อ
rematrixing ในภาคของเสยง
libavformat คอ library ทใชในเรอง demuxers และ muxers (เกยวกบการ
แปลงสกลไฟล) ส าหรบ audio/video
libavutil คอ library ส าหรบการท าฟงชนทางโปรแกรมมงอยางงายๆ เชน
ฟงชนสมตวเลข, ฟงชนโครงสรางของขอมล, ฟงชนทเกยวกบตวเลข รวม
ไปถ ง Adler-32, CRC, MD5, RIPEMD, SHA-1, SHA-2, และอ นๆอก
มากมาย
libswscale คอ library ทใชจดการในเรอง การแปลงขนาดภาพของวดโอ
และ ชองวางของส(colorspace)/รปแบบของพกเซล(pixelformat)
libavfilter คอ library ทใชในการจดการ filter ตางๆของ video รวมไปถง
การท า subtitle
libavdevice คอ library ทใชจดการกรณทม input/output devices มากกวา
1 ตวและ framework ดานมลตมดมากกวา 1 ชด
2.2.2 Tools ตางๆ ใน FFmpeg
ffmpeg คอเครองมอในรปแบบ command-line ทใชในการแปลงไฟลวดโอ
จากอกรปแบบหนงไปอกแบบหนงได
ร ป แ บ บ ข อ ง ค ำ ส ง ffmpeg [global_options] {[input_file_options] -i ‘input_file’} ... {[output_file_options] ‘output_file’}...
ffserver คอการท า มลตมเดย สตรมมง เซรฟเวอร ในรปแบบ HTTP และ
RTSP ส าหรบการรบชมแบบสด (live)
รปแบบของค ำสง ffserver [options]
ffplay คอตวเลนมลตมเดยแบบงายๆ ทถกสรางบน SDL และ ไลบราร
FFmpeg
รปแบบของค ำสง ffplay [options] [‘input_file’]
ffprobe คอเครองมอในรปแบบของ command-line ใชส าหรบแสดงขอมล
รายละเอยดตางๆของไฟลมเดยนนๆ
รปแบบของค ำสง ffprobe [options] [‘input_file’]
5
ในสวนโครงงานทท าขนนจะใชชดค าสงในสวนของ ffmpeg และ ffprobe เพอใชแสดงขอมลพนฐานตางๆ และขอมลดานเสยงทจะน าไปใชในการวเคราะหรปแบบของเสยงทอยในไฟลวดโอตอไป
2.3 ASP.NET Framework [3]
ASP.NET คอ Framework ตวหนงทใชส าหรบการสรางเวบเพจ หรอเวบไซต ดวย HTML, CSS, JavaScript และ Serverside Script (เชน C# และ VB.NET) ตว ASP.NET ถกบรรจอยใน .NET Framework และรองรบ Model ในการสรางทงหมด 3 รปแบบคอ
2.3.1 Web Page คอการสราง ASP.NET แบบพนฐานทสด โดยใช HTML, CSS,
JavaScript และ server code โดยใช Razor server markup syntax (เขยนโดย Visual Basic
หรอ C#) รปแบบจะคลายๆกบ ภาษา PHP หรอ ASP
2.3.2 MVC คอการแบงการท างานของ Application เปน 3 สวน คอ Model View
และ Control โดย
Model คอ ตวตรรกะตางๆของโปรแกรม
View คอ ตวแสดงผลตดตอกบผใชงาน
Controller คอตวควบคมและตดตอระหวาง View และ Model
2.3.3 Web From คอรปแบบทแบงการเขยน Code ออกเปนสวนหลกๆ 2 สวนคอ
สวนทเปนตวการแสดงผล และอกสวนคอตว Code Behind ทท างานดานหลงหนาแสดงผลนนๆ
สวนนจะควบคมทงการ binding ขอมล , การกดปมตางๆ และฟงชนอนๆ
2.4 LINQ to SQLServer [4]
LINQ (Language-Integrated Query) คอความสามารถหนงในการจดการกบกลมขอมลทถกรวมเขาใน .NET Framework ตงแตเวอรชน 3.5 ขนไป หมายความวา Application ทจะใชความสามารถของ LINQ จะตอง ถกพฒนาดวย Visual Studio 2008 และ .Net Framework 3.5 ขนไป
LINQ นนพฒนามาจากแนวคด ORM (Object Relation Mapping) พดงายๆวาคอการท าการเปลยนตว Table, Query, View, Relation และสงตางๆทอยในฐานขอมล มาเปนขอมลในลกษณะ Object เพอใหงายตอการใชงานในลกษณะ OOP มาจดการกบฐานขอมลเชน ในการเพมขอมล ถาใช LINQ แลว ถาผก Table มาเปน Object หากตองการเพมขอมลกไมตองใช INSERT STATEMENT แตใชค าสง NEW แทนตามลกษณะการใช Object
6
var target = (from p in db.Person where p.id == userid select p).SingleOrDefault();
รปท 2.1 โครงสรางของ LINQ
จากรปท 2.1 แสดงถงการท างานของ LINQ จากบนลงลาง คอเราเขยน code ดวย
ภาษา Programming เชน C# , VB.NET หรอภาษาอนๆใน .NET Framework จาก เมอผพฒนาตองการตดตอกบขอมลตางๆ (Data Source) ในทนไมจ าเปนทจะตอกบ DBMS อยางเดยวกไดอาจจะเปน XML , DataSet , Entity Framework ,Object หรออนๆ ผพฒนาโปรแกรมเพยงแคเขยนค าสงของ LINQ กสามารถตอตอกบ ขอมลนนๆได ซงเปนลดความแตกตางการตดตอขอมลในรปแบบตางๆใหอยในรปแบบเดยวกน ตวอยางเชนเชอมตอดวย Expression Query ของ LINQ จะท าการโหลดขอมลจากฐานขอมลมาส Object IQueryable<> จากนนจะ Execute ค าสงของ LINQ เพอท าการดงคาขอมล
LINQ
SQL
SELECT * FROM Person WHERE id = ‘userid’
7
var target = (from p in db.Person where p. surname.Contain(“sakul”) select p).SingleOrDefault();
LINQ ยงสามารถปรบเปลยน Data Type ขอมลทผกใหมาอยในรปแบบภาษาทพฒนาได เชน ในฐานขอมล เปน varchar ตว LINQ กจะปรบ จาก varchar มาเปน string ให และเมอท าการบนทกกลบไปยงฐานขอมล LINQ กจะท าการเปลยนจาก string กลบมาเปน varchar ไดเชนเดม ตวอยางในรปท 2.2
รปท 2.2 การเปลยนรปแบบของ Data Type
นอกจากนเมอท าการปรบเปลยนรปแบบมาเปน Object แลวท าใหยงสามารถใชค าสง
อนๆในภาษานนๆ เพอชวยในการ Query ขอมลไดอกดวย เชนหากตองการหาขอมลทมค าวา “sakul” อยในนามสกลของรายชอบคคล
SQL
SELECT * FROM Person WHERE surname LIKE ‘%sakul%’
LINQ
นอกจากนประโยชนของ LINQ ยงสามารถลดขอผดพลาด และการเขาถง การโจมตจากภายนอกทมโอกาสเกดขนใน SQL Syntax ไดอกดวย
8
2.5 jQuery [5]
jQuery คอ library ทมพนฐานมากจาก JavaScript โดยจะท าใหเราสามารถใชค าสง เกยวกบจดการหนาเวบฝ งไคลแอนท (Client) รวมไปถงการ Handle เหตการณตางๆ เชน mouse-click , mouse-hover , keypress , keyup และ keydown หรอ สงตางๆทอยบนหนาเวบ เชน button และ textbox ไดงายขนกวาใช JavaScript ทวไปมาก นอกจากนยงสามารถใชงานการดงขอมลขนมาแสดงในรปแบบ AJAX ไดอยางงายขนมากอกดวย นอกจากนน jQuery เปน Library ในลกษณะ Cross-Platform คอรองรบเกอบทก Web Browser น า jQuery Library ไปใชไดด
2.5.1 jQuery ความสามารถโดยสรปของ jQuery มดงน
จดการเกยวกบ HTML/DOM
จดการเกยวกบ CSS
ม Method ตางๆในการควบคมเหตการณ (event) ของ HTML
Effects และ animations
AJAX
Utilities อนๆ
9
2.6 Windows Task Scheduler [6]
Task Scheduler เปน Component หนงใน Microsoft Windows มความสามารถในการตงเวลาในการท างานตางๆ เชน สตารทโปรแกรม หรอรนสครปตตางๆ ใชเพอตองการรนโปรแกรม หรอ สครปตในชวงเวลาหนงๆในทกๆวน ตวอยางหนาตาโปรแกรม ตามรปท 2.3
รปท 2.3 Windows Task Scheduler
ในระบบน า Task Scheduler มาใชเพอนใหท าการ execute สครปตทใชตรวจสอบเสยงของวดโอในเวลาหนงๆในทกๆวน เพราะวาการตรวจสอบเสยงในวดโอนนใชเวลาคอนขางมาก หากจะ execute เอง ณ. เวลานนและท างานตอเลย จะไมสามารถท างานไดเนองจากตองรอผลลพธกอน
10
บทท 3 กำรออกแบบระบบ
3.1 กำรออกแบบ โครงสรำงของระบบ
3.1.1 เวบ E-Learning’s Video Management
ในสวนของหนาจดการและบนทกผลน นการท างานของระบบท างานในรปแบบเวบเซอรวส ไคลเอนท – เซรฟเวอร สามารถเขาถงไดเฉพาะเนตเวรคภายในมหาวทยาลยเทคโนโลยมหานคร ท างานผาน Internet Information Service (IIS) ใช .NET Framework 4.5 โดยเมนในระบบเหนจะเหนแตกตางกนไปตามแตต าแหนงของผเขาใชระบบ สวนในเรองของเวบเบราเซอรผพฒนาระบบขอแนะน าใหใช Google Chrome เพอผลลพธทดทสด
3.1.2 Schedule Scripting
ในสวนการท างานท เปน Schedule Scripting น นจะท างานโดยการต งเวลาจาก Windows Task Scheduler เพอให สครปตเรมท างานตามเวลาทก าหนด ท าการตรวจสอบไฟลเสยง ในการเขาถงไฟลเสยงนนใชวทการ Map Drive ให ตว เซรฟเวอร ทเราใชสครปตเขาไปดงวดโอมาจากระบบ E-Learning มาท าการตรวจสอบ เหตทตองแยกเซรฟเวอรออกจากระบบ E-Learning หลก คอเพอไมใหตองการเปลองทรพยากรในตอนรนค าสงการตรวจสอบเสยงในไฟลวดโอ ซงการตรวจสอบใชเวลานานและใชทรพยากรทมาก และทายสดทนทกผลทผานการวเคราะหมาแลวลงระบบเพอน าไปออกรายงานหรอประกอบการตรวจสอบจากผดแลระบบอกครงหนง
Request
Response
Client
Main E-Learning Server
ELN Management & Sound Detection Server
Get Videos
รปท 3.1 รปแบบการท างานของเซรฟเวอร
11
รป 3.1 แสดงภาพรวมทงหมดของการเขาใชงานของระบบทงหมด คอมการดงวดโอ มา
จาก E-Learning System Server เพอมาท าการตรวจสอบเสยงในไฟลวดโอในแตละวน และผเขาใชงานสามารถเขามาใชงานในลกษณะ ไคลเอนท – เซอรฟเวอร ผานทางเวบเบราเซอร
Client Server
Valid username – password and
Check user position for prepare menu
รปท 3.2 ล าดบในการเขาใชงานระบบ
ในรปท 3.2 แสดงใหเหนวาจากการเขาใชงานระบบจะท าการตรวจสอบต าแหนงของผ
เขาใชงานและเลอกแสดงเมนแคผนนสามารถเขาถงได
3.1.3 กระบวนการทดสอบเกยวกบเสยง
ในการวเคราะหลกษณะเสยงในวดโอ ผพฒนาระบบไดเลอกใช Open-Source Library “FFmpeg” มาชวยในการวเคราะหเสยง ซงใชความสามารถของ Syntax ของ Audio Filter “astats” จะสามารถแจงรายละเอยดไดดงน
DC offset คอ คาเฉลย amplitude จาก 0
Min level คอคากราฟเสยงทต าทสด
Max level คอคากราฟเสยงทสงทสด
Peak level dB คอ คาสงสดของ dB
12
RMS level dB คาเฉลย ของตวกราฟ Round Mean Square หนวยเปน
dB
RMS peak dB คาสงสด ของตวกราฟ Round Mean Square หนวยเปน
dB
โดยผลลพธจะเหนไดจากรปตวอยางท 3.3
รปท 3.3 ผลลพธจากการใชงาน Audio Filter “astats”
จากในรปท 3.3 จะเหนไดวา ผลลพธจะแสดงผลแบงเปน Channel 1 และ Channel 2 หมายถงเสยงทอยในไฟลวดโอน ม 2 Channel
และผพฒนาใช Audio Filter “volumedetect” เพอแสดงระดบความดงของเสยงรวมถง แสดงชวงไหนมเสยงอยกเฟรม โดยรายละเอยดมดงน
n_sample จ านวนเฟรมทงหมดทไดท าการ sample ไป
mean_volume คาเสยงโดยเฉลยของทงไฟลวดโอ
max_volume คาเสยงทสง (ดง) ทสดของทงไฟลวดโอ
histogram_xxdb : xx คอคาเฟรมทมอยในแตละ db
13
ตวอยางตามรปท 3.4
รปท 3.4 ผลลพธการท างานของ Audio Filter “volumedetect”
จากรปท 3.4 จะเหนไดวา ผลลพธมการบอกวา histogram_xxdb มจ านวนเฟรมเปนเทาใดจากจ านวนเฟรมทมการท า sample ทงหมด (n_sample)
หลงจากน นผพฒนาจะน าคาตางๆทไดมาจากซอฟตแวร มาท าการค านวณและวเคราะหเพอน าไปเกบในฐานขอมลและน ามาใชในการประกอบการบนทกขอมลของผดและระบบอกท ในสวนการรายละเอยดและการน าไปใชงานจะไดเหนในบทถดไป
14
3.2 Entity Relation Diagram
ER-Diagram แสดงความสมพนธของขอมลตางๆในฐานขอมล แสดงตามรปท 3.3
รปท 3.5 Entity Relation Diagram ของระบบ
15
3.3 Flow Chart
3.3.1 การตรวจสอบเสยงในไฟลวดโอ E-Learning โดยระบบ
การตรวจสอบเสยงในไฟลวดโอจะมการกระท าในรปแบบประจ าวน ทกๆวน คอวนละ 1 ครง จะวนกระท าจนครบทกวดโอ เมอวดโอไฟลไหนทมความผดปกตของเสยงกจะจดเกบลงในฐานขอมลวาเสยงมปญหา , มความผดปกต แตถาหากไฟลวดโอเสยงปกตกจะเกบลงฐานขอมลวาเสยงไมมความผดปกต ตามรป Flow Chart ท 3.4
รน สครปตไฟลเพอตรวจสอบเสยงในวดโอ
ตรวจสอบมความผดปกตของเสยงในไฟลวดโอหรอไม
ถาเสยงในไฟลวดโอปกตจดเกบขอมลในฐานขอมลวาปกต
ถาเสยงในไฟลวดโอไมปกตจดเกบในฐานขอมลวาไมปกต
วนรอบกระท าจนถงวดโอสดทาย
รปท 3.6 Flow Chart แสดงการตรวจสอบโดยระบบประจ าวน
Start
Run schedule script for check audio in each
videos
Video files
Checked result
Database
End
Audio Problem ?
Status : Normal
Status : Error
N Y
Y
Check all videos ?
N
16
3.3.2 การเขาใชงานระบบ
การเขาใชงานระบบจะเรมจากผเขาใชงานระบบจะตองท าการใส Username และ Password เพอท าการยนยนการเขาใชระบบหลงจากนนระบบจะท าการตรวจสอบสทธในการเขาถงของผทเขาใชระบบ ถาหากต าแหนงของผเขาใชมต าแหนงเปน “Administrator” จะสามารถเหนเมนไดทงหมด แตถาหากผเขาใชงานมต าแหนงเปนอยางอนจะสามารถเขาใชเพอดหรอออกรายงานไดเทานน ล าดบกระบวนการจะเปนแบบตามรป Flow Chart ท 3.5
Start
End
User login
Success ?
Show checked video's audio
result and management page
N
Y
User position = Administrator ?
YShow generated
report pageN
รปท 3.7 Flow Chart การเขาใชงานระบบ
17
3.3.3 การตรวจสอบภาพรวมของไฟลวดโอโดยผดแล
หลงจากท าการเขาใชงานระบบเสรจ ระบบจะแสดงผลการตรวจสอบเสยงของวดโอจากระบบ พรอมกบหนารอรบขอมลการตรวจสอบภาพรวมของวดโอในแตละวน หลงจากผดแลตรวจสอบเสรจ ระบบจะท าการบนทกผลลงในฐานขอมล กระบวนการล าดบตามรป Flow Chart ท 3.6
แสดงผลลพธการตรวจสอบพรอมหนารอรบการตรวจสอบขอมล
ผดแลระบบตรวจสอบแตละวดโอ
ถาวดโอมความผดปกต ผดแลระบบจะบนทกผลตามอาการ
ตรวจสอบจนครบทกวดโอและบนทกผลลงฐานขอมล
Start
Show checked video’s audio result with Management
page
Admin check for each video
Databases
End
Save admin all commented and
result to database
Did the video have any issue ?
Admin comment Description for the
video’s issueY
N
N
Y
Lasted video ?
รปท 3.8 Flow Chart แสดงการท างานตรวจสอบภาพรวมจากผดแล
18
3.3.4 การเรยกดรายงาน
ถาผดแลระบบตองการดรายงานสามารถเลอกรปแบบรายงานวาจะเปนรายงานทมาจากระบบหรอรายงานทมาจากการบนทกจากผดแลได และสามารถเลอกไดวาจะออกเปนรายวน รายสปดาห รายเดอน หรอเลอกชวงของวน เลอกเสรจระบบจะดงขอมลทจดเกบจากฐานขอมลขนมาแสดงบนหนาจอตามทผดแลเลอก ตามรป Flow Chart ท 3.7
ผดแลระบบเลอกเลอกประเภทของรายงาน และ วนหรอชวงของรายงงานท
ตองการทราบ
ระบบจะดงขอมลจากฐานขอมลมาแสดงตามผดแลระบบเลอก
แสดงขอมลรายงานทางหนาจอ
Start
User Request Report
Show generated
report
End
User select type of report
User select date rage
DatabaseGenerate report from Database
รปท 3.9 Flow Chart แสดงการเรยกดรายงาน
19
3.3.5 การปรบและตงคาตางๆในระบบ
ในระบบจะสามารถตงคาตางๆไดทงหมด 2 สวนนนคอ
การตงคาโปรไฟลคากลางของเสยงในแตละหอง เพอใชในการตรวจสอบ
ไฟลวดโอ
ตงคาวนและเดอนทเปดเทอมในแตละเทอม และวนปดเทอมในแตละเทอม
เพอใชในการออกรายงาน
Start
Setting room profile
Set new value
DatabaseSetting
semester start & end range
Set new value
Show changed value to
user
End
N
Y
Y
N
รปท 3.10 Flow Chart การตงคาตางๆในระบบ
20
3.4 กำรออกแบบฐำนขอมล
3.4.1 ตารางทใชเกบชดของขอมลรายวชาทเปดสอนเปนตารางทใชเกบขอมลจ าเพาะ
ของรายวชาตางๆ เพอใช อางองในการท างานสวนอนๆของระบบ
ตำรำงท 3.1 ตาราง class
Attribute Type Length Description Key Comment
id int 10 รหสประจ าชดของวชา
PK Auto Increment
subjectcode varchar 10 รหสประจ าวชา teachdate varchar 3 วนทสอน ภาษาองกฤษ 3
ตว เชน MON , TUE , WED
room varchar 3 หองทสอน e.g. Q104 type varchar 3 ประเภทของวชา LEC or LAB period int - ล าดบของคาบเรยน 1 , 2 or 3 semester int - เทอมการศกษา year int - ปการศกษา
3.4.2 ตารางทใชเกบขอมลรายวชาทมการสอนวนและเวลาเดยวกนมากกวา 1 วชา
ตำรำงท 3.2 ตาราง replicateclass
Attribute Type Length Description Key Comment
id int - รหสประจ าชดของวชา PK Auto Increment classid int - รหสอางองรหสประจ า
ชดของวชา FK
subjectcode varchar 10 รหสประจ าวชา
3.4.3 ตารางทท าหนาทเกบรายชอผใชงานในระบบโดยมการก าหนดต าแหนงเพอระบ
ระดบการเขาใชงาน
21
ตำรำงท 3.3 ตาราง user
Attribute Type Length Description Key Comment
id int - รหสประจ าตวของผเขาใชงาน
PK Auto Increment
fullname varchar MAX ชอของผเขาใชงาน FK username varchar MAX ชอทใชเขาใชระบบ password varchar MAX รหสผานในการเขาใช
ระบบ Hash with MD5
position Int - รหสอางองต าแหนง FK lastedlogin Datetime - วนเวลาทเขาใชงาน
ลาสด
3.4.4 ตารางทใชเกบขอมลต าแหนง
ตำรำงท 3.4 ตาราง userposition
Attribute Type Length Description Key Comment
positionid int - รหสต าแหนง PK Auto Increment positiondesc varchar MAX ต าแหนง
3.4.5 ตารางทใชเกบขอมลการตรวจสอบเสยงของวดโอโดยระบบ
การตรวจสอบเสยงในวดโอจากระบบเมอท าการตรวจสอบเสรจในแตละวดโอแลวจะท าการเกบขอมลและค าอธบายเรองเสยงไวในตาราง systemreport
ตำรำงท 3.5 ตาราง systemreport
Attribute Type Length Description Key Comment id int - รหสประจ าชดของการตรวจสอบ PK Auto Increment classid int - รหสอางองรหสประจ าชดของวชา FK soundstatus int - รหสอางองผลลพธของเสยงทได FK checkdatetime datetime - วนเวลาทท าการบนทกผล
22
3.4.6 ตารางทใชเกบรปแบบผลลพธของเสยงทจะได
ตำรำงท 3.6 ตาราง systemsoundstatus
Attribute Type Length Description Key Comment status int - รหสของสเตตส PK Auto Increment statusdesc varchar MAX ค าอธบายของผลลพธของเสยง
3.4.7 ตารางเกบขอมลการตรวจสอบภาพรวมวดโอโดยผดแลระบบ
เปนตารางเกบขอมลในภาพรวม เมอผดแลระบบดผลการตรวจสอบเสยงในวดโอจากระบบแลวผดแลระบบจะตรวจสอบเรองอนๆเพมเตม
ตำรำงท 3.7 ตาราง humanreport
Attribute Type Length Description Key Comment
id int - รหสประจ าชดของการตรวจสอบ
PK Auto Increment
classid int - รหสอางองรหสประจ าชดของวชา
FK
refsystemreport int - รหสอางองขอมลจากการตรวจสอบจากระบบ
FK
soundstatus int - เสยงจากการตรวจสอบ FK sounddesc varchar MAX ค าอธบายของเสยงจากการ
ตรวจสอบ
videostatus int - วดโอจากการตรวจสอบ FK videodesc varchar MAX ค าอธบายของวดโอจากการ
ตรวจสอบ
comment varchar MAX ขอคดเหนเพมเตม savedatetime datetime - วนเวลาทท าการตรวจสอบ editdatetime datetime - วนเวลาทท าการปรบปรงลาสด saveby int - ผทท าการบนทกขอมล FK editby int - ผทท าการปรบปรงขอมลลาสด FK
23
3.4.8 ตารางทใชเกบผลลพธของทงเสยงและวดโอ
ตำรำงท 3.8 ตาราง commonstatus
Attribute Type Length Description Key Comment status int - รหสของสเตตส PK Auto Increment statusdesc varchar MAX ค าอธบายของผลลพธ
3.4.9 ตารางเกบขอมลการเรยกดรายงาน
ท าหนาทจดเกบการเรยกดรายงานแตละครง จะท าการเกบชวงของรายงานทท าการด วนทดรายงาน และประเภทรายงาน
ตำรำงท 3.9 ตาราง requestreport
Attribute Type Length Description Key Comment
id int - รหสประจ าชดของ log PK Auto Increment startdate date วนทเรมตนของรายงาน enddate date วนทสนสดของรายงาน requestdate datetime วนทเรยกดรายงาน requesttype int - ประเภทของรายงาน FK requestby int - ผทเรยกดรายงาน FK filename varchar 50 เกบชอไฟลทท าการตรวจสอบ
3.4.10 ตารางทใชเกบรปแบบของประเภทของรายงาน
ตำรำงท 3.10 ตาราง commonstatus
Attribute Type Length Description Key Comment typeid int - รหสของประเภทของรายงาน PK Auto Increment typedesc varchar MAX ค าอธบาย
24
3.4.11 ตารางทใชเกบการตงคาระดบเสยงทใชตรวจสอบในแตละหอง
ตำรำงท 3.11 ตาราง roomprofile
Attribute Type Length Description Key Comment id int - หองแตละหอง PK meandb int - ระดบเสยง โดยเฉลย maxdb int - ระดบเสยง สงสด mindb int - ระดบเสยง ต าสด
3.4.12 ตารางทใชเกบการตงคาของชวงการเรมตนเทอมและปดเทอมในแตละเทอม
ตำรำงท 3.12 ตาราง semestersetting
Attribute Type Length Description Key Comment semester int - ล าดบของเทอม PK ภาคเรยน (1-3) startsemester int - วนเรมภาคเรยน endsemester int - วนจบภาคเรยน
25
บทท 4 กำรทดลองและผลกำรทดลอง
4.1. กำรใชงำน FFmpeg
FFmpeg เปนซอฟตแวรทใชในลกษณะค าสง (command) และท างานบน command-line กอนทจะสามารถใชงาน FFmpeg ไดจ าเปนจะตองตดตง FFmpeg ใหเรยบรอยกอน และในการน าไปใชงานเพอจะใหไดผลลพธออกมาถกตองจ าเปนตองทราบถง ไวยากรณ (syntax) ทถกตองจงจะสามารถใชงานได
4.1.1. รปแบบค าสงของ FFmpeg ทน ามาใชงาน ในระบบทออกแบบน ไดใช FFmpeg เพอใหแสดงของมลรายละเอยดเรองเสยง ของ
Video โดยจะใชทงหมด 2 ค าสง ดงนนรปแบบค าสงทเราตองใชจะเปนดงน ค าสงแรกคอ “astats” มรปแบบดงน “ffmpeg -i video.wmv -af astats -f null NUL 2> video.txt” อธบายรปแบบค าสงไดดงน
ffmpeg คอชอของค าสง -i คอ input ก าหนดไฟลทสนใจ video.wmv คอชอของไฟลทสนใจ -af คอการใช audio filter astats เปนค าสงยอยของ audio filter อกท ใชเพอใหแสดงรายละเอยด
ขอมลทงหมดของเสยง -f คอ file ใชส าหรบก าหนดวดโอ output ในทนก าหนดเปน null NUL เพอ
ไมตองใหมไฟลวดโอ output ออกมา 2>video.txt คอใหบนทกการท างานและผลลพธในรปแบบ textfile
ใน Windows ตองอางอง directory / path ตามทอยจรงของไฟลวดโอ และ output ทจะออกมาตวอยางในรปท 4.1
รปท 4.1 ตวอยางการใชงานค าสง
26
เมอโปรแกรมเรมท างานจะแสดง รายละเอยดเวอรชนของ library ทเราใชและ metadata ของไฟลวดโอทเราอางองถง โปรแกรมจะท าการตรวจสอบเสยงในแตละเฟรมตงแตเรมวดโอจนกระทงจบวดโอตามรปท 4.2
รปท 4.2 ขณะทค าสงของ ffmpeg ท างาน
27
เมอโปรแกรมท างานเสรจจะไดผลลพธเปนรายละเอยดตางๆเกยวกบเสยง ถาหากระบบเสยงเปน Stereo ตวโปรแกรมจะแสดงแยกเปน Channel ให ดงรปท 4.3 แสดงผลลพธของการท างานของโปรแกรม
รปท 4.3 ผมลพธจากการใชงานค าสง FFmpeg
ค าสงท 2 ค าสง “volumedetect” จะมรปแบบค าสงคลายกบ “astats” ดงน ffmpeg -i video.wmv" -af volumedetect -f null -y null อธบายค าสงไดดงน
ffmpeg คอชอของค าสง -i คอ input ก าหนดไฟลทสนใจ video.wmv คอชอของไฟลทสนใจ -af คอการใช audio filter
28
volumedetect เปนค าสงยอยของ audio filter อกท ใชแสดงระดบของเสยงในแตละเฟรม
-f คอ file ใชส าหรบก าหนดวดโอ output ในทนก าหนดเปน null เพอไมตองใหมไฟลวดโอ output ออกมา
-y null คอไมตองการใชม output อนๆเพมเตมออกมา ตวอยางค าสงดไดในรปท 4.4
รปท 4.4 ตวอยางค าสงของ “volumedetect”
4.1.2. ผลลพธจากการการทดสอบใชค าสงของ FFmpeg “astats” เพอตรวจสอบเสยงในวดโอ
ในการทดสอบไดทดสอบวดโอทงหมด 5 รปแบบ วดโอทมเสยงปกต , วดโอทผสอนไมใชไมค, วดโอทไมมการเรยนการสอน, วดโอทมเสยงรบกวน(noise), วดโอทเสยงดงเกนปกต ผลลพธเปนดงตอไปน
วดโอทมเสยงปกต (ทดสอบ 3 ครง)
ไฟล ITEC0214-LEC-2556-1-Q210-25560906-P2.wmv [Parsed_astats_0 @ 00000000025a0360] Overall [Parsed_astats_0 @ 00000000025a0360] DC offset: 0.000036 [Parsed_astats_0 @ 00000000025a0360] Min level: -0.411128 [Parsed_astats_0 @ 00000000025a0360] Max level: 0.413471 [Parsed_astats_0 @ 00000000025a0360] Peak level dB: -7.671093 [Parsed_astats_0 @ 00000000025a0360] RMS level dB: -39.769499 [Parsed_astats_0 @ 00000000025a0360] RMS peak dB: -17.450205 [Parsed_astats_0 @ 00000000025a0360] RMS trough dB: -56.307030 [Parsed_astats_0 @ 00000000025a0360] Flat factor: 0.000000 [Parsed_astats_0 @ 00000000025a0360] Peak count: 2.000000 [Parsed_astats_0 @ 00000000025a0360] Number of samples: 396873728
ไฟล ITEC1100-LEC-2556-1-Q208-25560909-P1.wmv [Parsed_astats_0 @ 00000000003bc900] Overall [Parsed_astats_0 @ 00000000003bc900] DC offset: -0.000019 [Parsed_astats_0 @ 00000000003bc900] Min level: -1.021574 [Parsed_astats_0 @ 00000000003bc900] Max level: 1.062882 [Parsed_astats_0 @ 00000000003bc900] Peak level dB: 0.529699 [Parsed_astats_0 @ 00000000003bc900] RMS level dB: -30.175918
29
[Parsed_astats_0 @ 00000000003bc900] RMS peak dB: -8.332395 [Parsed_astats_0 @ 00000000003bc900] RMS trough dB: -69.572371 [Parsed_astats_0 @ 00000000003bc900] Flat factor: 0.000000 [Parsed_astats_0 @ 00000000003bc900] Peak count: 2.000000 [Parsed_astats_0 @ 00000000003bc900] Number of samples: 396902400
ไฟล ITEC1207-LEC-2556-1-Q209-25560828-P1.wmv [Parsed_astats_0 @ 0000000000388620] Overall [Parsed_astats_0 @ 0000000000388620] DC offset: -0.002746 [Parsed_astats_0 @ 0000000000388620] Min level: -2.224349 [Parsed_astats_0 @ 0000000000388620] Max level: 1.689482 [Parsed_astats_0 @ 0000000000388620] Peak level dB: 6.944058 [Parsed_astats_0 @ 0000000000388620] RMS level dB: -17.161953 [Parsed_astats_0 @ 0000000000388620] RMS peak dB: -1.876442 [Parsed_astats_0 @ 0000000000388620] RMS trough dB: -64.384234 [Parsed_astats_0 @ 0000000000388620] Flat factor: 0.000000 [Parsed_astats_0 @ 0000000000388620] Peak count: 2.000000 [Parsed_astats_0 @ 0000000000388620] Number of samples: 396875776
วดโอทผสอนไมใชไมค (ทดสอบ 3 ครง)
ไฟล ITEC0803-LEC-2556-1-Q202-25560901-P2.wmv [Parsed_astats_0 @ 00000000024cdd00] Overall [Parsed_astats_0 @ 00000000024cdd00] DC offset: -0.000010 [Parsed_astats_0 @ 00000000024cdd00] Min level: -0.007860 [Parsed_astats_0 @ 00000000024cdd00] Max level: 0.009109 [Parsed_astats_0 @ 00000000024cdd00] Peak level dB: -40.811015 [Parsed_astats_0 @ 00000000024cdd00] RMS level dB: -69.811917 [Parsed_astats_0 @ 00000000024cdd00] RMS peak dB: -60.015275 [Parsed_astats_0 @ 00000000024cdd00] RMS trough dB: -73.183004 [Parsed_astats_0 @ 00000000024cdd00] Flat factor: 0.000000 [Parsed_astats_0 @ 00000000024cdd00] Peak count: 2.000000 [Parsed_astats_0 @ 00000000024cdd00] Number of samples: 345573376
ไฟล ITEC1102-LAB-2556-1-Q106-25560906-P1.wmv [Parsed_astats_0 @ 000000000259c400] Overall [Parsed_astats_0 @ 000000000259c400] DC offset: -0.000021 [Parsed_astats_0 @ 000000000259c400] Min level: -0.002351 [Parsed_astats_0 @ 000000000259c400] Max level: 0.003489 [Parsed_astats_0 @ 000000000259c400] Peak level dB: -49.145242 [Parsed_astats_0 @ 000000000259c400] RMS level dB: -71.526322 [Parsed_astats_0 @ 000000000259c400] RMS peak dB: -60.247429 [Parsed_astats_0 @ 000000000259c400] RMS trough dB: -76.468227 [Parsed_astats_0 @ 000000000259c400] Flat factor: 0.000000 [Parsed_astats_0 @ 000000000259c400] Peak count: 2.000000
30
[Parsed_astats_0 @ 000000000259c400] Number of samples: 396865536
ไฟล NETE0513-LEC-2556-1-Q206-25560825-P1.wmv [Parsed_astats_0 @ 00000000026be3e0] Overall [Parsed_astats_0 @ 00000000026be3e0] DC offset: 0.000020 [Parsed_astats_0 @ 00000000026be3e0] Min level: -1.359107 [Parsed_astats_0 @ 00000000026be3e0] Max level: 1.360370 [Parsed_astats_0 @ 00000000026be3e0] Peak level dB: 2.673141 [Parsed_astats_0 @ 00000000026be3e0] RMS level dB: -50.451989 [Parsed_astats_0 @ 00000000026be3e0] RMS peak dB: -5.500102 [Parsed_astats_0 @ 00000000026be3e0] RMS trough dB: -73.249958 [Parsed_astats_0 @ 00000000026be3e0] Flat factor: 0.000000 [Parsed_astats_0 @ 00000000026be3e0] Peak count: 2.000000 [Parsed_astats_0 @ 00000000026be3e0] Number of samples: 345573376
วดโอทไมมการเรยนการสอน (ทดสอบ 3 ครง) ไฟล ITEC1203-LAB-2556-1-Q101-25560808-P1.wmv
[Parsed_astats_0 @ 000000000259c260] Overall [Parsed_astats_0 @ 000000000259c260] DC offset: 0.000082 [Parsed_astats_0 @ 000000000259c260] Min level: -1.411043 [Parsed_astats_0 @ 000000000259c260] Max level: 1.836447 [Parsed_astats_0 @ 000000000259c260] Peak level dB: 5.279569 [Parsed_astats_0 @ 000000000259c260] RMS level dB: -44.343319 [Parsed_astats_0 @ 000000000259c260] RMS peak dB: -4.031389 [Parsed_astats_0 @ 000000000259c260] RMS trough dB: -79.138267 [Parsed_astats_0 @ 000000000259c260] Flat factor: 0.000000 [Parsed_astats_0 @ 000000000259c260] Peak count: 2.000000 [Parsed_astats_0 @ 000000000259c260] Number of samples: 396845056
ไฟล ITEC1317-LEC-2556-1-Q201-25560904-P2.wmv [Parsed_astats_0 @ 00000000003bc820] Overall [Parsed_astats_0 @ 00000000003bc820] DC offset: 0.000065 [Parsed_astats_0 @ 00000000003bc820] Min level: -0.006142 [Parsed_astats_0 @ 00000000003bc820] Max level: 0.008058 [Parsed_astats_0 @ 00000000003bc820] Peak level dB: -41.875602 [Parsed_astats_0 @ 00000000003bc820] RMS level dB: -71.390569 [Parsed_astats_0 @ 00000000003bc820] RMS peak dB: -59.646676 [Parsed_astats_0 @ 00000000003bc820] RMS trough dB: -80.251245 [Parsed_astats_0 @ 00000000003bc820] Flat factor: 0.000000 [Parsed_astats_0 @ 00000000003bc820] Peak count: 2.000000 [Parsed_astats_0 @ 00000000003bc820] Number of samples: 396851200
31
ไฟลITEC1207-LAB-2556-1-Q108-25560904-P2.wmv [Parsed_astats_0 @ 000000000259df20] Overall [Parsed_astats_0 @ 000000000259df20] DC offset: 0.000051 [Parsed_astats_0 @ 000000000259df20] Min level: -0.002904 [Parsed_astats_0 @ 000000000259df20] Max level: 0.002534 [Parsed_astats_0 @ 000000000259df20] Peak level dB: -50.740029 [Parsed_astats_0 @ 000000000259df20] RMS level dB: -71.260370 [Parsed_astats_0 @ 000000000259df20] RMS peak dB: -60.258666 [Parsed_astats_0 @ 000000000259df20] RMS trough dB: -75.969601 [Parsed_astats_0 @ 000000000259df20] Flat factor: 0.000000 [Parsed_astats_0 @ 000000000259df20] Peak count: 2.000000 [Parsed_astats_0 @ 000000000259df20] Number of samples: 396857344
วดโอทมเสยงรบกวน (ทดสอบ 3 ครง) ไฟล ITEC2400-LEC-2556-1-Q206-25560821-P2.wmv
[Parsed_astats_0 @ 000000000264c480] Overall [Parsed_astats_0 @ 000000000264c480] DC offset: -0.008842 [Parsed_astats_0 @ 000000000264c480] Min level: -2.256210 [Parsed_astats_0 @ 000000000264c480] Max level: 1.993995 [Parsed_astats_0 @ 000000000264c480] Peak level dB: 7.067592 [Parsed_astats_0 @ 000000000264c480] RMS level dB: -17.836353 [Parsed_astats_0 @ 000000000264c480] RMS peak dB: -1.843807 [Parsed_astats_0 @ 000000000264c480] RMS trough dB: -50.446201 [Parsed_astats_0 @ 000000000264c480] Flat factor: 0.000000 [Parsed_astats_0 @ 000000000264c480] Peak count: 2.000000 [Parsed_astats_0 @ 000000000264c480] Number of samples: 396922880
ไฟล MTEC1206-LAB-2556-1-Q104-25560604-P2.wmv [Parsed_astats_0 @ 000000000276c760] Overall [Parsed_astats_0 @ 000000000276c760] DC offset: 0.000048 [Parsed_astats_0 @ 000000000276c760] Min level: -1.818894 [Parsed_astats_0 @ 000000000276c760] Max level: 1.667083 [Parsed_astats_0 @ 000000000276c760] Peak level dB: 5.196147 [Parsed_astats_0 @ 000000000276c760] RMS level dB: -26.359905 [Parsed_astats_0 @ 000000000276c760] RMS peak dB: -6.600623 [Parsed_astats_0 @ 000000000276c760] RMS trough dB: -36.539686 [Parsed_astats_0 @ 000000000276c760] Flat factor: 0.000000 [Parsed_astats_0 @ 000000000276c760] Peak count: 2.000000 [Parsed_astats_0 @ 000000000276c760] Number of samples: 396873728
32
ไฟล MTEC1311-LEC-2556-1-Q202-25560902-P2.wmv [Parsed_astats_0 @ 000000000261fc00] Overall
[Parsed_astats_0 @ 000000000261fc00] DC offset: -0.000011 [Parsed_astats_0 @ 000000000261fc00] Min level: -0.447670 [Parsed_astats_0 @ 000000000261fc00] Max level: 0.518715 [Parsed_astats_0 @ 000000000261fc00] Peak level dB: -5.701428 [Parsed_astats_0 @ 000000000261fc00] RMS level dB: -37.862308 [Parsed_astats_0 @ 000000000261fc00] RMS peak dB: -15.232222 [Parsed_astats_0 @ 000000000261fc00] RMS trough dB: -72.870194 [Parsed_astats_0 @ 000000000261fc00] Flat factor: 0.000000 [Parsed_astats_0 @ 000000000261fc00] Peak count: 2.000000 [Parsed_astats_0 @ 000000000261fc00] Number of samples: 396879872
วดโอทเสยงดงเกนปกต (ทดสอบ 2 ครง) ไฟล ITEC1203-LAB-2556-1-Q101-25560829-P1.wmv
[Parsed_astats_0 @ 00000000003bf360] Overall [Parsed_astats_0 @ 00000000003bf360] DC offset: 0.035941 [Parsed_astats_0 @ 00000000003bf360] Min level: -2.216043 [Parsed_astats_0 @ 00000000003bf360] Max level: 2.601834 [Parsed_astats_0 @ 00000000003bf360] Peak level dB: 8.305593 [Parsed_astats_0 @ 00000000003bf360] RMS level dB: -12.495101 [Parsed_astats_0 @ 00000000003bf360] RMS peak dB: -0.620710 [Parsed_astats_0 @ 00000000003bf360] RMS trough dB: -68.592757 [Parsed_astats_0 @ 00000000003bf360] Flat factor: 0.000000 [Parsed_astats_0 @ 00000000003bf360] Peak count: 2.000000 [Parsed_astats_0 @ 00000000003bf360] Number of samples: 396877824
ไฟล MTEC1311-LAB-2556-1-Q104-25560826-P3.wmv
[Parsed_astats_0 @ 00000000002ee0a0] Overall [Parsed_astats_0 @ 00000000002ee0a0] DC offset: -0.020534 [Parsed_astats_0 @ 00000000002ee0a0] Min level: -2.614288 [Parsed_astats_0 @ 00000000002ee0a0] Max level: 2.670185 [Parsed_astats_0 @ 00000000002ee0a0] Peak level dB: 8.530826 [Parsed_astats_0 @ 00000000002ee0a0] RMS level dB: -15.498028 [Parsed_astats_0 @ 00000000002ee0a0] RMS peak dB: -1.024503 [Parsed_astats_0 @ 00000000002ee0a0] RMS trough dB: -50.786312 [Parsed_astats_0 @ 00000000002ee0a0] Flat factor: 0.000000 [Parsed_astats_0 @ 00000000002ee0a0] Peak count: 2.000000 [Parsed_astats_0 @ 00000000002ee0a0] Number of samples: 396871680
33
จากขอมลขางตนท าสรปในรปแบบตารางไดดงรปท 4.4 และ 4.5
รปท 4.5 สรปผลในรปแบบตาราง (1)
รปท 4.6 สรปผลในรปแบบตาราง (2)
จากรปท 4.5 และ 4.6 สามารถสรปภาพรวมไดวาวดโอทเสยงดงเกนปกตนน Peak level จะมคามากกวา 8 dB สวนวดโอทไมมการเรยนการสอนนนโดยเฉลยจะมคาของ RMS level ทต ากวา -40 และวดโอทปกตสวนใหญจะม Peak Level ทมากกวา -10 แตไมถง 8
34
4.1.3. ผลลพธจากการการทดสอบใชค าสงของ FFmpeg “volumedetect” เพอตรวจสอบเสยงในวดโอ
ในการทดสอบไดทดสอบวดโอทงหมด 5 รปแบบ วดโอทมเสยงปกต , วดโอทผสอนไมใชไมค, วดโอทไมมการเรยนการสอน, วดโอทมเสยงรบกวน(noise), วดโอทเสยงดงเกนปกต ผลลพธเปนดงตอไปน
วดโอทมเสยงปกต ผลลพธเปนตามรปท 4.7
รปท 4.7 ผลลพธของค าสง “volumedetect” ทเกดขนกบไฟลวดโอปกต
วดโอทไมมการใชไมค ผลลพธเปนตามรปท 4.8
รปท 4.8 ผลลพธของค าสง “volumedetect” ทเกดขนกบไฟลวดโอทผสอนไมใชไมค
35
วดโอทไมมการเรยนการสอน ผลลพธเปนตามรปท 4.9
รปท 4.9 ผลลพธของค าสง “volumedetect” ทเกดขนกบไฟลวดโอทไมมการเรยนการสอน
วดโอทมเสยงรบกวน (noise) ผลลพธเปนตามรปท 4.10
รปท 4.10 ผลลพธของค าสง “volumedetect” ทเกดขนกบไฟลวดโอทมเสยงรบกวน
36
วดโอทมเสยงดงเกนปกต ผลลพธเปนตามรปท 4.11
รปท 4.11 ผลลพธของค าสง “volumedetect” ทเกดขนกบไฟลวดโอทเสยงดงเกนปกต
โดยสรปรวมอยในรปแบบตารางจะไดดงรปท 4.12 และ 4.13
รปท 4.12 ผลลพธของค าสง “volumedetect” แสดงในรปแบบตาราง (1)
Topic
Room Q108 Q208 Q210 Q101 Q101 Q101
Subject ITEC1207 ITEC1100 ITEC0214 ITEC1203 ITEC1307 NETI0102
n_samples 793702400 793804800 793747456 793755648 793800704 793800704
mean_volume (dB) -24.1 -30.2 -39.8 -12.8 -16.7 -13.2
max_volume (dB) 0 0 -7.7 0 0 0
start histogram 0 0 7 0 0 0
end histrogram 5 10 21 0 0 0
histogram_srtart db 62573 776 80 16188588 6527703 19101188
histogram_0db (0 is Null) 62573 776 0 16188588 6527703 19101188
high histogram % (db) 5 10 21 0 0 0
highest histogram value 437918 426996 411640 16188588 6527703 19101188
0dB % per samples 0.007884 0.000098 0.000000 2.039493 0.822335 2.406295
start dB % per samples 0.007884 0.000098 0.000010 2.039493 0.822335 2.406295
high db % per samples 0.055174 0.053791 0.051860 2.039493 0.822335 2.406295
Mean > -20
Mean < - 50
Mean > -50 && Max < - 20
Mean > -50 && Max < - 40
Normal Too Loud
37
รปท 4.13 ผลลพธของค าสง “volumedetect” แสดงในรปแบบตาราง (2)
จากขอมลสรปดงกลาว (รปท 4.12 และ 4.13) จะเหนไดวาวดโอทมเสยงดงเกนปกตนนจะมเฟรมท db เขาใกล 0 มากและ ตว mean_volume จะมคาทเขาใกล 0 มากกวา วดโอทเกดเหตการณแบบอน ในทางตรงกนขาม วดโอทไมมการใชไมคในการสอน และไมมการเรยนการสอนในคาบนน ทงคา mean_volume และ max_volume จะออกหางจาก 0 คอนขางมาก (ตดลบมาก) ในขณะทวดโอทปกตทวไปจะอยระหวางกลาง คอตดลบไมมาก ไมนอย สวนวดโอทมเสยงรบกวนนนยากทจะตรวจสอบได
4.2. กำรใชงำนสครปตรวมกบ Windows Task Scheduler
รปท 4.14 หนาจอของ Windows Task Scheduler
Topic
Room Q106 Q202 Q202 Q101 Q108 Q201 Q101 Q104 Q206
Subject ITEC1102 ITEC0801 MTEC2404 ITEC1203 ITEC1207 ITEC1317 ITEC1203 MTEC1206 ITEC2400
n_samples 793731072 691208192 793722880 793690112 793714688 793702400 793690112 793747456 793845760
mean_volume (dB) -71.5 -69.5 -68.8 -44.4 -71.3 -71.4 -44.4 -26.4 -17.9
max_volume (dB) -49.2 -24.4 -24.8 0 -50.8 -41.9 0 0 0
start histogram 49 24 24 0 50 41 0 0 0
end histrogram 61 56 55 28 59 60 28 8 0
histogram_srtart db 74 4 6 2210 2 1 2210 10720 2730483
histogram_0db (0 is Null) 0 0 0 2210 0 0 2210 10720 2730483
high histogram % (db) 61 56 55 28 59 60 28 8 0
highest histogram value 1455091 592887 427345 494112 548440 615442 494112 483501 2730483
0dB % per samples 0.000000 0.000000 0.000000 0.000278 0.000000 0.000000 0.000278 0.001351 0.343956
start dB % per samples 0.000009 0.000001 0.000001 0.000278 0.000000 0.000000 0.000278 0.001351 0.343956
high db % per samples 0.183323 0.085775 0.053841 0.062255 0.069098 0.077541 0.062255 0.060914 0.343956
Mean > -20
Mean < - 50
Mean > -50 && Max < - 20
Mean > -50 && Max < - 40
NoiseNo Mic No Lecture
38
จากรปท 4.14 การท างานเรมดวยตงคา Task ใน Windows Task Scheduler ให โปรแกรม ELN.exe ท างาน โดยทางผพฒนาไดตงเวลาให ELN.exe ท างานในเวลา 02.00น. ของทกๆวน เนองจาก ในเวลาชวงนมการเขาใชงานทต า ไมท าใหการท างานของเซรฟเวอรหนกเกนไป จากนน ELN.exe จะท างานโดยจะท าการรนสครปตทอธบายไวในหวขอทแลวกบทกๆไฟลจนหมดในแตละวน ตวอยางรปการท างานดไดในรปท 4.15
รปท 4.15 หนาจอขณะ ELN.exe ท างาน
เมอเสรจสนการตรวจสอบไฟลในแตละไฟลจะน าผลลพธไปตรวจสอบและวเคราะห วาผลลพธนนจะเขาในกรณไหนและจดเกบลงในฐานขอมลดงในรปท 4.16
รปท 4.16 ขอมลทเกบลงในฐานขอมล
39
และในเบองตนผพฒนาระบบจดแบงรปแบบของเสยงเปน 5 รปแบบดงน 4.2.1. ปกต 4.2.2. เสยงดงเกนไป 4.2.3. อาจจะเสยงดงเกนไป 4.2.4. ไมมเสยง 4.2.5. อาจจะไมมเสยง โดยสถานะตางๆอาจจะเพม ลด หรอเปลยนแปลงไดเนองจากมการเกบสถานไวใน
ฐานขอมลดงรปท 4.17
รปท 4.17 รปแบบของผลลพธของเสยงทออกมาจากระบบ
หลงจากตรวจสอบเสรจเรยบรอยแลว สครปต ELN.exe จะท าการบนทก log ใน
ลกษณะไฟล txt เกบไวในเครองอกดวย เพอสามารถน ามาตรวจสอบไดในภายหลง 4.3. กำรท ำงำนกบโปรแกรม
เมอแรกเขาใชงานโดยผานทาง เวบเบราเซอร จะตองมการท าการยนยนตวตนเพอเขาสระบบ โดยหนาเวบจะแสดงกลองใหกรอก username และ password และตวระบบจะตรวจระดบสทธในการเขาใชงาน จากต าแหนงของทางผเขาใชงานดงในรปท 4.18
รปท 4.18 หนาจอแรกในการเขาใชงานระบบ
40
เมอ ท าก ารยน ยน เขา ใชง านมาเสรจ เรยบรอ ยได แลว ห ากมต าแห น งเปน “Administrator” ระบบจะพามาสหนา Checklist คอ List รายการ วดโอทมการตรวจสอบจากระบบเสรจแลวขนมาแสดงตามรปท 4.19
รปท 4.19 การเขาใชงานในต าแหนง “Administrator”
ในสวนแถบดานบนจะแสดงใหเหนถงเมนตางๆทสามารถใชงานไดในระบบจะเหนไดจากรปท 4.20
รปท 4.20 แสดงแถบเมนดานบน
สวนดานขวาบนจะแสดงชอของผเขาใชงานพรอมทงต าแหนง และ ปมออกจากระบบ (รปท 4.21)
รปท 4.21 แสดงรายละเอยดดานซายบน
41
แตถาหากเปนต าแหนงอนๆ ระบบจะแสดงแคหนารายงานเพอใหสามารถดแครายงานไดเทานนตามรปท 4.22
รปท 4.22 การเขาใชงานในต าแหนงอนๆ
เมน “Check List” จะแสดงขอมลของ วดโอทผานการตรวจสอบจากระบบมาแลว และยงไมไดผานการตรวจสอบจากผดแลระบบ โดยจะแสดงวดโอ พรอมดวย รายละเอยดจากการตรวจสอบของระบบ และมชองใหกรอกรายละเอยดเพมเตม ทงในสวนของภาพ และเสยง และสามารถเพมขอมลอนๆ (Comment) ไปดวยไดจะเหนไดจากรปท 4.23 และ 4.24
รปท 4.23 แสดงรายละเอยดของการบนทกการตรวจสอบ
42
รปท 4.24 แสดงรายละเอยดของการบนทกการตรวจสอบ (2)
หากผดแลระบบไดท าการบนทกผลลพธการตรวจสอบวดโอทงหมดแลว Check List ทมอยทงหมดกจะหายไปและมขอความแสดงวาไมมรายการใหท าการตรวจสอบขนมาแทนจะเหนไดจากรป 4.25
รปท 4.25 แสดงหนาแจงไมมรายการใหตรวจสอบ
เมน “Report” ใชส าหรบออกรายงานทงหมด โดยจะแสดงผลในรอบ 1 อาทตยเปนหลก และถาหากผเขาใชงานเปน “Administrator” จะสามารถแกไขขอมลในรายงานได ตามรปท 4.26
43
รปท 4.26 แสดงหนาจอรายงาน
ทงนในเมน “Report” ยงสามารถเลอกชวงเวลาในการออกรายงานไดจะเหนไดจากรป 4.27 และ 4.28
รปท 4.27 แสดงหนาจอเลอกชวงเวลาของรายงานทจะแสดงผล
รปท 4.28 แสดงหนาจอเลอกชวงเวลาของรายงานทจะแสดงผล (2)
44
สวนในเมน More นน เปนเมนทจะม เมนยอยอก 3 เมน ไดแก
4.3.1. เมน TimeTable แสดงตารางบนทกวดโอในแตละป-ภาคเรยน โดยสามารถจะเลอกการแสดงผลเปนใน
แตละชวงปหรอแตละชวงเทอมไดตามรปท 4.29
รปท 4.29 แสดงหนาจอหนาตารางเรยน/สอน
ในสวนภายในเมนนสามารถเพมตารางบนทกวดโอใหมๆ ดวยการ Add ดานบนซาย เพมได ตามรปท 4.30
45
รปท 4.30 แสดงหนาจอหนาเพมตารางเรยน/สอน
หรอสามารถ Import ตารางเรยนสอนจากไฟล excel ไดเชนกน ตวอยางรปแบบไฟล excel ดไดในรปท 4.31 และรปแบบของ excel จะใหเหนไดในรปท 4.32
รปท 4.31 แสดงหนาจอน าเขาจากไฟล excel
46
รปท 4.32 แสดงรปแบบไฟล excel ทน าเขาไปในระบบ
หากตองการเปลยนแปลงขอมลตารางบนทกวดโอกสามารถแกไขไดเชนในรปท 4.33
รปท 4.33 แสดงหนาแกไขขอมลตารางบนทกวดโอ
47
เมน AddUser ในเมนนสามารถเพมผใชงานระบบใหมๆ ไดดงในรปท 4.34
รปท 4.34 แสดงหนาจอเพมผใชงานใหม
4.3.2. เมน Setting ใชงานการตงตางๆคาระบบ โดยจะแยกเปนสองสวนหลกคอ คากลางของเสยงในแตละหอง (รปท 4.35) และตงคาชวงเวลาในการเปดปดภาคเรยน (รปท 4.36 และรปท 4.37)
รปท 4.35 แสดงหนาจอตงคาคากลางของเสยงในแตละหอง
48
รปท 4.36 แสดงหนาจอตงคาในชวงเวลาการเปด/ปดภาคเรยน
รปท 4.37 แสดงหนาจอตงคาในชวงเวลาการเปด/ปดภาคเรยน (2)
นอกจากนผใชงานยงสามารถเปลยนแปลงขอมลของตนเองไดในหนาแกไขขอมลผใชงานตามรปท 4.38
รปท 4.38 แกไขขอมลผใชงาน
49
บทท 5 สรปผลกำรด ำเนนงำน
5.1. ผลกำรด ำเนนโครงงำน จากการทดสอบการท างานของระบบและโปรแกรม ระบบสามารถแสดงใหเหนถง
รายละเอยดของไฟลวดโอ ชวยลดภาระในการตรวจสอบไฟลวดโอของผดแลระบบ ชวยลดขอผดพลาดในการตรวจสอบไฟล หากตองการจะหาผลทไดท าการบนทกไปสามารถท าไดงาย และงายตอการท ารายงานเพอสรปรวบรวมผล เปนชวงๆ เพอน าไปประกอบการตดสนใจในการวางพนฐานของระบบตอไป 5.2. ปญหำและอปสรรค
5.2.1. ในการทดสอบการรนสครปต สครปตในการตรวจสอบไฟลนนใชเวลาคอนขางนาน (5-10 นาท) ในการตรวจสอบเสยงในวดโอ ในแตละไฟล และสงผลใหใชเวลารวมคอนขางมากในการท าการตรวจสอบไฟลทงหมด
5.2.2. ในการท างานของสครปตแตละครงใชทรพยากรของเครองคอนขางสงมาก คอใช CPU เกอบเตม 100% ท าใหโหลดของเครองเซรฟเวอรมากเกนไปและเกดสภาวะคอขวดขน
5.2.3. ระดบเสยงพนฐานในแตละหองนนมความแตกตางกน การวดเกดคลาดเคลอนไดงาย
5.3. แนวทำงกำรแกไข
5.3.1. ท าระบบจงใหการตรวจสอบน ท าเปน Schedule เพอใหสครปตท างานในชวงเวลากอนทผดแลระบบจะท างาน (เชน ชวงเชามด)
5.3.2. ปรบใหการท างานของสครปตใหไปอยในเซรฟเวอรอกตวทท างานนโดยเฉพาะ แยกจากเซรฟเวอรของระบบ E-Learning หลกทปกตจะมการใชงานอยเปนกจจะลกษณะ
5.3.3. เพมการตงคาเสยงพนฐานแยกในแตละหองเปนรายหองไป โดยจะมคาพนฐานทเปนคากลาง (Default) อยหากไมตองการปรบคาเพมเตม
5.4. แนวทำงกำรพฒนำในอนำคต
5.4.1. พฒนาระบบใหสามารถลดเสยงรบกวนทมากหรอเสยงทดงเกนพอดได 5.4.2. พฒนาใหสามารถตดไฟลสวนทไมตองการในในวดโอได
50
เอกสำรอำงอง
[1] FFmpeg, “About FFmpeg”, [Online]. Available: http://ffmpeg.org/about.html [2] FFmpeg, "ffmpeg Document”, [Online]. Available: http://ffmpeg.org/ffmpeg.html [3] w3schools ASP.NET, “ASP.NET Tutorial”, [Online] Available: http://www.w3schools.com/aspnet [4] Microsoft MSDN,” LINQ (Language-Integrated Query)”, [Online]. Available: http://msdn.microsoft.com/en-us/library/bb397926.aspx [5] jQuery Learning Center,”How jQuery Work”, [Online] Available: http://learn.jquery.com/about-jquery/how-jquery-works/ [6] Microsoft MSDN, “Windows Task Scheduler”, [Online] Available: http://msdn.microsoft.com/en-us/library/windows/desktop/aa383614(v=vs.85).aspx
ภาคผนวก ก
ก-1
วธการตดตง FFmpeg บน Windows
1. ดาวนโหลด FFmpeg ซอฟตแวร
ส าหรบเวอรชนของวนโดวสามารถดาวนโหลดไดท http://ffmpeg.zeranoe.com/builds/ ซงจะมรายการใหดาวนโหลดหลายรปแบบ แลวแตเวอรชนของวนโดวและ Component ทงนผพฒนาระบบไดใช 64-bit Static ในการพฒนาระบบ หนาเวบตามรปท ก-1
รปท ก-1 หนาเวบ download FFmpeg
2. เมอดาวนโหลดเสรจจะไดเปนไฟลทมการ compressed มา ใหน าไปวางไวท path ท
ตองการดงตวอยางรปดานลาง (ก-2)
รปท ก-2 วางโฟลเดอรของ FFMpeg ไวใน path ทตองการ
ก-2
3. หลงจากเสรจแลวตองไปเซตคา path ในวนโดวโดยมวธการดงน เลอก Properties
ของ Windows หลงจากนน Advanced system settings ตามรปท ก-3
รปท ก-3 เลอก “Advanced system settings”
4. จากนน เลอกแทบ “Advanced” และกดป ม “Environmental Variables” ตวอยาง
ตามรป ก-4
รปท ก-4 เลอก “Environmental Variables”
ก-3
5. เลอก New… ในสวนของ System variables เหมอนรปท ก-5 และใสคา path ชไปท
FFmpeg ตาม folder ทเราลงไวจนไปกระทง ไฟล “bin” เชน c:\ffmpeg\bin ตวอยางตามรปท
ก-6
รปท ก-5 เลอก “new…” ในสวน System variables
รปท ก-6 เลอก “new…” ในสวน System variables (2)
ก-4
6. ทดสอบดวยกนรนบนหนา command-line (cmd) และพมพค าสง ffmpeg –version
ตามรปท ก-7
รปท ก-7 ผลลพธของค าสง วธการใชงาน FFmpeg Script
ในระบบทออกแบบนไดใช FFmpeg เพอใหแสดงของมลรายละเอยดเรองเสยง ของ Video โดยจะใชทงหมด 2 ค าสง ดงนนรปแบบค าสงทเราตองใชจะเปนดงน
1. ค าสง “astats” มรปแบบดงน “ffmpeg -i video.wmv -af astats -f null NUL 2> video.txt” อธบายรปแบบค าสงไดดงน
ffmpeg คอชอของค าสง -i คอ input ก าหนดไฟลทสนใจ video.wmv คอชอของไฟลทสนใจ -af คอการใช audio filter astats เปนค าสงยอยของ audio filter อกท ใชเพอใหแสดงรายละเอยด
ขอมลทงหมดของเสยง -f คอ file ใชส าหรบก าหนดวดโอ output ในทนก าหนดเปน null NUL เพอ
ไมตองใหมไฟลวดโอ output ออกมา 2>video.txt คอใหบนทกการท างานและผลลพธในรปแบบ textfile
ใน Windows ตองอางอง directory / path ตามทอยจรงของไฟลวดโอ และ output ทจะออกมาตวอยางในรปท ก-8
ก-5
รปท ก-8 ตวอยางการใชงานค าสง “astats”
เมอโปรแกรมท างานเสรจจะไดผลลพธเปนรายละเอยดตางๆเกยวกบเสยง ถาหากระบบเสยงเปน Stereo ตวโปรแกรมจะแสดงแยกเปน Channel ให แสดงผลลพธของการท างานของโปรแกรมตามตวอยางในรป ก-9
รปท ก-9 ผมลพธจากการใชงานค าสง “astats”
ก-6
2. ค าสง “volumedetect” จะมรปแบบค าสงคลายกบ “astats” ดงน ffmpeg -i video.wmv" -af volumedetect -f null -y null อธบายค าสงไดดงน
ffmpeg คอชอของค าสง -i คอ input ก าหนดไฟลทสนใจ video.wmv คอชอของไฟลทสนใจ -af คอการใช audio filter volumedetect เปนค าสงยอยของ audio filter อกท ใชแสดงระดบของเสยง
ในแตละเฟรม -f คอ file ใชส าหรบก าหนดวดโอ output ในทนก าหนดเปน null เพอไมตอง
ใหมไฟลวดโอ output ออกมา -y null คอไมตองการใชม output อนๆเพมเตมออกมา
ตวอยางค าสงดไดในรปท 4.4
รปท ก-10 ตวอยางค าสงของ “volumedetect”
ผลลพธของ “volumedetect” จะแจกแจงใหเหน max_volume คอเสยงทดงทสด mean_volume เสยงโดยเฉลย และคา histogram โดยจะเรมตนท histogram ทมคางสงทสด (ตดลบนอยสด) ไปถงคาทนอยทสด (ตดลบมากสด)
รปท ก-11 ผลลพธค าสงของ “volumedetect”