ThaiSEOBoard.com

พัฒนาเว็บไซต์ => Programming => ข้อความที่เริ่มโดย: conner ที่ 08 สิงหาคม 2013, 11:35:47



หัวข้อ: อยากทำเว็บไซต์คล้ายๆ youtube ขอคำแนะนำด้านเท&
เริ่มหัวข้อโดย: conner ที่ 08 สิงหาคม 2013, 11:35:47
ผมต้องการพัฒนาเว็บไซต์ที่มีการทำงานเหมือน youtube ครับ
โดยใช้ในจุดประสงค์ที่ต่างจาก youtube แต่มีลักษณะการทำงานเหมือนกัน คือ
1. มีระบบ user
- มีรายการวิดีโอที่ตัวเองอัพโหลดไปแล้ว
- สามารถอัพโหลด video ได้เรื่อยๆ
2. มีระบบแสดงรายการวิดีโอตามการค้นหา
3. หน้าแสดงไฟล์วิดีโอ
4. เฉพาะสมาชิกที่ล็อกอินเท่านั้นจึงจะดูวิดีโอได้
5. ไม่สมารถนำลิงค์วิดีโอไปเปิดได้โดยตรง โดยไม่มี login session ของผู้ใช้งานระบบ

ปัญหาที่ผมติดตอนนี้คือผมไม่มีความรู้ด้านนี้เลยครับ
1. ไม่รู้ว่าจะสร้างระบบยังไงให้ผู้ใช้อัพโหลดไปใหญ่ๆได้ เช่น 300MB
2. ไม่รู้ว่าจะออกแบบระบบการจัดเก็บวิดีโดไฟล์ไว้ยังไง
3. ไม่รู้ว่า จะทำระบบให้โหลดไฟล์ไปแสดงบนหน้าเว็บยังไงให้ระบบไม่ช้าและรับโหลดได้จำนวนมาก
   ** ปกติ การแสดงไฟล์วิดีโอทำได้โดยการใส่ url ของวิดีโอใน object tag เลย แต่แบบนั้นมันจะป้องการการเข้าถึงไฟล์โดยไม่ล็อกอินไม่ได้
4. ไม่รู้ว่า จะป้องการการเข้าถึงไฟล์วิดีโอยังไง โดยให้เปิดดูได้เพาะผู้ที่ล็อกอินแล้วเท่านั้น
  ** จะใช้โปรแกรมโหลดวิดีโอไม่ได้ เพราะไม่มี session
  ** การแอบคัดลอก video url ไปให้คนอื่นเปิดดู ทำไม่ได้เพราะต้องผ่านการล็อกอินก่อน

Workload 20,000 คนต่อวัน หรือพร้อมกัน 1000 คน (ช่วงเย็นๆ)

ผมเลยอยากขอให้ผู้ที่เคยทำระบบด้านนี้แนะนำให้หน่อยครับว่า
1. โครงสร้างการออกแบบ hardware architecture ต้องออกแบบอย่างไร (3 server machine)
2. การออกแบบ software architecture ต้องออกแบบอย่างไร มีระบบย่อยอะไรที่ต้องพัฒนาบ้าง
3. มี opensource ไหนบ้างที่ออกแบบมาแบบให้เพื่อจะได้ลองไปศึกษาได้ (เฉพาะ java)
4. ระบบที่ล็อกอินโดยใช้บัญชีผู้ใช้ในระบบหรือ facebook account ก็ได้ เขาเขียนกันยังไง

ขอบคุณทุกท่านครับ


หัวข้อ: Re: อยากทำเว็บไซต์คล้ายๆ youtube ขอคำแนะนำด้านเทคนิคครับ
เริ่มหัวข้อโดย: conner ที่ 08 สิงหาคม 2013, 11:43:41
ท่านไหนมีความรู้ หรือมีเพื่อนที่มีความรู้ด้านนี้ ทั้งการจัดโครงสร้าง server และการออกแบบโปรแกรม
รบกวนขอเบอร์โทรด้วยน่ะครับ อยากได้ข้อมูลด้านนี้มากๆจริงๆครับ


หัวข้อ: Re: อยากทำเว็บไซต์คล้ายๆ youtube ขอคำแนะนำด้านเท&
เริ่มหัวข้อโดย: mikeyx ที่ 08 สิงหาคม 2013, 12:12:29
porn script หรือ porn tube clone หาดูครับ
แอบไปโหลด null มาเล่นใช้งานง่ายดี


หัวข้อ: Re: อยากทำเว็บไซต์คล้ายๆ youtube ขอคำแนะนำด้านเท&
เริ่มหัวข้อโดย: smapan ที่ 08 สิงหาคม 2013, 12:19:23
VDO ถ้าคนเยอะๆแนะนำมาลองใช้ service CDN VDO Hosting ของบริษัทได้ครับ
เพราะ VDO ถ้า server ไม่แรงจริงมีโอกาสเดียงได้สูงมากครับ
 :wanwan017:


หัวข้อ: Re: อยากทำเว็บไซต์คล้ายๆ youtube ขอคำแนะนำด้านเท&
เริ่มหัวข้อโดย: superfoam ที่ 08 สิงหาคม 2013, 12:30:24
พอมองจุดประสงค์ออก

จะนำไปใช้งานเฉพาะกลุ่มใช่ใหมครับ เช่น กลุ่มคนดูหนัง

 :wanwan004:


หัวข้อ: Re: อยากทำเว็บไซต์คล้ายๆ youtube ขอคำแนะนำด้านเท&
เริ่มหัวข้อโดย: MapTwoZa ที่ 08 สิงหาคม 2013, 13:47:47
เท่าที่วิเคราะห์ ประมาณนี้

1. web server ใช้อะไรก็ได้ครับ แต่ถ้าวางแผนไว้ว่าจะรับคนเยอะๆจริงๆ ผมว่าใช้ java ในการพัฒนาดีกว่า ( แต่ทีมพัฒนาก็ต้องดีๆหน่อยนะ ไม่ให้ resource leak )

2. แยก video server เอาไว้ครับ ซึ่งพวก video server อาจจะ access ผ่าน protocol http ก็ได้ครับ ซึ่งอาจจะใช้ web server ในการจัดการก็ได้
ซึ่ง video server ผมแนะนำว่า อัด ram ไปหน่อย ซัก 16gb ก็น่าจะอยู่แล้ว cache video คนที่เข้ามาดูลง mem ครับ ( ตรงนี้ต้องเขียน caching management and cach priority เอง เอาไว้จัดการให้ cache มีประสิทธิภาพ เช่น cache ใกล้เต็มแล้ว ก็ต้องมีการ swap video ที่มีคนดูน้อยกว่า ออกจาก cache เอา video คนที่ดูมากกว่าเข้ามาใส่แทน ) ซึ่งถ้าคนมาดูเยอะๆ เรา cache video ที่มีคนเข้าดูเยอะๆใส่ mem ไว้ จะลดภาระของ server เรื่อง hdd access ได้เยอะครับ
** ผมไม่รู้นะว่าพวก video steaming ต่างๆ มัน implement พวก cache ไว้ในตัวหรือป่าว หรือเข้าไปอ่านใน hdd ตรงๆ ถ้ามันไปอ่านตรงๆ คงต้อง implement เองล่ะครับ


ตอบปัญหาที่่ท่านเจอ
1. ไม่รู้ว่าจะสร้างระบบยังไงให้ผู้ใช้อัพโหลดไปใหญ่ๆได้ เช่น 300MB
ans.. มัน config ได้ครับ set up ที่ web server ที่ท่านใช้งานก็ได้แล้วล่ะครับ

2. ไม่รู้ว่าจะออกแบบระบบการจัดเก็บวิดีโดไฟล์ไว้ยังไง
ans.. จัดการ video ก็ implement แยกเป็นอีก project ก็ได้ครับ เน้นให้มัน data growing แบบ horizontal ครับ คือจะเต็มก็เพิ่ม server เอา ไม่ต้องไป upgrade server ตัวเดิม

3. ไม่รู้ว่า จะทำระบบให้โหลดไฟล์ไปแสดงบนหน้าเว็บยังไงให้ระบบไม่ช้าและรับโหลดได้จำนวนมาก
   ** ปกติ การแสดงไฟล์วิดีโอทำได้โดยการใส่ url ของวิดีโอใน object tag เลย แต่แบบนั้นมันจะป้องการการเข้าถึงไฟล์โดยไม่ล็อกอินไม่ได้
ans.. (project ในข้อ 2ครับ) ใช้ระบบ steaming ไปดักก่อนการ access file ครับ  ซึ่ง steaming อาจจะทำใหม่เลยก็ได้ หรืออาจจะใช้ที่มีอยู่แล้ว (ตรงนี้ผมไม่รู้ว่ามันมีตัวไหนบ้างครับ รอผู้รู้จริงเกี่ยวกับส่วน steaming video มาตอบดีกว่า )

4. ไม่รู้ว่า จะป้องการการเข้าถึงไฟล์วิดีโอยังไง โดยให้เปิดดูได้เพาะผู้ที่ล็อกอินแล้วเท่านั้น
  ** จะใช้โปรแกรมโหลดวิดีโอไม่ได้ เพราะไม่มี session
  ** การแอบคัดลอก video url ไปให้คนอื่นเปิดดู ทำไม่ได้เพราะต้องผ่านการล็อกอินก่อน
and.. project ใน ข้อ 2 ครับ

ซึ่ง project ในข้อ 2 เนี่ยสำคัญสุดและ 55+

ปล. เรื่อง server load มันจะมี 2 ฝั่งครับ ตัว web app server กับตัว video server ซึ่งตัว web app พัฒนาดีๆ วางบน server ดีๆ ไม่น่ามีปัญหา เคยอ่านเจอใน stack overflow เค้าบอก server เค้า dell r410 ram 32gb รับ request 15,000 request/seconds ได้แบบสบายๆ ( แต่ไม่รู้ว่า data tranfer ต่อ request หนักแค่ไหนนะครับ 555+ )


หัวข้อ: Re: อยากทำเว็บไซต์คล้ายๆ youtube ขอคำแนะนำด้านเท&
เริ่มหัวข้อโดย: conner ที่ 08 สิงหาคม 2013, 14:01:44
ขอบคุณคุณ MapTwoZa ครับ
ช่วยให้เคลียร์มาขึ้นมาหน่อย ตอนนี้ผมก็ลองค้นหาบทความอ่านไปเรื่อยๆก่อนครับ
ระบบที่จะพัฒนา คงใช้ java เป็นหลักเลย เพราะทำงานสายนี้มาหลายปีแล้ว น่าจะช่วยได้เยอะ

แต่เทคนิคต่างๆ ถ้าไม่มี opensource ให้ดู คงออกแบบเองได้ยากเหมือนกันครับ


หัวข้อ: Re: อยากทำเว็บไซต์คล้ายๆ youtube ขอคำแนะนำด้านเท&
เริ่มหัวข้อโดย: MapTwoZa ที่ 08 สิงหาคม 2013, 14:20:03
ขอบคุณคุณ MapTwoZa ครับ
ช่วยให้เคลียร์มาขึ้นมาหน่อย ตอนนี้ผมก็ลองค้นหาบทความอ่านไปเรื่อยๆก่อนครับ
ระบบที่จะพัฒนา คงใช้ java เป็นหลักเลย เพราะทำงานสายนี้มาหลายปีแล้ว น่าจะช่วยได้เยอะ

แต่เทคนิคต่างๆ ถ้าไม่มี opensource ให้ดู คงออกแบบเองได้ยากเหมือนกันครับ

web server ก็ใช้ tomee + spring ก็ได้ครับ ซึ่ง spring ก็มีพร้อมแทบทุกอย่าง 55+

แล้วเอาพวก video ไปไว้ subdomain เช่น data1.yourdomain.com
แล้วก็เขียน web app อีกตัว เป็นตัวจัดการไฟล์ครับ เอาไปใส่ทุก sub domain

รู้สึก steaming ผ่าน protocol http ก็ใช้ header accept byte range แค่นั้นเองครับ
เราก็ใช้ byte start ที่ส่งเข้ามา เข้าไปอ่านไฟล์ตำแหน่งที่ต้องการ

ทีนี้ ถ้าอยากได้แรงๆ ก็ใช้ java ทำตัว cache เพิ่มครับ เพื่อไม่ให้เข้าไปอ่านใน hdd ตรงๆ request มาเยอะๆ hdd access เต็มก็จวบครับ 555+ ถ้าทำแบบนี้ เปลืองแรม แต่ประหยัด hdd ยัดได้เยอะหน่อยครับ 55+


หัวข้อ: Re: อยากทำเว็บไซต์คล้ายๆ youtube ขอคำแนะนำด้านเท&
เริ่มหัวข้อโดย: boy_amg ที่ 08 สิงหาคม 2013, 14:23:59
เก็บความรู้ได้มากมายครับ


  :wanwan013:


หัวข้อ: Re: อยากทำเว็บไซต์คล้ายๆ youtube ขอคำแนะนำด้านเท&
เริ่มหัวข้อโดย: lungkao ที่ 08 สิงหาคม 2013, 15:02:14
http://clip-bucket.com/ เป็น opensource ในส่วนของการทำเว็บ ส่วนระบบ video server Streaming  ผมชอบ http://www.wowza.com/


หัวข้อ: Re: อยากทำเว็บไซต์คล้ายๆ youtube ขอคำแนะนำด้านเท&
เริ่มหัวข้อโดย: naraj ที่ 08 สิงหาคม 2013, 17:07:00
ของขายสำเร็จรูปก็มีอย่าง

โค๊ด:
http://www.premiumpress.com/videotheme/

เป็นธีมของเวิร์ดเพรสเลย ไม่รู้ออปชั่นจะครอบคลุมที่คุณต้องการหรือเปล่า

- No Encryption! Open source code

- Responsive Layout, Resizes to fit Desktop, Mobile & Tablet Devices
   
- Easy to customize and turn on/off content and layout options!
   
- Search Engine Friendly Code (SEO)
   
- Design options + extra child themes

- Youtube Video Uploads
   
- Free & Paid Listings Options
   
- Membership Packages for limiting video access
   
- Members can submit listing & upload videos


ราคาแรงน่าดู $99 เป็นตัวใหม่ที่เป็นธีมแบบ responsive, เวอร์ชั่นเก่า $79

คนไทยน่าจะมีคนทำขายคล้ายๆแบบนี้อยู่มั๊ง อาจจะเหมาะสำหรับคนที่ไม่ชำนาญเรื่องโค้ดอะไรมากมาย


หัวข้อ: Re: อยากทำเว็บไซต์คล้ายๆ youtube ขอคำแนะนำด้านเท&
เริ่มหัวข้อโดย: iLhay ที่ 08 สิงหาคม 2013, 17:12:18
ส่วน streaming อยากง่ายใช้ WoWza อยากประหยัดใช้ nginx streaming ครับ

อยากให้อยุ่นาน "ส่วนใหญ่" ผมเห็นแยกตัว fronent กับ backend ครับ

fronent คือตัวที่ใช้ดึง video ส่วน backend ก็เอาไว้ stream หนังออกมา

เรื่องการพัฒนา ภาษา perl ก็ใช้ได้ดีนะครับ :)

ทำแบบนี้รุ้อย่างใดอย่างหนึ่งไม่ได้ครับ ต้องรุ้รวมทั้ง server และ coding