Automatic Video Encoding Online
จาก OpenTLE Wiki
เนื้อหา |
ระบบประมวลผลและเข้ารหัสวิดีโออัตโนมัติ สำหรับระบบวิดีโอออนไลน์
รายละเอียดเบื้องต้น
ระบบแปลงวิดีโออัตโนมัติแบบออนไลน์ เป็นระบบสำหรับการเข้ารหัส (Encoding) สำหรับข้อมูลวิดีโอต้นฉบับ เช่น จากกล้องถ่ายวิดีโอ ไปเป็นรูปแบบวิดีโอที่ต้องการ เช่น mov, avi เป็นต้น โดยสามารถผู้ใช้สามารถที่จะอัพโหลดไฟล์ต้นฉบับเข้าไปที่เครื่องเซิร์ฟเวอร์ และสามารถเลือกรูปแบบการประมวลผลได้ เมื่อระบบทำงานเสร็จผู้ใช้ทำงานเสร็จก็สามารถดาวน์โหลดไปใช้งานได้ทันที
คุณสมบัติของผู้ร่วมโครงการ
- สามารถใช้งานลินุกซ์ได้
- มีความรู้เกี่ยวกับภาษา Python และ php
- มีความรู้เกี่ยวกับ MySQL
- มีความตั้งใจในการทำงานสูง
- สามารถปรับแต่งและดูแลเซิรฟเวอร์ได้ (optional)
- สามารถเขียน shell script ในลินุกซ์ได้ (optional)
- สามารถใช้ subversion หรือ cvs ได้ (optional)
งาน
- แก้ไขให้ front-end / back-end ใช้การตั้งค่าร่วมกัน (veo.cfg)
- มีเมล์แจ้งกลับไปหาผู้ใช้ในกรณีที่ประมวลผลเสร็จแล้ว
- ให้สามารถรับไฟล์จากผู้ใช้ โดยให้ผู้ใช้กรอก url ที่เก็บไฟล์มาได้
- เพิ่มเรื่องการเคลียร์ไฟล์ที่มีอายุเกินกำหนด
- เพิ่มหน้าแสดงสถิติการใช้งาน
- แก้ไขเรื่อง Profile สำหรับการประมวลผล
- ตรวจสอบรูปแบบไฟล์ที่ upload ให้มีเฉพาะไฟล์ที่กำหนดเท่านั้น
สมาชิกในกลุ่ม
Hin
- ชื่อ: ศิลา ชุณห์วิจิตรา
- ชื่อเล่น: หิน
- จาก: NECTEC
- หน้าที่: Staff
Ame
- ชื่อ: สาธิตา วีระศิริวัฒน์
- ชื่อเล่น: แอ๋ม
- จาก: ชมรม Open Source มหาวิทยาลัยบูรพา
- หน้าที่:Team Member
การเตีรยมเครื่อง
System
- Linux OS
- Web base interface
- FTP file upload (User only)
การติดตั้งโปรแกรม
- update เครื่อง
# sudo apt-get update
- ติดตั้งโปรแกรม
# sudo apt-get install apache2 php5 php5-mysql php5-cli php5-mcrypt mysql-server phpmyadmin proftpd python-mysqldb mencoder mplayer gpac ffmpeg faac sendmail
การติดตั้ง
- ดาวน์โหลดซอร์สโค๊ดจาก ...
- แตกไฟล์ไว้ใน /var/www (หรือที่อื่นๆ ที่เป็น root ของเว็บ)
# tar xvfz -C /var/www video_encode.tar.gz
- สร้างฐานข้อมูล
# mysqladmin -u root -p create video_encode_online # mysql -u root -p video_encode_online < /var/www/video_encode/database.sql
- แก้ไขไฟล์ /var/www/video_encode/config.php ดังนี้
$db_user = "root"; $db_password = "databasepassword";
- สร้าง group ชื่อว่า videoencode
# addgroup videoencode
- กำหนดให้ชื่อที่เป็นเจ้าของเว็บ (ชื่อที่เป็นของ apache) อยู่ในกลุ่ม videoencode ด้วย
# usermod -G videoencode www-data
- สร้าง user ชื่อ admin สำหรับเป็นคนจัดการงานต่างๆ
# adduser --ingroup videoencode --home /var/spool/video/admin admin
ตั้งรหัสผ่านเป็น '123456'
- สร้างที่เก็บไฟล์ชั่วคราว (temporary) สำหรับทำงาน
# mkdir -p -m 777 /var/spool/video/tmpqueue
- ตั้งค่าใน /etc/crontab ให้ทำงานทุกๆ นาที
# for video encode online backend * * * * * root python /var/www/video_encode/crontab/cronusers.py 2>/dev/null 1>/dev/null & * * * * * root python /var/www/video_encode/crontab/cronencode.py 2>/dev/null 1>/dev/null & * * * * * root python /var/www/video_encode/crontab/cronenclean.py 2>/dev/null 1>/dev/null &
การทดสอบการใช้งาน
- เข้าหน้าเว็บโดยใช้ url เป็น http://localhost/video_encode
- ชื่อผู้ใช้เป็น admin รหัสผ่าน 123456
- แก้ไขข้อมูลส่วนตัวให้ถูกต้อง
- ทดลองสร้างผู้ใช้ เช่น demo ใส่ email เป็นของตัวเอง แล้วดูว่ามีเมล์กลับมาหรือไม่
หมายเหตุ ต้องไม่มีชื่อผู้ใช้นั้นๆ อยู่ในระบบอยู่ก่อนแล้ว
- ทดลอง upload ไฟล์วิดีโอเข้าไปที่เครื่องเซิร์ฟเวอร์ โดยใช้ ftp ด้วยชื่อผู้ใช้ที่สร้างขึ้นมา และให้อยู่ในไดเร็กทรอรี่ uploads
- ออกจากระบบ แล้วเข้าสู่ระบบใหม่ด้วยชื่อผู้ใช้ที่สร้างขึ้นมา
- ตรวจสอบไฟล์จากเมนู เข้ารหัสวิดีโอ ว่ามีรายการขึ้นมาหรือไม่ ถ้ามีแสดงว่าถูกต้อง
