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
  • ออกจากระบบ แล้วเข้าสู่ระบบใหม่ด้วยชื่อผู้ใช้ที่สร้างขึ้นมา
  • ตรวจสอบไฟล์จากเมนู เข้ารหัสวิดีโอ ว่ามีรายการขึ้นมาหรือไม่ ถ้ามีแสดงว่าถูกต้อง

[กลับหน้าหลัก]

รับข้อมูลจาก "http://wiki.opentle.org/Automatic_Video_Encoding_Online"
เครื่องมือส่วนตัว