Unity แพลตฟอร์มที่ใช้สร้างวิดีโอเกม ครึ่งหนึ่งของโลก /โดย ลงทุนแมน
แม้ว่าโลกของเราจะมี เกมชื่อดังมากมาย เช่น Pokémon GO, League of Legends, Genshin Impact, Among Us, Garena Free Fire หรือ Overcooked
แต่รู้หรือไม่ว่าเกมที่ยกตัวอย่างมานี้ ถูกพัฒนาขึ้นจาก เกมเอนจิน หรือซอฟต์แวร์ที่ใช้สร้างวิดีโอเกม
ที่ชื่อว่า “Unity” ซึ่งปัจจุบันครอบครองส่วนแบ่งเกินกว่าครึ่งหนึ่งของมูลค่าตลาดซอฟต์แวร์พัฒนาเกมบนโลก
แล้วเรื่องราว Unity มีที่มาที่ไปอย่างไร ?
ลงทุนแมนจะเล่าให้ฟัง
╔═══════════╗
Blockdit เป็นแพลตฟอร์ม สำหรับนักอ่าน และนักเขียน
ที่มีผู้ใช้งาน 1 ล้านคน ลองใช้แพลตฟอร์มนี้เพื่อได้ไอเดียใหม่ๆ
แล้วอาจพบว่าสังคมนี้เหมาะกับคนเช่นคุณ
Blockdit. Ideas Happen. Blockdit.com/download
╚═══════════╝
ธุรกิจเกม ถือเป็นหนึ่งในธุรกิจ ที่กำลังเติบโตแบบก้าวกระโดด
ตลาดเกมทั่วโลกในปี 2005 มีมูลค่า 882,000 ล้านบาท
ตลาดเกมทั่วโลกในปี 2020 มีมูลค่า 5,810,000 ล้านบาท
คิดเป็นการเติบโต 6.6 เท่า หรือเติบโตเฉลี่ย 13.4% ต่อปี ตลอดช่วง 15 ปีที่ผ่านมา
ซึ่งการเติบโตนี้ ก็มาจากเกมบนสมาร์ตโฟนเป็นหลัก ที่มีการเติบโตสูงสุดเมื่อเทียบกับเกมบนแพลตฟอร์มอื่นอย่างเช่น PC และเกมคอนโซล และปัจจุบันเกมบนสมาร์ตโฟนก็คิดเป็นสัดส่วนที่มากที่สุดกว่า 45% ของเกมทั่วโลก
หนึ่งในบริษัทที่ได้ประโยชน์จากการเติบโตของเกมบนสมาร์ตโฟนไปเต็ม ๆ ก็คือ “Unity Technologies” ซึ่งเป็นบริษัทผู้พัฒนาเกมเอนจิน หรือแพลตฟอร์มที่ใช้พัฒนาวิดีโอเกม ที่ชื่อว่า “Unity” เพราะบริษัทแห่งนี้มีส่วนแบ่งตลาดซอฟต์แวร์พัฒนาเกมเกินกว่าครึ่งหนึ่งของมูลค่าทั้งหมดบนโลก
นอกจากนี้ ยังมีข้อมูลอื่น ๆ อีก เช่น
- เกมที่ได้รับความนิยมสูงสุด 1,000 อันดับแรกบนสมาร์ตโฟน มี 710 เกมที่พัฒนาโดยใช้ Unity
- แอปพลิเคชันที่สร้างโดยใช้ Unity มียอดดาวน์โหลดรวมกันกว่า 5 พันล้านครั้งต่อเดือน
- คอนเทนต์ทุกรูปแบบที่สร้างโดยใช้ Unity มีผู้ใช้งานรวมกันกว่า 2.5 พันล้านคนต่อเดือน
พูดง่าย ๆ ว่าเราคงเคยผ่านการใช้งานผลิตภัณฑ์ที่ถูกสร้างโดยใช้ Unity มาบ้างแล้ว
Unity เป็นเกมเอนจิน ที่รองรับการใช้งานได้ทุกระบบปฏิบัติการ
ไม่ว่าจะเป็น macOS, Microsoft Windows และเว็บเบราว์เซอร์
ที่ทำภาพได้ทั้งแบบ 2D และจะโดดเด่นเรื่อง 3D เป็นพิเศษ
ในสมัยก่อน บริษัทพัฒนาเกมแต่ละแห่งจะนิยมสร้างเกมเอนจินเป็นของตัวเอง แต่สมัยนี้บริษัทพัฒนาเกมจะหันมาใช้เกมเอนจินมากขึ้น เพื่อประโยชน์ในการประหยัดต้นทุน และความสะดวกรวดเร็ว สามารถปรับแต่งได้ง่าย
ถ้าให้นึกภาพแบบง่าย ๆ ตัวอย่างเช่น งานออกแบบกราฟิก ผู้ออกแบบจะนิยมใช้ซอฟต์แวร์ชื่อ Adobe Illustrator แต่สำหรับการพัฒนาเกมแล้ว Unity จะเป็นซอฟต์แวร์ ที่ผู้พัฒนาเกมนิยมใช้กัน
ผู้พัฒนาเกมที่ใช้งาน Unity ยังสามารถทำเกมออกมาเพียงครั้งเดียว แล้วนำไปใช้กับแพลตฟอร์มได้หลากหลายกว่า 20 แพลตฟอร์ม หรือเรียกว่า “Cross-Platform” โดยไม่ต้องเขียนโคดใหม่อีกรอบ ไม่ว่าจะเป็นเกมในเวอร์ชัน PC, Xbox, PlayStation, Nintendo Switch, iOS และ Android
ที่สำคัญก็คือ Unity เป็นแพลตฟอร์มที่ใช้งานง่ายแต่ประสิทธิภาพสูง จนใครก็ตามที่อยากสร้างเกมเองสามารถใช้งานได้ ไม่จำเป็นต้องเขียนโคดเป็น ไม่ต้องเป็นนักพัฒนามืออาชีพ ไม่จำเป็นต้องมีเงินทุนก้อนใหญ่ นักพัฒนาเกมอินดี้หรือคนที่อยากทำเกมเป็นงานอดิเรกก็สามารถทำได้
ซึ่งจุดนี้ก็ทำให้ Unity ต่างไปจากคู่แข่งคนสำคัญอย่าง Unreal Engine ของบริษัท Epic Games ที่เลือกเจาะตลาดค่ายเกมขนาดใหญ่ ที่พัฒนาเกมคุณภาพกราฟิกสูง และเป็นเกมที่เล่นบน PC และเกมคอนโซลเป็นหลัก ยกตัวอย่างเช่น เกม Fortnite และ PUBG
แล้ว Unity มีจุดเริ่มต้นอย่างไร ?
ย้อนกลับไปในปี 2002 หรือเมื่อ 19 ปีก่อน ที่เมืองโคเปนเฮเกน ประเทศเดนมาร์ก
Nicholas Francis โปรแกรมเมอร์ชาวเดนมาร์ก ที่อาศัยอยู่ในเมืองโคเปนเฮเกน
และ Joachim Ante นักเรียนมัธยมปลาย ที่เรียนอยู่ในประเทศเยอรมนี
ทั้งคู่กำลังพัฒนาเกมเอนจินของตัวเอง และได้รู้จักกันผ่าน OpenGL ซึ่งเป็น API ที่เกี่ยวกับการใช้งานกราฟิก 2D และ 3D
Francis และ Ante พูดคุยกันถูกคอ เลยชวนกันมาพัฒนาระบบช่วยสร้างภาพ 3 มิติ ที่ใช้งานได้บนเกมเอนจินของเขาทั้งคู่ แต่ต่อมาเมื่อทั้งคู่ได้นัดพบและพูดคุยกัน ก็ตัดสินใจล้มเลิกแผนนั้น แล้วหันมาสร้างเกมเอนจินใหม่ด้วยกัน
ทั้งคู่เช่าแฟลตในเมืองโคเปนเฮเกนเพื่อร่วมกันพัฒนาเกมเอนจิน ซึ่งไม่ไกลจากแฟลตที่พวกเขาเช่า ก็คืออะพาร์ตเมนต์ที่เพื่อนของ Francis ที่ชื่อว่า David Helgason อาศัยอยู่
Helgason เป็นนักพัฒนาเว็บไซต์ฟรีแลนซ์ เมื่อเขาได้พูดคุยและเห็นสิ่งที่ Francis และ Ante ร่วมกันทำอยู่หลายเดือน เขาจึงเริ่มสนใจและเข้ามาร่วมทีมด้วยในที่สุด
จนในปี 2004 Francis, Ante และ Helgason ใช้เงินเก็บและเงินจากพ่อของ Ante ราว 1 ล้านบาท มาร่วมกันก่อตั้งสตูดิโอทำเกมควบคู่ไปกับการพัฒนาเกมเอนจินคุณภาพสูง โดยใช้ชื่อบริษัทว่า “Over the Edge Entertainment (OTEE)”
หลังจากเปิดบริษัทไปได้สักพัก พวกเขาก็เปิดรับสมัคร CEO เพราะมองว่าเทคโนโลยีที่ดีอย่างเดียวไม่เพียงพอต่อการเติบโตของบริษัท ต้องมีผู้นำทางธุรกิจที่เก่งด้วย แต่สุดท้ายแล้วพวกเขาก็ไม่เจอคนที่ถูกใจและมีวิสัยทัศน์ตรงกัน
Helgason ซึ่งถูกลงความเห็นว่าเป็นคนที่เหมาะสมที่สุดในพวกเขา 3 คน จึงเป็น CEO ส่วน Francis เป็น COO และ Ante เป็น CTO
หลังจากพวกเขาพัฒนาเกมเอนจินสำเร็จ ก็ทดลองนำมาใช้สร้างเกม จนกระทั่ง OTEE ได้เปิดตัวเกมแรกที่ชื่อว่า GooBall ในเดือนมีนาคม ปี 2005
แต่เกม GooBall ไม่ประสบความสำเร็จเท่าที่ควร ซึ่ง Ante ก็ได้วิเคราะห์ว่าคงเพราะเกมเล่นยากเกินไป
แต่ความพยายามที่ผ่านมาก็ไม่ได้สูญเปล่า เพราะพวกเขาได้เห็นแล้วว่าเกมเอนจินที่ร่วมกันพัฒนามา มีศักยภาพสูงพอที่จะต่อยอดไปให้คนมากมายใช้งานได้
ทั้ง 3 คนเลยเปลี่ยนใจจากการทำเกม มาเป็นการพัฒนาเครื่องมือทำเกมแทน ซึ่งพวกเขาได้ใช้เงินที่ได้จากการขายเกม GooBall มาจ้างนักพัฒนาซอฟต์แวร์เพิ่ม
อีก 3 เดือนถัดมา OTEE ได้เปิดตัวเกมเอนจินที่ชื่อ “Unity” ในงาน Apple Worldwide Developers Conference (WWDC) ที่เริ่มจากเป็นเกมเอนจินที่มีเฉพาะใน MAC OS X และหลังจากนั้นไม่นานก็มีให้ใช้งานได้ใน Microsoft Windows และเว็บเบราว์เซอร์
ช่วงแรกที่เปิดตัว ผู้ใช้งานหลักของ Unity ก็คือคนที่ทำเกมเป็นงานอดิเรกและนักพัฒนาอินดี้แบบที่ทางบริษัทได้ตั้งใจไว้ โดย OTEE มีรายได้จากการเก็บค่า Subscription หรือค่าบริการรายเดือนหรือรายปี
ผ่านไป 2 ปี ในปี 2007 บริษัทได้เปลี่ยนชื่อมาเป็น Unity Technologies
ในปีเดียวกันนี้ บริษัท Apple ก็ได้เปิดตัว iPhone เป็นครั้งแรก
ซึ่งทำให้ Unity ได้เริ่มพัฒนาเป็นแอปพลิเคชันสำหรับใช้งานบน iPhone
แต่ที่สำคัญกว่านั้นก็คือ iPhone ได้กลายมาเป็นจุดเริ่มต้นที่ทำให้ตลาดเกมทั่วโลกเติบโตอย่างก้าวกระโดด จากเกมบนสมาร์ตโฟนและแท็บเล็ต จนกลายมาเป็นจุดพลิกผันที่ทำให้ผู้ใช้งาน Unity เพิ่มขึ้นอย่างรวดเร็ว
ปี 2009 Unity Technologies ได้ย้ายสำนักงานไปยังเมืองซานฟรานซิสโก ประเทศสหรัฐอเมริกา ซึ่งเรียกได้ว่าเป็นเมืองแห่งเทคโนโลยีที่มีสภาพแวดล้อมเหมาะกับการเติบโตของสตาร์ตอัป
จนในที่สุด Unity Technologies ก็สามารถระดมทุน Series A ได้จาก Sequoia Capital ซึ่งเป็น Venture Capital อันดับต้น ๆ ของโลก
แต่ในปี 2013 หนึ่งในผู้ก่อตั้งบริษัทอย่าง Francis ก็ขอลาออกจากตำแหน่ง COO ของบริษัท
หลังจากนั้นเพียงปีเดียว Helgason ก็ขอลงจากตำแหน่ง CEO แต่ยังคงเป็นกรรมการบริษัทอยู่ ซึ่งเขาให้เหตุผลว่าบริษัทเริ่มใหญ่ขึ้นแล้ว ปัจจุบันมีเพียง Ante ที่ยังคงเป็น CTO ต่อจนถึงปัจจุบัน
CEO ที่ได้รับความไว้วางใจให้มารับตำแหน่งต่อจาก Helgason ก็คือ “John Riccitiello” อดีต CEO ของ Electronic Arts (EA) โดย Helgason บอกว่า Riccitiello คือคนที่เหมาะสมกับตำแหน่งนี้ที่สุด
และก็เป็นไปตามที่ Helgason พูด เพราะตั้งแต่ที่ Riccitiello เข้ามา ก็ได้ทำให้ Unity เป็นมากกว่าเกมเอนจิน
Unity เริ่มให้บริการอื่นเพื่อสนับสนุนผู้พัฒนาเกมในหลาย ๆ ด้าน ให้ครบวงจรมากขึ้น
โดยเฉพาะบริการที่ดูแลเรื่องการหารายได้จากเกมให้กับผู้พัฒนา
ยกตัวอย่างเช่น การเป็นพันธมิตรกับบริษัทโฆษณาขนาดใหญ่เพื่อดึงให้มาโฆษณาในเกม
ซึ่งก็จะทำให้ผู้พัฒนาเกมมีรายได้จากค่าโฆษณา และ Unity ก็ได้ส่วนแบ่งค่าโฆษณานั้นด้วย
และหนึ่งในจุดพลิกผันที่สำคัญที่สุด เกิดขึ้นในปี 2016 เมื่อเกม Pokémon GO ที่สร้างความฮือฮาด้วยการใช้ AR ในเกมบนสมาร์ตโฟน จนได้รับความนิยมแบบถล่มทลายไปทั่วโลก เป็นเกมที่พัฒนาโดยใช้ Unity
ความสำเร็จของ Pokémon GO ก็ทำให้ในปีนั้น Unity กลายเป็นสตาร์ตอัปเนื้อหอมที่ดึงดูดให้นักลงทุนเข้ามาระดมทุนอย่างรวดเร็ว จนบริษัทได้มีมูลค่าประเมินทะลุ 32,000 ล้านบาท กลายเป็นสตาร์ตอัปยูนิคอร์นทันที
ในที่สุด Unity ก็เข้าระดมทุนในตลาดหลักทรัพย์นิวยอร์กในปลายปี 2020 ซึ่งปัจจุบันบริษัท Unity มีมูลค่า 1.2 ล้านล้านบาท
แล้วผลประกอบการที่ผ่านมาของ Unity เป็นอย่างไร ?
ปี 2018 รายได้ 12,400 ล้านบาท ขาดทุน 4,300 ล้านบาท
ปี 2019 รายได้ 17,700 ล้านบาท ขาดทุน 5,300 ล้านบาท
ปี 2020 รายได้ 25,200 ล้านบาท ขาดทุน 9,200 ล้านบาท
รายได้เติบโตได้ปีละกว่า 40% และบริษัทยังมีอัตรากำไรขั้นต้น หรือรายได้หักต้นทุนสินค้าและบริการสูงถึงเกือบ 80% แต่ที่บริษัทยังขาดทุนก็เพราะว่า Unity ใช้เงินไปกับการลงทุนวิจัยและพัฒนาที่สูงเช่นกัน
ซึ่งสูงในระดับที่เป็นสัดส่วนเกินกว่าครึ่งหนึ่งของรายได้
สำหรับการคิดค่า Subscription ของ Unity จะเป็นระบบ Freemium คือมีทั้งแบบใช้งานได้ฟรีและแบบจ่ายเงิน ที่มีให้เลือก 3 แพ็กเกจ จากระดับราคาน้อยไปมาก คือ Pro, Premium และ Enterprise
Unity ยังกำหนดเพิ่มเติมว่า ผู้พัฒนาจะยังใช้บริการแบบฟรีได้
แต่ถ้ารายได้หรือเงินทุนของผู้พัฒนามากกว่า 3.2 ล้านบาท ใน 12 เดือนที่ผ่านมา จะต้องใช้แพ็กเกจระดับ Plus หรือสูงกว่า และถ้ารายได้หรือเงินทุนของผู้พัฒนามากกว่า 6.4 ล้านบาท ในช่วง 12 เดือนที่ผ่านมา จะต้องใช้แพ็กเกจระดับ Pro หรือ Enterprise
อย่างไรก็ตาม รายได้ที่มาจากค่า Subscription กลับไม่ใช่รายได้หลักของ Unity เพราะมีสัดส่วนเพียง 26.5% ของรายได้ทั้งหมด
แต่รายได้หลักของ Unity ที่เป็นสัดส่วนรายได้ 66.8% มาจาก Operate Solutions หรือบริการที่ช่วยสนับสนุนการทำเงินจากเกมให้กับผู้พัฒนาเกม เช่น ค่าโฆษณา ซึ่งเป็นส่วนที่ CEO อย่างคุณ Riccitiello เริ่มต่อยอดมาตั้งแต่เข้ารับตำแหน่ง
ส่วนรายได้อีก 6.7% มาจากบริการอื่น ๆ เช่น จาก Asset Store ที่เป็น Marketplace ให้ผู้ใช้งานไปซื้อขายงานและโคดกันได้
นอกจากวิดีโอเกมแล้ว Unity ยังกลายมาเป็นซอฟต์แวร์ที่นิยมใช้กับงาน 3D ในงานอื่นด้วย อย่างเช่น งานออกแบบ 3D งานภาพยนตร์ งานออกแบบสถาปัตยกรรม หรืองานออกแบบรถยนต์
ยกตัวอย่างเช่น ในอุตสาหกรรมยานยนต์ ที่ BMW ใช้สร้างภาพเคลื่อนไหวจำลองเพื่อทดสอบระบบขับเคลื่อนอัตโนมัติ และ Honda ใช้ออกแบบรถ หรือในอุตสาหกรรมภาพยนตร์ที่ Disney ใช้ Unity ทำภาพแบ็กกราวนด์ในภาพยนตร์เรื่อง The Lion King เวอร์ชันปี 2019
แต่ที่น่าจับตามองที่สุด ก็คงเป็นเมกะเทรนด์อย่าง AR และ VR ซึ่งข้อมูลในปัจจุบันระบุว่ากว่า 60% ของคอนเทนต์ AR และ VR ทั้งหมด ทำโดยใช้ Unity
ทั้งหมดนี้คือเรื่องราวของ Unity ที่มีจุดเริ่มต้นมาจากการพัฒนาเครื่องมือสร้างวิดีโอเกมให้ใครก็ตามที่อยากสร้างเกมได้ใช้ และต่อยอดจนกำลังจะกลายเป็นเครื่องมือสำคัญในการสร้างโลกเสมือน
ซึ่งก็ไม่แปลกเลยที่ปัจจุบัน บริษัทแห่งนี้ได้กลายเป็นผู้อยู่เบื้องหลังวิดีโอเกม กว่าครึ่งหนึ่งของโลก เลยทีเดียว..
╔═══════════╗
Blockdit เป็นแพลตฟอร์ม สำหรับนักอ่าน และนักเขียน
ที่มีผู้ใช้งาน 1 ล้านคน ลองใช้แพลตฟอร์มนี้เพื่อได้ไอเดียใหม่ๆ
แล้วอาจพบว่าสังคมนี้เหมาะกับคนเช่นคุณ
Blockdit. Ideas Happen. Blockdit.com/download
╚═══════════╝
ติดตามลงทุนแมนได้ที่
Website - longtunman.com
Blockdit - blockdit.com/longtunman
Facebook - facebook.com/longtunman
Twitter - twitter.com/longtunman
Instagram - instagram.com/longtunman
Line - page.line.me/longtunman
YouTube - youtube.com/longtunman
Spotify - open.spotify.com/show/4jz0qVn1AL7tRMHiTvMbZH
Apple Podcasts - podcasts.apple.com/th/podcast/ลงท-นแมน/id1543162829
Soundcloud - soundcloud.com/longtunman
References:
-https://techcrunch.com/2019/10/17/how-unity-built-the-worlds-most-popular-game-engine/
-https://techcrunch.com/2009/08/14/interview-nicholas-francis-coo-of-unity-the-leading-iphone-game-development-platform/
-https://techcrunch.com/2020/09/10/how-unity-built-a-gaming-engine-for-the-future/
-https://theorg.com/insights/with-news-unity-technologies-is-going-public-the-org-looks-into-the-key
-https://www.cbinsights.com/research/game-engines-growth-expert-intelligence/
-http://web.wpi.edu/Pubs/E-project/Available/E-project-030614-143124/unrestricted/Haas_IQP_Final.pdf
-https://investors.unity.com/overview/default.aspx
同時也有2部Youtube影片,追蹤數超過1萬的網紅Rasaflix,也在其Youtube影片中提到,Siakap Stim Limau Ala Thai Bahan Kukusan Ikan Seekor ikan siakap (800g-1kg) 5 keping daun limau purut 1 batang serai (dihiris halus) 2 inci halia(hir...
「youtube api key」的推薦目錄:
- 關於youtube api key 在 ลงทุนแมน Facebook 的最佳貼文
- 關於youtube api key 在 Taipei Ethereum Meetup Facebook 的最佳貼文
- 關於youtube api key 在 Rasaflix Youtube 的最佳解答
- 關於youtube api key 在 Nguyễn Hải Trung Youtube 的最佳貼文
- 關於youtube api key 在 YouTube Data API Overview 的評價
- 關於youtube api key 在 Obtaining authorization credentials | YouTube Data API 的評價
- 關於youtube api key 在 申請Google API KEY 來使用Youtube 節點step1. 需要先前往 ... 的評價
- 關於youtube api key 在 How to Get a YouTube API Key [Tutorial + Examples] 的評價
- 關於youtube api key 在 如何申請· Api 學習筆記 的評價
- 關於youtube api key 在 Get API Key for YouTube 的評價
- 關於youtube api key 在 How to Get YouTube API Key: Revealing Secrets in 3 ... 的評價
- 關於youtube api key 在 How to Create a YouTube API Key 的評價
- 關於youtube api key 在 How to Get YouTube API Key: A Detailed Guide for ... 的評價
- 關於youtube api key 在 How To Get a YouTube API Key (in 7 Simple Steps) 的評價
- 關於youtube api key 在 Retrieve and manage API Key for YouTube ... 的評價
- 關於youtube api key 在 YouTube Data API v3 – Marketplace 的評價
- 關於youtube api key 在 YouTube Data API v3 的評價
- 關於youtube api key 在 How to Create & Set Up YouTube API Key, ID, & Secret for ... 的評價
- 關於youtube api key 在 #101 使用YouTube Data API 抓取有趣的Youtuber 影片& ... 的評價
- 關於youtube api key 在 Guide to Creating and Using an API Key 的評價
- 關於youtube api key 在 How to get YouTube API key 的評價
- 關於youtube api key 在 How To Get A YouTube API Key 的評價
- 關於youtube api key 在 How to apply for a YouTube API Key, find the YouTube Playlist ... 的評價
- 關於youtube api key 在 How to use the YouTube API and find your API Key 的評價
- 關於youtube api key 在 How to Upload Videos Using YouTube API Key in Magento ... 的評價
- 關於youtube api key 在 Documention | Get YouTube API Key 的評價
- 關於youtube api key 在 Steps For Creating A Project For YouTube API's & Adding The ... 的評價
- 關於youtube api key 在 4.26. Setting Up the YouTube API Key 的評價
- 關於youtube api key 在 API Guide — youtube-data-api 0.0.17 documentation 的評價
- 關於youtube api key 在 如何获得一个YouTube API密钥和把YouTube内容放在你的网站上 的評價
- 關於youtube api key 在 Authorization process of YouTube Data API 的評價
- 關於youtube api key 在 What functionality is available through the YouTube API? 的評價
- 關於youtube api key 在 What Is API and How To Use Youtube API | by Jiwon Jeong 的評價
- 關於youtube api key 在 Youtube Data API | Set-1 的評價
- 關於youtube api key 在 Python Youtube API v3 Uploading Video with API Key 的評價
- 關於youtube api key 在 Python Youtube API v3 Uploading Video with API Key 的評價
- 關於youtube api key 在 Configuring YouTube API Key 的評價
- 關於youtube api key 在 How to Create and Setup Youtube API Key, ID and Secret for ... 的評價
- 關於youtube api key 在 Kodi YouTube API Key – How to Solve ... 的評價
- 關於youtube api key 在 创建Youtube的api密钥- 网络托管 的評價
- 關於youtube api key 在 Chapter 23 Youtube API | APIs for social scientists 的評價
- 關於youtube api key 在 How to Connect Youtube API with PHP 的評價
- 關於youtube api key 在 How to Use YouTube API Keys with the Kodi add-on? 的評價
- 關於youtube api key 在 Get Youtube API Key · headsetapp/headset-electron Wiki 的評價
- 關於youtube api key 在 Get Youtube API Key · headsetapp/headset-electron Wiki 的評價
- 關於youtube api key 在 keywords:youtube api no key 的評價
- 關於youtube api key 在 How to Extract & Analyze YouTube Data using YouTube API? 的評價
- 關於youtube api key 在 YouTube API Tutorial 的評價
- 關於youtube api key 在 引入Youtube官方API获取频道与视频数据 的評價
- 關於youtube api key 在 youtube api key - Knowledge Base 的評價
- 關於youtube api key 在 youtube-data-api 的評價
- 關於youtube api key 在 YouTube API Key won't work: "Requests from referer are ... 的評價
- 關於youtube api key 在 [簡易教學] 如何使用Google API, 以Youtube data api為例 ... 的評價
- 關於youtube api key 在 How To Add YouTube Videos In Magento 2 Product Pages 的評價
- 關於youtube api key 在 How to upload Product Videos in Magento 2 - Youtube API ... 的評價
- 關於youtube api key 在 使用YouTube API 打造影音搜尋App - AppCoda 的評價
- 關於youtube api key 在 Youtube API Integration With C# .NET 的評價
- 關於youtube api key 在 Retrieving Youtube video information from Google APIs ... 的評價
- 關於youtube api key 在 Retrieving Youtube video information from Google APIs ... 的評價
- 關於youtube api key 在 使用Youtube官方API获取频道及视频数据原创 的評價
- 關於youtube api key 在 How to Get a YouTube Video Thumbnail from the ... 的評價
- 關於youtube api key 在 How to use the YouTube API 的評價
- 關於youtube api key 在 How to Enable Youtube Data API for Premium Video Box ... 的評價
- 關於youtube api key 在 Enter youtube addon api credentials via web management ... 的評價
- 關於youtube api key 在 How to Get List of YouTube Videos of Your Channel 的評價
- 關於youtube api key 在 Hướng dẫn lấy API key Youtube chi tiết 的評價
- 關於youtube api key 在 How to Extract Data from YouTube using R ... - Yuichi Otsuka 的評價
- 關於youtube api key 在 YouTube - Raycast Store 的評價
- 關於youtube api key 在 How to Add a YouTube Playlist to a Next.js React App with ... 的評價
- 關於youtube api key 在 How to Extract YouTube Data using YouTube API in Python 的評價
- 關於youtube api key 在 Import YouTube Public API Data to Google Sheets [2023] 的評價
- 關於youtube api key 在 Wie erstelle ich einen "YouTube API Key"? (YouTube-Import) 的評價
- 關於youtube api key 在 YouTube | Postman API Network 的評價
- 關於youtube api key 在 Como obtener la API Key de Youtube 的評價
- 關於youtube api key 在 tuber: Client for the YouTube API 的評價
- 關於youtube api key 在 Cara Mendapatkan Youtube API Key Dengan Mudah 的評價
- 關於youtube api key 在 Come attivare la Youtube API key ? 的評價
- 關於youtube api key 在 Как сгенерировать и установить API key для ... 的評價
- 關於youtube api key 在 YouTube API Key (Получение + Пример) 的評價
- 關於youtube api key 在 How to generate YouTube API key for Video Importer ... - Meks 的評價
- 關於youtube api key 在 WP YouTube Lyte – WordPress plugin 的評價
- 關於youtube api key 在 NoteGPT: YouTube Summary with ChatGPT & Notes 的評價
- 關於youtube api key 在 search() 的評價
- 關於youtube api key 在 search() 的評價
- 關於youtube api key 在 GUI to get views, likes, and title of a YouTube video using ... 的評價
- 關於youtube api key 在 YouTube API Key erstellen und einrichten 的評價
- 關於youtube api key 在 How to Request Additional Quota for your YouTube API Project 的評價
- 關於youtube api key 在 Graph API Explorer - Meta for Developers - Facebook 的評價
- 關於youtube api key 在 YouTube Add-on per Kodi 的評價
- 關於youtube api key 在 Build A ChatGPT For YouTube Videos with Langchain 的評價
- 關於youtube api key 在 Natural Language Processing in the Real World: Text ... 的評價
- 關於youtube api key 在 Cloud Computing for Machine Learning and Cognitive Applications 的評價
youtube api key 在 Taipei Ethereum Meetup Facebook 的最佳貼文
📜 [專欄新文章] 0xDonate — An Ethereum donate service for streamers
✍️ Alvin Hou
📥 歡迎投稿: https://medium.com/taipei-ethereum-meetup #徵技術分享文 #使用心得 #教學文 #medium
給實況主的區塊鏈斗內服務
透過 Ethereum Smart Contract,讓觀眾可以一鍵斗內給實況主,並讓斗內訊息在實況中即時推播出來的小服務
0x Donate
前言
現在的實況主大多是透過PayPal、歐付寶等第三方支付來接受觀眾斗內。但如果實況主不想被抽手續費,或想讓觀眾直接斗內加密貨幣給他呢?直接留下錢包地址是一個方法,但誰斗了多少很難即時查看也缺乏跟觀眾的互動。
因為最近剛好有點閒時間,所以就寫了個網站,透過智能合約讓實況主也能跟斗內的乾爹們互動。
How it works
網站的架構相當簡單,只要有一個錢包地址就可以開始使用了。實況主輸入錢包地址就產生對應的3個連結
1. Donate Page
就如同傳統的第三方支付,實況主將斗內連結放在個人的介紹頁面中,觀眾直接透過那個連結捐款。填完想說的話和金額,按下按鈕使用 Metamask 送出交易就完成了。
以Twitch為範例
2. Notification Page
這個頁面會監聽合約上的event,當有人斗內時就會跳出斗內訊息、斗內人名稱和金額。實況主只須於OBS Browser source把這個連結設定好即可。
3. History Page
誰是最大乾爹? link
不免俗的每個實況主都有他的Top donation list,這個頁面會把鏈上的斗內紀錄抓下來彙整成一個排行榜,讓實況主輕鬆看出誰是最大乾爹,乾爹們也不用擔心自己的心意不會被看到,都已經寫在鏈上了。
Features
0 fee, 0 setup, only a 0x address required
0 fee
對比現在第三方支付,本服務不抽手續費。以歐付寶為例,如果有人信用卡斗內十元,就有高達五元會被抽走。而0xDonate只需送出交易的人負擔交易本身gas費用,實況主可以獲得全額捐款。
0 setup
不需要註冊,不需要綁定任何API Key。不論是Twitch、Youtube Gaming 或是其他平台都能夠使用。
0x address
有一個錢包地址就可以開始使用了!
The Contract
其實合約本身也蠻簡單的(?),目前是部屬在Ropsten Testnet上。
donate 負責將ETH轉到實況主的地址,並觸發NewDonation ,讓斗內資訊可以在實況中顯示出來。而為了省gas,合約並沒有將斗內訊息的內容寫到鏈上。
getDonation 查看鏈上的紀錄,以用來產生乾爹排行榜。
一些開發上的雜談
在半年前於Reddit上看到類似的服務 NanoTwit.ch,就有想說來玩玩看一個ETH版本的。最早的prototype是之前寫的 SimpleEth,一個一鍵打交易的jQuery插件。雖然拖了很久我猜市面上已經有類似的服務了,不過秉持著『頂著幹,做中學』的精神,還是把這個專案寫完了。
都2018年了寫網頁怎麼能不用框架呢?
平常寫前端沒什麼在用框架,這次嘗試看看用快過氣的React 把半成品 ETH-Stream-Donations 包得更現代化些。過程中要特別感謝 @wingemerald 提供技術上的支援。但不得不說React跟一些雜七雜八的dependency真是肥大,有時候webpack跑一跑小筆電的風扇就轉起來了。
開發上有遇到一些小阻礙,一個是web3的雷,為了要支援火狐所以就換了版本。另一個是新版本web3為了要監聽合約的Event必須要使用 Websocket Provider,就改成使用infura的ws節點。
其他都還算順利,畢竟合約部屬好前端包一包就差不多完工了,資料都在鏈上不用處理後台也是挺方便的。
結語
很多人說區塊鏈是不是過譽了,但我相信Ethereum健康的開發者社群,總是會有些新的點子生出一些有趣的DApp或應用出來。
雖然是個寫好玩的 side project,但歡迎不論是有在實況或是有興趣的朋友都去玩玩看,在測試鏈上人人都可以當乾爹!
網址: 0xdonate.io
CryoliteZ/0xDonate
0xDonate — An Ethereum donate service for streamers was originally published in Taipei Ethereum Meetup on Medium, where people are continuing the conversation by highlighting and responding to this story.
👏 歡迎轉載分享鼓掌
youtube api key 在 Rasaflix Youtube 的最佳解答
Siakap Stim Limau Ala Thai
Bahan Kukusan Ikan
Seekor ikan siakap (800g-1kg)
5 keping daun limau purut
1 batang serai (dihiris halus)
2 inci halia(hiris halus)
2 sudu teh pati ayam (dibancuh dengan air)
Bahan Kuah Ikan
2 tangkai cili api merah (hiris nipis)
3 ulas bawang putih (dadu)
8 biji Limau nipis (ambil jus sahaja, buang biji)
1 sudu besar sos ikan
Daun ketumbar
Garam dan gula secukup rasa
Cara memasak:
a. Bersihkan ikan siakap. Letakkan sedikit hirisan halia,serai dan limau purut di dalam perut ikan dan sebahagian lagi taburkan ke atas ikan
b. Bancuh perisa ayam dengan sedikit air dan curahkan ke atas ikan. Kukus ikan sehingga masak.
c. Penyediaan kuah ikan. Masukkan cili merah bawang putih, jus limau, sos ikan dan ketumbar ke dalam mangkuk. Perisakan dengan garam dan gula secukupnya. Curah ke atas ikan. Sedap dihidang panas.
____________________________________________________________
Thai-Steamed Seabass with Lime
Ingredients For Steaming The Fish
1 Seabass (800g-1kg)
5 pcs of lime leaves
1 lemongrass (thinly sliced)
2 inch of ginger (thinly sliced)
2 tsp of chicken stock (mix with water)
Ingredients For The Broth
2 red bird’s eye chillies (thinly sliced)
3 cloves of garlics (diced)
8 key limes (take the juice only and remove the seeds)
1 tbsp of fish sauce
Corianders
Salt and sugar
Cooking Methods:
1. Clean the seabass. Put the sliced lemongrass, lime leaves inside its belly and the remaining on top of the fish.
2. Mix the chicken stock with a bit of water and pour it onto the fish. Steam the fish until it’s cooked.
3. Preparation of the fish broth. Put the red chillies, garlics, lime juice, fish sauce and corianders inside a bowl. Put enough salt and sugar. Pour it onto the fish. Taste best when serving while hot.
Follow& Subscribe Youtube Kami:
https://www.youtube.com/…/UC2O2V4urinEzggOPYwDyJVQ/featured…
Follow & See First Facebook Kami:
https://web.facebook.com/syokresepi/
#Resepisiakap
#siakapstimlimau
#seabassrecipe
#steamseabassrecipe
Nak dapatkan lebih banyak resepi? Layari https://rasaflix.com
youtube api key 在 Nguyễn Hải Trung Youtube 的最佳貼文
Tặng bạn 30 khóa học miễn phí
Về lập trình web và tiếp thị liên kết
Tất cả đều có trên https://gioi.net
? Đặt vé máy bay giá rẻ: http://vnbay.vn
? Đăng ký kênh: http://bit.ly/tusachvang
? Fanpage: http://fb.com/hocthietkeweb
#tusachvang #datmatrung #nguyenhaitrung
#hoctuxa #longvantu #bangdang #seoimk
#seoims #hocthietkeweb #gioinet #vnbay
#datvemaybay #photocopy #thietkeweb
youtube api key 在 Obtaining authorization credentials | YouTube Data API 的推薦與評價
Your application must have authorization credentials to be able to use the YouTube Data API.
This document describes the different types of authorization credentials that the Google API Console supports. It also explains how to find or create authorization credentials for your project.
Create your project and select API services
Open the Credentials page in the API Console.
This API supports two types of credentials.
Create whichever credentials are appropriate for your project:
OAuth 2.0: Whenever your application requests private user
data, it must send an OAuth 2.0 token along with the request. Your
application first sends a client ID and, possibly, a client secret to
obtain a token. You can generate OAuth 2.0 credentials for web
applications, service accounts, or installed applications.
For more information, see the OAuth 2.0 documentation.
API keys:
A request that does not provide an OAuth 2.0 token must send an API
key.
The key identifies your project and provides API access, quota, and
reports.
The API supports several types of restrictions on API keys. If the API key that you
need doesn't already exist, then create an API key in the Console by
clicking Create credentials
> API key. You can restrict the key before using it
in production by clicking Restrict key and selecting one of the
Restrictions.
To keep your API keys secure, follow the best practices for
securely using API keys.
... <看更多>
youtube api key 在 申請Google API KEY 來使用Youtube 節點step1. 需要先前往 ... 的推薦與評價
於API KEY 的欄位,填入剛剛申請的KEY,按確定,即完成設定。 ... <看更多>
youtube api key 在 YouTube Data API Overview 的推薦與評價
Introduction
This document is intended for developers who want to write applications that interact with YouTube. It explains basic concepts of YouTube and of the API itself. It also provides an overview of the different functions that the API supports.
Before you startYou need a Google Account to access the Google API Console, request an API key, and register your application.
Create a project in the Google Developers Console and obtain authorization credentials so your application can submit API requests.
After creating your project, make sure the YouTube Data API is one of the services that your application is registered to use:
Go to the API Console and select the project that you just registered.
Visit the Enabled APIs page.
In the list of APIs, make sure the status is ON for the YouTube Data API v3.
If your application will use any API methods that require user authorization, read the authentication guide to learn how to implement OAuth 2.0 authorization.
Select a client library to simplify your API implementation.
Familiarize yourself with the core concepts of the JSON (JavaScript Object Notation) data format. JSON is a common, language-independent data format that provides a simple text representation of arbitrary data structures. For more information, see json.org.
Resources and resource types
A resource is an individual data entity with a unique identifier. The table below describes the different types of resources that you can interact with using the API.
Resources
activity
Contains information about an action that a particular user has taken on the YouTube site. User actions that are reported in activity feeds include rating a video, sharing a video, marking a video as a favorite, and posting a channel bulletin, among others.
channel
Contains information about a single YouTube channel.
channelBanner
Identifies the URL to use to set a newly uploaded image as the banner image for a channel.
channelSection
Contains information about a set of videos that a channel has chosen to feature. For example, a section could feature a channel's latest uploads, most popular uploads, or videos from one or more playlists.
guideCategory
Identifies a category that YouTube associates with channels based on their content or other indicators, such as popularity. Guide categories seek to organize channels in a way that makes it easier for YouTube users to find the content they're looking for. While channels could be associated with one or more guide categories, they are not guaranteed to be in any guide categories.
i18nLanguage
Identifies an application language that the YouTube website supports. The application language can also be referred to as a UI language.
i18nRegion
Identifies a geographic area that a YouTube user can select as the preferred content region. The content region can also be referred to as a content locale.
playlist
Represents a single YouTube playlist. A playlist is a collection of videos that can be viewed sequentially and shared with other users.
playlistItem
Identifies a resource, such as a video, that is part of a playlist. The playlistItem resource also contains details that explain how the included resource is used in the playlist.
search result
Contains information about a YouTube video, channel, or playlist that matches the search parameters specified in an API request. While a search result points to a uniquely identifiable resource, like a video, it does not have its own persistent data.
subscription
Contains information about a YouTube user subscription. A subscription notifies a user when new videos are added to a channel or when another user takes one of several actions on YouTube, such as uploading a video, rating a video, or commenting on a video.
thumbnail
Identifies thumbnail images associated with a resource.
video
Represents a single YouTube video.
videoCategory
Identifies a category that has been or could be associated with uploaded videos.
watermark
Identifies an image that displays during playbacks of a specified channel's videos. The channel owner can also specify a target channel to which the image links as well as timing details that determine when the watermark appears during video playbacks and then length of time it is visible.
Note that, in many cases, a resource contains references to other resources. For example, a
Supported operationsplaylistItem
resource'ssnippet.resourceId.videoId
property identifies a video resource that, in turn, contains complete information about the video. As another example, a search result contains either avideoId
,playlistId
, orchannelId
property that identifies a particular video, playlist, or channel resource.The following table shows the most common methods that the API supports. Some resources also support other methods that perform functions more specific to those resources. For example, the
videos.rate
method associates a user rating with a video, and thethumbnails.set
method uploads a video thumbnail image to YouTube and associates it with a video.Operations
list
Retrieves (
GET
) a list of zero or more resources.insert
Creates (
POST
) a new resource.update
Modifies (
PUT
) an existing resource to reflect data in your request.delete
Removes (
DELETE
) a specific resource.The API currently supports methods to list each of the supported resource types, and it supports write operations for many resources as well.
The table below identifies the operations that are supported for different types of resources. Operations that insert, update, or delete resources always require user authorization. In some cases,
list
methods support both authorized and unauthorized requests, where unauthorized requests only retrieve public data while authorized requests can also retrieve information about or private to the currently authenticated user.Supported Operations
list
insert
update
delete
activity
caption
channel
channelBanner
channelSection
comment
commentThread
guideCategory
i18nLanguage
i18nRegion
playlist
playlistItem
search result
subscription
thumbnail
video
videoCategory
watermark
Quota usage
The YouTube Data API uses a quota to ensure that developers use the service as intended and do not create applications that unfairly reduce service quality or limit access for others. All API requests, including invalid requests, incur at least a one-point quota cost. You can find the quota available to your application in the API Console.
Projects that enable the YouTube Data API have a default quota allocation of 10,000 units per day, an amount sufficient for the overwhelming majority of our API users. Default quota, which is subject to change, helps us optimize quota allocations and scale our infrastructure in a way that is more meaningful to our API users. You can see your quota usage on the Quotas page in the API Console.
Note: If you reach the quota limit, you can request additional quota by
Calculating quota usagecompleting the Quota extension
request form for YouTube API Services.
Google calculates your quota usage by assigning a cost to each request. Different types of
operations have different quota costs. For example:
A read operation that retrieves a list of resources -- channels, videos, playlists -- usually
costs 1 unit.
A write operation that creates, updates, or deletes a resource usually has costs
50
units.A search request costs
100
units.A video upload costs
1600
units.The Quota costs for API requests table shows the
Partial resourcesquota cost of each API method. With these rules in mind, you can estimate the number of requests
that your application could send per day without exceeding your quota.
The API allows, and actually requires, the retrieval of partial resources so that applications avoid transferring, parsing, and storing unneeded data. This approach also ensures that the API uses network, CPU, and memory resources more efficiently.
The API supports two request parameters, which are explained in the following sections, that enable you to identify the resource properties that should be included in API responses.
How to use theThe
part
parameter identifies groups of properties that should be returned for a resource.The
fields
parameter filters the API response to only return specific properties within the requested resource parts.part
parameterThe
part
parameter is a required parameter for any API request that retrieves or returns a resource. The parameter identifies one or more top-level (non-nested) resource properties that should be included in an API response. For example, avideo
resource has the following parts:snippet
contentDetails
fileDetails
player
processingDetails
recordingDetails
statistics
status
suggestions
topicDetails
All of these parts are objects that contain nested properties, and you can think of these objects as groups of metadata fields that the API server might (or might not) retrieve. As such, the
part
parameter requires you to select the resource components that your application actually uses. This requirement serves two key purposes:It reduces latency by preventing the API server from spending time retrieving metadata fields that your application doesn't use.
It reduces bandwidth usage by reducing (or eliminating) the amount of unnecessary data that your application might retrieve.
Over time, as resources add more parts, these benefits will only increase since your application will not be requesting newly introduced properties that it doesn't support.
How to use thefields
parameterThe
fields
parameter filters the API response, which only contains the resource parts identified in thepart
parameter value, so that the response only includes a specific set of fields. Thefields
parameter lets you remove nested properties from an API response and thereby further reduce your bandwidth usage. (Thepart
parameter cannot be used to filter nested properties from a response.)The following rules explain the supported syntax for the
fields
parameter value, which is loosely based on XPath syntax:Use a comma-separated list (
fields=a,b
) to select multiple fields.Use an asterisk (
fields=*
) as a wildcard to identify all fields.Use parentheses (
fields=a(b,c)
) to specify a group of nested properties that will be included in the API response.Use a forward slash (
fields=a/b
) to identify a nested property.In practice, these rules often allow several different
fields
parameter values to retrieve the same API response. For example, if you want to retrieve the playlist item ID, title, and position for every item in a playlist, you could use any of the following values:fields=items/id,playlistItems/snippet/title,playlistItems/snippet/position
fields=items(id,snippet/title,snippet/position)
fields=items(id,snippet(title,position))
Note: As with all query parameter values, the
Sample partial requestsfields
parameter value must be URL encoded. For better readability, the examples in this document omit the encoding.The examples below demonstrate how you can use the
part
andfields
parameters to ensure that API responses only include the data that your application uses:Example 1 returns a video resource that includes four parts as well as
kind
andetag
properties.Example 2 returns a video resource that includes two parts as well as
kind
andetag
properties.Example 3 returns a video resource that includes two parts but excludes
kind
andetag
properties.Example 4 returns a video resource that includes two parts but excludes
kind
andetag
as well as some nested properties in the resource'ssnippet
object.Example 1
Example 2
Example 3
Example 4
Optimizing performance
Using ETags
ETags, a standard part of the HTTP protocol, allow applications to refer to a specific version of a particular API resource. The resource could be an entire feed or an item in that feed. This functionality supports the following use cases:
Caching and conditional retrieval – Your application can cache API resources and their ETags. Then, when your application requests a stored resource again, it specifies the ETag associated with that resource. If the resource has changed, the API returns the modified resource and the ETag associated with that version of the resource. If the resource has not changed, the API returns an HTTP 304 response (
Not Modified
), which indicates that the resource has not changed. Your application can reduce latency and bandwidth usage by serving cached resources in this manner.The client libraries for Google APIs differ in their support of ETags. For example, the JavaScript client library supports ETags via a whitelist for allowed request headers that includes
If-Match
andIf-None-Match
. The whitelist allows normal browser caching to occur so that if a resource's ETag has not changed, the resource can be served from the browser cache. The Obj-C client, on the other hand, does not support ETags.Protecting against inadvertent overwrites of changes – ETags help to ensure that multiple API clients don't inadvertently overwrite each other's changes. When updating or deleting a resource, your application can specify the resource's ETag. If the ETag doesn't match the most recent version of that resource, then the API request fails.
Using ETags in your application provides several benefits:
The API responds more quickly to requests for cached but unchanged resources, yielding lower latency and lower bandwidth usage.Your application will not inadvertently overwrite changes to a resource that were made from another API client.
The Google APIs Client Library for JavaScript supports
If-Match
andIf-None-Match
HTTP request headers, thereby enabling ETags to work within the context of normal browser caching.Using gzip
You can also reduce the bandwidth needed for each API response by enabling gzip compression. While your application will need additional CPU time to uncompress API responses, the benefit of consuming fewer network resources usually outweighs that cost.
To receive a gzip-encoded response you must do two things:
Set the
Accept-Encoding
HTTP request header togzip
.Modify your user agent to contain the string
gzip
.The sample HTTP headers below demonstrate these requirements for enabling gzip compression:
... <看更多>
相關內容