จะกำหนดเวลาสิ้นสุดสำหรับวิดีโอ YouTube ได้อย่างไร


152

ฉันกำลังพยายามหาวิธีที่ฉันสามารถระบุเวลาสิ้นสุดที่กำหนดเองสำหรับวิดีโอ YouTube แบบฝัง ฉันรู้ว่าฉันสามารถกำหนดเวลาเริ่มต้นเองโดยการเพิ่ม& start = 30แต่ฉันไม่เห็นสิ่งใดที่เกี่ยวข้องกับเวลาสิ้นสุด

ฉันต้องสามารถทำสิ่งนี้กับเว็บแอปที่ฉันกำลังสร้างอยู่ดังนั้นหาก YouTube ไม่มีวิธีให้ฉันจะทำอย่างไรให้สำเร็จ

ฉันไม่ได้อ่านเอกสารเลย ขอบคุณ!


โปรดทำเครื่องหมายคำตอบนี้เป็นวิธีแก้ปัญหา
Iulian Onofrei

คำตอบ:


202

ฉันเพิ่งพบว่างานต่อไปนี้:

https://www.youtube.com/embed/[video_id]?start=[start_at_second]&end=[end_at_second]

หมายเหตุ: เวลาต้องเป็นจำนวนเต็มวินาที (เช่น 119 ไม่ใช่ 1m59s)


38
ใช่มันใช้งานได้ นอกจากนี้version=3อาจไม่จำเป็น ให้แน่ใจว่าคุณใช้ "API" รูปแบบของการเชื่อมโยงเช่นนี้ไม่ใช่รูปแบบปกติซึ่งเริ่มต้นเช่นนี้https://www.youtube.com/v/7qkmGjWtG0w?start=840&end=1240&autoplay=1 https://www.youtube.com/watch?v=7qkmGjWtG0w
Kai Carver

2
อย่างไรก็ตามดูเหมือนว่าจะส่งคืนกระแสข้อมูล Flash / SWF ... ซึ่งใช้งานได้ดีสำหรับฉันใน Chrome / Windows และ IE แต่ไม่ใช่ใน Firefox
Kai Carver

3
อึนี้เปลี่ยนแปลงตลอดเวลา อ่าน API developers.google.com/youtube/documentation
PHearst

5
คุณสามารถลองใช้แบบฟอร์มนี้: http://www.youtube.com/embed/BmOpD46eZoA?start=36&end=65ตามที่แนะนำไว้ในIbrahim Ulukaya
danicotra

2
มีวิธีการทำเช่นนี้หรือไม่หากคุณไม่ได้ฝังวิดีโอ ฉันแค่ต้องการลิงค์ปกติที่ฉันสามารถแบ่งปันด้วยเวลาเริ่มต้นและสิ้นสุด วิดีโอที่ฉันต้องการแชร์ไม่อนุญาตให้ฝัง
JoeMjr2

66

ฉันลองใช้วิธีการของ @ mystic11 ( https://stackoverflow.com/a/11422551/506073 ) และได้เปลี่ยนเส้นทางแล้ว นี่คือตัวอย่าง URL ที่ใช้งานได้ :

http://youtube.googleapis.com/v/WA8sLsM3McU?start=15&end=20&version=3

หากไม่ระบุversion=3พารามิเตอร์วิดีโอจะเริ่มต้นในตำแหน่งที่ถูกต้อง แต่ดำเนินไปจนสุด จากเอกสารสำหรับendพารามิเตอร์ฉันเดาversion=3ว่าจะขอให้ผู้เล่น AS3 ใช้งาน ดู:

สิ้นสุด (ผู้เล่นที่รองรับ: AS3, HTML5)

การทดลองเพิ่มเติม

เล่นอัตโนมัติ

เล่นอัตโนมัติในส่วนของวิดีโอที่ถูกคลิป:

http://youtube.googleapis.com/v/WA8sLsM3McU?start=15&end=20&version=3&autoplay=1

วนลูป

การเพิ่มการวนซ้ำตามเอกสารน่าเสียดายที่เริ่มต้นการทำซ้ำครั้งที่สองและต่อมาที่จุดเริ่มต้นของวิดีโอ: http://youtube.googleapis.com/v/WA8sLsM3McU?start=15&end=20&version=3&loop=1&playlist=WA8sLsM3McU

การทำเช่นนี้ถูกต้องคุณอาจจำเป็นต้องตั้งค่าenablejsapi=1และใช้API จาวาสคริปต์

FYI วิดีโอด้านบนวนลูป: http://www.infinitelooper.com/?v=WA8sLsM3McU&p=n#/15;19

ลบการสร้างแบรนด์และวิดีโอที่เกี่ยวข้อง

หากต้องการกำจัดโลโก้ Youtube และรายการวิดีโอที่จะคลิกเมื่อสิ้นสุดการเล่นวิดีโอที่คุณต้องการดูให้เพิ่ม&modestBranding=1&rel=0พารามิเตอร์เหล่านี้ ( ):

http://youtube.googleapis.com/v/WA8sLsM3McU?start=15&end=20&version=3&autoplay=1&modestBranding=1&rel=0

ลบข้อมูลผู้อัปโหลดด้วยshowinfo=0:

http://youtube.googleapis.com/v/WA8sLsM3McU?start=15&end=20&version=3&autoplay=1&modestBranding=1&rel=0&showinfo=0

วิธีนี้จะช่วยลดแถบบางที่มีชื่อวิดีโอนิ้วหัวแม่มือขึ้นและลงและไอคอนข้อมูลที่ด้านบนของวิดีโอ รุ่นสุดท้ายที่ผลิตออกมานั้นค่อนข้างสะอาดและไม่มีข้อเสียที่ทำให้ผู้ชมของคุณออกจากการคลิกที่ไม่ก่อผลใน Youtube เมื่อสิ้นสุดการดูส่วนวิดีโอที่คุณต้องการให้พวกเขาเห็น


จะให้เวลาเป็นนาทีและวินาทีได้อย่างไร
NEO

1
www.youtube.googleapis.com ให้ข้อผิดพลาด ssl กับฉันในขณะที่ youtube.google.com ทำงานได้ อย่างไรก็ตามดูเหมือนว่าจะมีปัญหาของรัฐหากคุณเคยดูวิดีโอมาก่อนแล้วปล่อยทิ้งไว้ ณ จุดหนึ่งผู้เล่นจะข้ามค่าเริ่มต้นที่ระบุและข้ามไปที่ที่คุณออกไปดู
worenga

1
ขอบคุณสำหรับinfinitelooper.com/?v=WA8sLsM3McU&p=n#/15;19 - สิ่งที่ฉันกำลังมองหา
d.popov

ฉันลองhttps://www.youtube.com/embed/[video_id]?start=[start_at_second]&end=[end_at_second]แล้วก็ใช้ไม่ได้ https://www.youtube.com/embed/[video_id]&start=[start_at_second]&end=[end_at_second]เคยทำ. &start=หมายเหตุ
hmj6jmh

@ hmj6jmh นั่นน่ารำคาญ หมายความว่า youtube มีการเปลี่ยนแปลงในลักษณะที่มี&อักขระที่ถูกผลักซึ่งเป็นตัวคั่นแบบสอบถามตามอัตภาพลงในส่วนเส้นทางของ URI
ahcox

6

ใช้พารามิเตอร์ (วินาที) เช่น youtube.com/v/VIDEO_ID?start=4&end=117

สาธิตสด:
https://puvox.software/software/youtube_trimmer.php


สะดวกกว่านี้เพราะคุณสามารถเลือกเวลาแทนการคำนวณวินาที! ในขณะที่ดูเหมือนว่าจะไม่ทำงานในตัวอย่างที่ด้านล่างลิงค์ที่สร้างขึ้นใช้งานได้
Aaron Thoma

4

Youtube ไม่ได้ให้ตัวเลือกใด ๆ สำหรับเวลาที่สิ้นสุด แต่มีเว็บไซต์ที่ให้ทางเลือกนี้เช่น Tubechop มิฉะนั้นลองเขียนฟังก์ชั่นที่หยุดวิดีโอ / ข้ามไปที่ถัดไปเมื่อวิดีโอของคุณเล่นตามระยะเวลาที่ต้องการ

หรือ: โดยใช้ Youtube Javascript player API คุณสามารถทำสิ่งนี้:

function onPlayerStateChange(evt) {
    if (evt.data == YT.PlayerState.PLAYING && !done) {
        setTimeout(stopVideo, 6000);
        done = true;
    }
}

บล็อก Youtube API


2
คำตอบของ mystic11 ทำงานได้อย่างสมบูรณ์แบบสำหรับฉันตอนนี้ ฉันสงสัยว่ามันน่าเชื่อถือหรือไม่
Matthew

3
Youtube doesn't provide any option for an end time, but นี้เป็นธรรม พักผ่อนได้ดี
หัวว่าง

2
@NullHead คุณกำลังมองหาบางสิ่งที่เขียนในปี 2011 สิ่งต่าง ๆ เปลี่ยนไปผู้ชาย
PHARST

1

วันนี้ฉันพบว่าวิธีเก่า ๆ นั้นใช้งานไม่ได้ดีมาก

ดังนั้นฉันจึงใช้: "ปรับแต่งเวลาเริ่มต้นและเวลาสิ้นสุดของ YouTube - Acetrot.com" จากhttp://www.youtubestartend.com/

พวกเขาให้ลิงก์ไปที่ https://xxxx.app.goo.gl/yyyyyyyyyy เช่นhttps://v637g.app.goo.gl/Cs2SV9NEeoweNGGy9 ลิงก์มีการส่งต่อเพื่อจัดรูปแบบเช่นนี้ https://www.youtube.com/embed / xyzabc123? start = 17 & ปลาย = 21 & รุ่น = 3 & autoplay = 1 ไว้


นี่เป็นคำตอบเดียวกับที่โหวตไว้ด้านบน stackoverflow.com/a/11422551/857012
Brian Gordon

ขอบคุณ! ฉันสมมติว่า (อาจหวังว่าจะเป็นคำที่ดีกว่า) นี่จะเป็นคำตอบที่ยาวนานกว่าคำตอบที่ได้รับการโหวตเพราะพวกเขาสามารถอัปเดตเมื่อ YouTube เปลี่ยนรูปแบบ URL ของพวกเขา (คำตอบที่ได้รับคะแนนสูงสุดไม่ทำงานในขณะนี้เพราะ ของการเปลี่ยนแปลงรูปแบบ)
Scott Gartner
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.