รหัส YouTube รับประกันว่าจะเป็น 11 ตัวอักษรหรือไม่


18

ฉันกำลังเขียนรหัสเพื่อตรวจสอบ URL ของ YouTube มันรับประกันได้หรือไม่ว่ารหัสวิดีโอเช่น oHg5SJYRHA0ยาว 11 ตัวอักษรเสมอหรือบางครั้งอาจสั้นหรือยาวกว่าเดิม มีเอกสารอย่างเป็นทางการเกี่ยวกับเรื่องนี้หรือไม่?


อย่างน้อยก็จนกว่าจะมีวิดีโอที่ทำ 5.20e + 19 วิดีโอ)

@ Jason เจ๋งคุณ! คุณใช้เครื่องคิดเลขอะไรอยู่!

2
ค่าสูงสุด ชุดค่าผสมใน 11 ตัวอักษรดูเหมือนจะเป็นจำนวนมาก แต่อาจจะไม่น่าสนใจในช่วงไม่กี่ปีที่ผ่านมาเนื่องจากจำนวนวิดีโอ YouTube ที่อัปโหลดเพิ่มขึ้นแบบทวีคูณ ... ดังนั้นอย่านับว่าถ้าคุณกำลังสร้างแบบไม่เหมาะสำหรับ - เว็บไซต์ปี
jave.web

@ jave.web คุณมางานปาร์ตี้ช้า ฉันขอแหล่งข้อมูลที่มีสิทธิ์ไม่ใช่เพื่อให้ใครบางคนโต้แย้งว่า 64 ^ 11 เป็นจำนวนมาก อาจมีสาเหตุอื่น ๆ ที่รหัสวิดีโอบางรูปแบบอาจแตกต่างจากรหัสที่ใช้หมด ตัวอย่างเช่นอาจมีวิดีโอแบบดั้งเดิมที่มีรหัสสั้นกว่าหรือวิดีโอที่จัดเก็บในระบบแยกต่างหากด้วยรูปแบบรหัสอื่นทั้งหมด คำตอบที่ได้รับการยอมรับมีคำตอบที่เชื่อถือได้มากที่สุดที่ฉันเคยเห็น
nitro2k01

ความคิดเห็นของฉันยังคงใช้งานโดยเฉพาะอย่างยิ่งในปี 2014 และสนับสนุนคำตอบที่ยอมรับเท่านั้น)
jave.web

คำตอบ:


20

พวกเขาอาจจะติดอยู่ที่ 11 ตัวอักษรเป็นเวลานาน อักขระแต่ละตัวมีค่าที่เป็นไปได้ 64 ค่า:

2 * 26 ตัวอักษร (ตัวพิมพ์เล็กและตัวพิมพ์ใหญ่) + 10 สำหรับตัวเลข + 2 สำหรับ "_" และ "-" ตัวอักษร

2 * 26 + 10 + 2 = 64

จากนั้นทั้งหมด 11 ตัวอักษร:

64 ^ 11 = 73786976294838210000 (หรือมากกว่าหรือน้อยกว่า "73,7e18")

แน่นอนว่าจะไม่มีการใช้ชุดค่าผสมทั้งหมดขึ้นอยู่กับอัลกอริทึมของตัวเอง แต่อาจจะไม่สามารถเปลี่ยนได้ตลอดเวลาในไม่ช้า คำพูดจากนักพัฒนาซอฟต์แวร์ของ YouTube ซึ่งพวกเขาไม่ได้รับประกันว่า:

ฉันไม่เห็นเอกสารใด ๆ ในเอกสารที่เรายอมรับอย่างเป็นทางการกับความยาวมาตรฐาน 11 ตัวอักษรสำหรับรหัสวิดีโอของ YouTube มันเป็นหนึ่งในสิ่งที่เรามีการนำไปปฏิบัติในปัจจุบันและมันอาจจะยังคงอยู่อย่างนั้นไปเรื่อย ๆ แต่เราไม่ได้ให้คำมั่นสัญญาอย่างเป็นทางการกับคุณดังนั้นดำเนินการด้วยความเสี่ยงของคุณเอง

วิธีที่ดีกว่าแม้ว่าจะเกี่ยวข้องมากกว่านั้นก็คือการใช้รหัสวิดีโอแต่ละรายการและส่งคำขอไปยัง YouTube API เพื่อดูว่ามันถูกต้องหรือไม่ เช่นทำให้ HTTP GET เป็น

http://gdata.youtube.com/feeds/api/videos/VIDEO_ID

และดูว่าคุณได้รับการตอบกลับ HTTP 200 หรือไม่ แน่นอนว่าหากคุณใช้วิธีการดังกล่าววิดีโอที่ถูกลบออกจาก YouTube จะกลับมาใช้งานไม่ได้ (ซึ่งอาจเป็นหรือไม่ใช่สิ่งที่คุณต้องการ) และวิดีโอที่อัปโหลดไปยัง YouTube เมื่อเร็ว ๆ นี้อาจกลับมาใช้งานไม่ได้อีกด้วย

ไชโย -Jeff Posnick, ทีม YouTube API

ที่มา: https://web.archive.org/web/20120306111051/http://osdir.com/ml/youtube-api-gdata/2009-10/msg00237.html


1
@Diego: ถ้าคุณจะพูดถึงตัวเลขจำนวนมากคุณอาจแสดงไม่กี่คนสุดท้าย: 64 ^ 11 = 2 ^ 66 = 73,786,976,294,838,206,464 ด้วยการปัดเศษ 0.5 รูปแบบทางวิศวกรรมคือ 73.787e18

ฉันเห็นด้วยกับ @ user60228 อย่าแสดงตัวเลขเต็มเว้นแต่ว่าคุณแสดงความถูกต้องหรือรายละเอียดเป็นอย่างอื่น น่าสนใจสำหรับพวกเราที่จะรู้ความจริงทางคณิตศาสตร์อย่างเต็มรูปแบบ (คำตอบที่ยอดเยี่ยม PS!)
Xonatron

4

มีบางสิ่งที่ชี้ให้เห็นได้อย่างชัดเจน URL สองรายการชี้ไปที่วิดีโอเดียวกัน ตัวอย่างเช่นในวิดีโอที่โพสต์ด้านล่างพวกเขาคือ "รางวัลโนเบลปี 2015 ทั้งหมด" โดย Scishow:

นอกจากนี้หากคุณเปลี่ยนอักขระตัวสุดท้ายเป็นCหรือDจะใช้งานได้เช่นกัน


1
คุณอาจพบข้อบกพร่อง เห็นได้ชัดว่าทุกวิดีโอมี URL อย่างน้อย 4 รายการ ในกรณีที่คุณพูดถึง A, B, C, และ D ชี้ไปที่ A ด้วยเช่นกัน, E, F, G และ H ชี้ไปที่ E; ฉัน, J, K และ L ชี้ไปที่ I และอื่น ๆ และนั่นเป็นความจริงสำหรับทุกวิดีโอที่ฉันทดสอบ
JP de la Torre

เรื่องนี้ดูเหมือนจะไม่เป็นกรณีของการโพสต์ความคิดเห็นนี้
nitro2k01

-2

ใช่พวกเขามักจะมี 11 ตัวอักษร


3
คุณมีข้อมูลใด ๆ เพื่อสำรองข้อมูลหรือไม่?
เบียร์
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.