การสตรีมใช้แบนด์วิดธ์เท่ากันกับการดาวน์โหลดหรือไม่?


75

สมมติว่าเนื้อหามีคุณภาพเท่ากัน (สตรีมสื่อ), สตรีมมิ่งสื่อ (เช่นวิดีโอ, เสียง) ใช้แบนด์วิดธ์เท่ากันกับการดาวน์โหลดหรือไม่?

ถ้าฉันจะดาวน์โหลดภาพยนตร์ HD จาก Amazon หรือสตรีมมันจะเป็นการใช้แบนด์วิดธ์ที่เทียบเท่าหรือไม่?


2
ขึ้นอยู่กับโปรโตคอลและตัวแปลงสัญญาณ: เช่นดาวน์โหลดผ่าน http และสตรีมผ่าน rtmp หรือ h264 vs vp6 IMO คำถามนี้กว้างเกินไปเนื่องจากปริมาณการบีบอัดและวิธีการส่งข้อมูลเปรียบเทียบ
zamnuts

เพียงชี้แจงคำถามของคุณ ตามแบนด์วิดท์คุณหมายถึงอัตราข้อมูลไม่ใช่ขนาดไฟล์ (ภาพยนตร์)?
Matt H

ข้อดีของการดาวน์โหลดผ่านการสตรีม (ซึ่งเป็นการดาวน์โหลดทางเทคนิค แต่สำหรับการใช้ครั้งเดียวเท่านั้น) คือคุณสามารถใช้วัสดุได้หลายครั้งตามที่คุณต้องการโดยไม่ต้องใช้แบนด์วิดท์ในแต่ละครั้ง ผู้เล่นสื่อบางคนสามารถเล่นวิดีโอที่คุณกำลังดาวน์โหลดอยู่ (ไม่ได้ดาวน์โหลดเต็มรูปแบบ) ทำให้รู้สึก "สตรีมมิ่ง" ด้วยข้อดีของการดาวน์โหลด
ADTC

3
ใช่ฉันหมายถึงอัตราข้อมูล เหตุผลที่ฉันถามคือมีความขัดแย้งกับน้องสาวของฉันและเมื่อฉันดูออนไลน์ทั้งหมดที่ฉันพบคือคำตอบที่คลุมเครือจากคำตอบ yahoo ฉันรู้ว่ามีตัวแปรมากมายที่ขึ้นอยู่กับ แต่ฉันคิดว่าอย่างน้อยก็น่าถาม
stemie

2
"ในระบบเครือข่ายคอมพิวเตอร์และวิทยาการคอมพิวเตอร์แบนด์วิดท์แบนด์วิดท์เครือข่ายแบนด์วิดธ์ข้อมูลหรือแบนด์วิดธ์ดิจิตอลเป็นการวัดอัตราบิตของทรัพยากรการสื่อสารข้อมูลที่มีอยู่หรือใช้แล้วที่แสดงเป็นบิตต่อวินาทีหรือทวีคูณ (บิต / วินาที, kbit / s , Mbit / s, Gbit / s, ฯลฯ ) - wikipedia.org/wiki/Bandwidth_(computing) "
stemie

คำตอบ:


43

มันมักจะไม่เทียบเท่า

ผู้ให้บริการสตรีมมิ่งใช้โปรโตคอลเช่นDASHเพื่อปรับคุณภาพของภาพยนตร์ให้เหมาะสมกับความพร้อมใช้งานแบนด์วิดท์ของผู้ใช้และความต้องการด้านคุณภาพ จากนั้นเซิร์ฟเวอร์อาจ จำกัด อัตราการเชื่อมต่อของคุณเพื่อให้คุณสามารถบัฟเฟอร์จำนวนหนึ่ง (เช่น 10 วินาทีหรือ 30 นาทีหรือทั้งนาที) หลังจากนั้นคุณจะได้รับปริมาณแบนด์วิธที่จำเป็นสำหรับการรับเนื้อหาตามเวลาจริง นี่คือการเพิ่มประสิทธิภาพที่เห็นได้ชัดจากมุมมองของผู้ให้บริการเพราะมันจะกระจายแบนด์วิดธ์ให้กับผู้ใช้อย่างเท่าเทียมกันและหลีกเลี่ยงข้อมูลที่จะถ่ายโอนในไร้สาระ (เช่นเมื่อผู้ใช้ดูภาพยนตร์ 480p เป็นเวลา 10 นาที ด้วย downlink ทั่วไปมีโอกาสที่มากกว่านั้นดาวน์โหลดมาแล้ว แต่ก็สิ้นเปลืองหากผู้ใช้หยุดดูวิดีโอ)

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

Dailymotion เป็นหนึ่งในผู้ให้บริการที่ จำกัด อัตราการเชื่อมต่อ จากเซิร์ฟเวอร์ที่มีการเชื่อมต่อแบบสมมาตรอย่างน้อย 100 Mbit / s เราจะเห็นพฤติกรรมดังต่อไปนี้:

youtube-dl http://www.dailymotion.com/video/xhc3zz_long-distance-calling-into-the-black-wide-open_music
[dailymotion] xhc3zz: Downloading webpage 
[dailymotion] xhc3zz: Extracting information 
[dailymotion] xhc3zz: Downloading embed page 
[download] Destination: LONG DISTANCE CALLING - ' Into The Black Wide Open '-xhc3zz.mp4 
[download]   5.8% of 51.99MiB at 203.89KiB/s ETA 04:06

อัตราต่ำกว่าสิ่งที่เป็นไปได้มาก (และสามารถทำได้กับผู้ให้บริการรายอื่น) นอกจากนี้หากคุณลองเนื้อหาที่แตกต่างคุณจะพบว่าอัตรานั้นขึ้นอยู่กับแต่ละวิดีโอ: วิดีโอแบบ fullhd สามารถดาวน์โหลดได้อย่างง่ายดายด้วย> 1 MiB / s ในขณะที่วิดีโอเพลงเช่นนี้จะอยู่ที่ประมาณหรือต่ำกว่า 200 KiB / s .

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


  1. ฉันรู้ว่านี่เป็นหลักฐานทางทวารหนัก - ฉันได้สังเกตเห็นพฤติกรรมนี้อย่างสม่ำเสมอ

3
@Psycogeek Youtube เป็นหนึ่งในตัวอย่างที่ใช้ DASH (หากความคิดเห็นนี้ไม่สมเหตุสมผลสำหรับคุณโปรดอ่านส่วนเบื้องต้นของบทความที่ฉันเชื่อมโยง) นี่ก็หมายความว่าผู้เล่นที่ลูกค้ากำลังใช้งานอยู่นั้นจะต้องร้องขอวิดีโอตามลำดับ ทำตามขั้นตอนจากที่นั่นเพื่อหยุดขอชิ้นเพิ่มหากผู้เล่นไม่ได้ทำงานเป็นเรื่องธรรมดา ตัวดาวน์โหลดเช่นyoutube-dlจะทำการร้องขอต่อไปเรื่อย ๆ จนกว่าวิดีโอจะถูกดาวน์โหลดจนเต็ม ดังนั้นการสตรีมด้วย DASH จะมีค่าใช้จ่ายเพิ่มขึ้นเล็กน้อย แต่ก็น่าจะคุ้มค่า (สำหรับทั้งผู้ใช้และผู้ให้บริการ) และละเลย
Jonas Schäfer

1
สมมติว่ามีการใช้การเข้ารหัสข้อมูลและคำจำกัดความแบบเดียวกัน (ดูที่ความคิดเห็น psychogeek) การดาวน์โหลดจะใช้แบนด์วิดท์ทั้งหมดมากกว่า การดาวน์โหลดวิดีโอเกือบจะเสร็จสิ้นด้วย TCP ในขณะที่การสตรีมจะเป็น UDP หรือวิธีการจัดส่งที่ไม่รับประกัน ดังนั้น TCP จะมีการส่ง acks น้อยที่สุดและเนื่องจากคุณอาจสูญเสียหรือเสียหายอย่างน้อยสองสามแพ็กเก็ตวิธีการ tcp จะเป็นการดาวน์โหลดที่มากขึ้นเช่นกัน แม้ว่าความแตกต่างจะน้อยมากเมื่อเทียบกับขนาดของการดาวน์โหลดดังนั้นนี่จึงเป็นเรื่องวิชาการ
dsollen

2
@dsollen: หากผู้ส่ง UDP ไม่ปล่อยให้แพ็กเก็ตไหลโดยไม่สนใจว่าผู้รับที่ตั้งใจไว้ยังคงมีอยู่ทั้ง UDP และ TCP จะต้องรับการตอบรับเป็นระยะ ไม่ว่าในกรณีใดการตอบรับจะเป็นเพียงส่วนเล็ก ๆ ของการรับส่งข้อมูลทั้งหมด นอกจากนี้การจัดรูปแบบข้อมูลในลักษณะที่แต่ละแพ็กเก็ตสามารถเข้าใจได้แม้ว่าโดยทั่วไปจะไม่ได้รับแพ็คเก็ตก่อนหน้านี้แสดงถึงค่าใช้จ่ายในระดับที่เกินกว่าสิ่งที่จะต้องใช้สำหรับ TCP
supercat

7
ฉัน downvote คำตอบนี้ถ้าฉันมีตัวแทนเพียงพอ: มันไม่ตอบคำถามวลีสำคัญที่เป็น "คุณภาพเดียวกัน" เมื่อผู้ให้บริการที่มีคุณภาพลดลงนี้ไม่ceteris paribus
zamnuts

1
@ zamnuts จากนั้นโพสต์สิ่งที่ดีกว่าและให้ชุมชนตัดสินใจ FWIW มันเป็นแอปเปิ้ลและส้มเล็กน้อยเมื่อคุณพิจารณาผู้ให้บริการตัดสินใจลดลงคุณภาพ แต่ฉันไม่คิดว่าคำตอบจะสมบูรณ์ถ้าไม่มี
paqogomez

19

สมมติว่าเรากำลังพูดถึงคุณภาพเดียวกัน (เช่นไม่มีการควบคุมปริมาณการข้ามเฟรมหรือสตรีมคุณภาพต่ำ) จากนั้นสตรีมที่ดีที่สุดจะใช้แบนด์วิดท์เท่าจำนวนการดาวน์โหลดแม้ว่าจะทำได้ในเวลา / อัตรา สะดวกกว่ากับผู้ให้บริการ นอกจากนี้ยังอาจใช้แบนด์วิดท์มากขึ้นโดยขึ้นอยู่กับวิธีการบีบอัดวิดีโอซึ่งส่วนใหญ่ไม่ได้ส่งภาพทั้งหมด แต่เป็นการเปลี่ยน (หรือเดลต้า) ระหว่างเฟรม ซึ่งหมายความว่ายิ่งมีประวัติมากขึ้น (เช่นใช้สีฟ้าที่มาจากพิกเซล X ในเฟรม Y) ยิ่งต้องการส่งน้อยเท่าไหร่ โดยทั่วไปจะไม่ปรากฏขึ้นมาก แต่เมื่อกระแสถูกหยุดชั่วคราว / ขัดจังหวะด้วยเหตุผลใดก็ตาม "ประวัติ" นี้จะหายไปและจะต้องมีการส่งอีกครั้งซึ่งจะเป็นการเพิ่มแบนด์วิดท์ในขณะที่มีการดาวน์โหลดก็สามารถดำเนินการต่อ ที่ "หยุด" และสันนิษฐานว่าผู้รับมีข้อมูลนี้อยู่แล้ว สามารถใช้เสียงเดียวกันโดยเฉพาะอย่างยิ่งในกรณีที่ไม่มีอัตราคงที่ (เช่น FLAC แทน mp3)

การกระโดดไปมา (การกระโดดการหมุนซ้ำเป็นต้น) อาจส่งผลต่อการใช้งาน - การเดินหน้าผ่านบัฟเฟอร์จะลดปริมาณแบนด์วิดท์ที่สตรีมใช้ แต่การม้วนซ้ำจะเพิ่มขึ้น นอกจากนี้ยังมีการขัดจังหวะซึ่งจะทำให้การใช้งานเพิ่มขึ้น (ดูด้านบน) และ "ตัวอย่างภาพย่อ" เช่นการใช้ youtube และ netflix ใด ๆ ก็จะเพิ่มแบนด์วิดท์เล็กน้อยเช่นกัน

บันทึกล่าสุด: การบีบอัด: สามารถทำได้สำหรับการดาวน์โหลด แต่ไม่มากนักสำหรับกระแส - ข้อแม้ที่วิดีโอส่วนใหญ่ถูกบีบอัดอยู่แล้วดังนั้นจะไม่ได้รับมากที่นี่ (แม้ว่าอาจมีช่องว่างสำหรับกำไรในระดับสูง แผนกความละเอียดสูง / คุณภาพ)


7

สตรีมมิ่งจะใช้แบนด์วิดธ์น้อยโดยเฉพาะอย่างยิ่งถ้าเงื่อนไขของเครือข่ายจะไม่ดี แต่นี้มาในราคาที่

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

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

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


คุณกำลังบอกว่าบริการสตรีมมิ่งใช้ UDP แทน TCP เพื่ออนุญาตให้มีการส่งข้อมูลโดยเจตนาหรือไม่?
FreeAsInBeer

1
@FreeAsInBeer: ใช่ TCP สร้างกลไกความน่าเชื่อถือและคุณสมบัติอื่น ๆ ที่มีประโยชน์มากสำหรับแอปพลิเคชันที่สามารถจินตนาการได้ แต่กรณีการใช้งานจะมีอยู่ในกรณีที่มีสิ่งที่สำคัญกว่าความน่าเชื่อถือและการสตรีมเป็นหนึ่งในนั้น: สิ่งสำคัญคือการแสดงเฟรมที่ถูกต้องในช่วงเวลาที่เหมาะสมมากกว่าที่จะแสดงทุกเฟรม เกมออนไลน์เป็นอีกตัวอย่างหนึ่งที่ UDP ได้รับความนิยมด้วยเหตุผลเดียวกัน: การหยุดการกระทำเพื่อสร้างรอยทางของผู้เล่นนั้นแย่กว่าการแก้ไขให้ถูกต้องในบางครั้ง
The Spooniest

ที่จริงแล้วหลาย ๆ ระบบจะทำการสตรีมข้อมูลผ่าน TCP และบัฟเฟอร์ที่ฝั่งไคลเอ็นต์ สำหรับการสตรีมภาพยนตร์ความล่าช้าไม่สำคัญ ไม่มีความไม่สะดวกสำหรับผู้ใช้หากบางเฟรมเกิดขึ้นที่จะนั่งในบัฟเฟอร์เป็นเวลาหนึ่งนาทีก่อนที่จะถึงเวลาที่จะแสดงพวกเขา แต่สำหรับประเพณีแบบโต้ตอบเช่นการประชุมทางวิดีโอความล่าช้าเป็นสิ่งสำคัญ
kasperd

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

+1 สำหรับคำตอบที่สับสนน้อยที่สุด (จนถึงปัจจุบัน) ในกระทู้นี้
Cosmic Ossifrage

5

หากคุณกำลังขอ "แบนด์วิดท์" (ไบต์ / วินาที) จริง ๆ และไม่ใช่ "ข้อมูลทั้งหมด" (ไบต์) คำถามที่สำคัญคือ: ในช่วงเวลาใด หากเราสมมติว่าผู้ใช้ดูวิดีโอทั้งหมดและมีการส่งคืนตัวแปลงสัญญาณ / คุณภาพเดียวกันและไม่สนใจการร้องขอ / การตอบกลับแบบสตรีมเล็ก ๆ จำนวนมากข้อมูลทั้งหมดที่ส่งคืนจะมีค่าเท่ากัน

ทีนี้แบนด์วิดธ์คืออะไร? มีสองวิธีที่จะเข้าใจคำถามของคุณ:

  1. แบนด์วิดท์ในช่วงเวลาจนกว่าการดาวน์โหลดจะเสร็จสมบูรณ์ สำหรับการสตรีมคุณควรเห็นเดือยของแบนด์วิดธ์สูง (เมื่อมีการร้องขอไฟล์ถัดไป) ซึ่งกลับไปที่ศูนย์ในขณะที่คุณรับชมก้อนนั้นจนกว่าคุณจะใกล้ถึงจุดสิ้นสุดของก้อนและมีแบนด์วิดธ์เพิ่มขึ้นอีกครั้ง สำหรับการดาวน์โหลดคุณควรเห็นแบนด์วิดท์ที่สูงมากเช่น 10 นาทีซึ่งลดลงเหลือศูนย์ทันทีที่ดาวน์โหลดวิดีโอทั้งหมด หากคุณหยุดการทดสอบตอนนี้แบนด์วิดท์สำหรับดาวน์โหลดจะสูงขึ้นอย่างเห็นได้ชัดเพราะมันจะทำการดาวน์ลิงก์ของคุณจนเต็ม

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

ในตัวอย่างด้านล่างมีการดาวน์โหลดทั้งหมด 40 (หน่วยข้อมูล) แต่สำหรับ "การดาวน์โหลด" จะมี 40 หน่วยในช่วงเวลาแรกส่วนสำหรับ "การสตรีม" จะอยู่ที่ 20 ในช่วงหน่วยแรก (เพื่อให้ได้ก้อนใหญ่ครั้งแรก) จากนั้นสองครั้ง 10 สำหรับสองก้อนเพิ่มเติม โปรดทราบว่าในขณะที่แบนด์วิดท์ถูกพล็อตบนแกน y พื้นที่ใต้กราฟแต่ละกราฟจะสอดคล้องกับข้อมูล (ไบต์) หากคุณรวมไบต์ / เวลาในช่วงเวลาหนึ่งคุณจะได้รับไบต์


4

พวกเขาจะไม่เทียบเท่า

สำหรับอินสแตนซ์แรกการเข้ารหัสที่ดีที่สุดสำหรับการดูในเครื่องนั้นแตกต่างจากการเข้ารหัส optima สำหรับการรับชมแบบสตรีม

มาพูดเกี่ยวกับการเข้ารหัสวิดีโอกัน

ในรูปแบบการเข้ารหัสวิดีโอส่วนใหญ่มักจะมีสองประเภทของเฟรม:

  1. เฟรมภายในรหัส (I-Frame) - เป็นเฟรมที่ถ่ายโอนแบบเต็มเฟรมนี้สามารถถอดรหัสได้โดยไม่ต้องรู้กรอบอื่น ๆ เฟรมภายในเฟรมนั้นเป็นรูปภาพนิ่ง ตัวเข้ารหัสจะสร้างสิ่งเหล่านี้ในระหว่างการเปลี่ยนภาพอย่างฉับพลัน สิ่งเหล่านี้มีประสิทธิภาพน้อยกว่าในการบีบอัด
  2. ทำนายเฟรม (P-Frame) หรือเฟรมคาดการณ์สองทาง (B-Frame) - เฟรมเหล่านี้เป็นเฟรมที่เก็บเฉพาะความแตกต่างระหว่างเฟรมมันสามารถถอดรหัสได้เฉพาะเมื่อผู้ดูรู้จักเฟรมก่อนหน้าและ / หรือหลังเท่านั้น สิ่งเหล่านี้มีประสิทธิภาพมากกว่าในการบีบอัด

การเข้ารหัสเพื่อการรับชมในพื้นที่สามารถใช้ประโยชน์จากการค้นหาดิสก์อย่างรวดเร็วเพื่อใช้ประโยชน์จากเฟรม P และ B มากขึ้นในขณะที่วิดีโอที่เข้ารหัสเพื่อการสตรีมที่มีประสิทธิภาพจะต้องเข้ารหัส I-Frame ที่ซ้ำซ้อนมากขึ้นตลอดทั้งวิดีโอ การค้นหาแบบสุ่ม

นอกจากนี้ยังมีการสตรีมสองประเภทที่แตกต่างกัน คุณสามารถสตรีมสตรีมที่บันทึกไว้ล่วงหน้า (วิดีโอ Youtube ส่วนใหญ่) และสตรีมเหตุการณ์สด (เช่น Youtube Live) เนื่องจากความต้องการเวลาแฝงทำให้การสตรีมเหตุการณ์สดไม่สามารถใช้ประโยชน์จากเทคนิคการเข้ารหัสขั้นสูงซึ่งใช้เวลานานหรือไม่แน่นอนในขณะที่สตรีมที่บันทึกไว้ล่วงหน้าอาจใช้เวลานานเท่าที่จำเป็นในการเข้ารหัส

วิดีโอสตรีมมักจะถูกเข้ารหัสด้วยอัตราบิตคงที่ (CBR) สำหรับขนาดเป้าหมายเดียวกันวิดีโออัตราบิตตัวแปร (VBR) จะมีคุณภาพสูงกว่าวิดีโอ CBR ในทางกลับกันวิดีโอ VBR นั้นเล็กลงสำหรับคุณภาพวิดีโอ CBR แบบเดียวกัน โปรโตคอลสตรีมแบบปรับตัวเช่น DASH มีบิตเรตที่ปรับเปลี่ยนได้ (ABR) ซึ่งเป็นการประนีประนอมระหว่าง CBR และ VBR ABR ช่วยให้ผู้ดูปรับให้เข้ากับการเปลี่ยนแปลงในแบนด์วิดท์เครือข่าย เมื่อพิจารณาแบนด์วิดท์ที่คงที่สม่ำเสมอ ABR จะมากหรือน้อยเหมือนกับ CBR

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

จากนั้นยังมีโอเวอร์เฮดในโปรโตคอลการสตรีม การดาวน์โหลด HTTP ปกติสามารถใช้การเข้ารหัสการถ่ายโอนแบบ chunked เพื่อดาวน์โหลดไฟล์ทั้งหมดซึ่งมีค่าใช้จ่ายน้อยมาก การดาวน์โหลดแบบสตรีมจะต้องเจรจาชิ้นและคุณภาพของก้อนเพื่อถ่ายโอน ในรูปแบบที่ยิ่งใหญ่ของสิ่งต่าง ๆ ค่าใช้จ่ายของโปรโตคอลการถ่ายโอนค่อนข้างน้อย

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


1

คำตอบคือ "ขึ้นอยู่กับ"

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

หากคุณดาวน์โหลด HTTP แล้วอัลกอริทึมการควบคุมอัตรา TCP จะเริ่มทำงานเพื่อให้แน่ใจว่าคุณอิ่มตัวจุดสิ้นสุดของการเชื่อมต่อหรือปลายด้านใดด้านหนึ่งหรือทั้งสองอย่าง ดังนั้นถ้าคุณมี 100Mbit มันจะใช้ทั้งหมดที่สามารถรับได้หรือใกล้ 100Mbit

แน่นอนว่าไม่มี QoS เกิดขึ้นระหว่างลูกค้ากับเซิร์ฟเวอร์

คำถามของคุณหลวมมากจนฉันสามารถทำได้เพื่อให้ในการตั้งค่าไร้เดียงสาบางคำตอบก็คือใช่ (ด้วยสมมติฐาน) แบนด์วิดท์เหมือนกัน ในการทำเช่นนั้นเพียงแค่วางไฟล์ลงบนเว็บเซิร์ฟเวอร์พื้นฐานของคุณและเปิดด้วยเบราว์เซอร์ของคุณเพื่อให้ผู้ชมเริ่มเล่นหรือฝังวิดีโอบนเว็บเซิร์ฟเวอร์พื้นฐานของคุณและอีกครั้งมันจะเล่นในเบราว์เซอร์และใช้แบนด์วิดธ์เหมือนกัน ข้อสันนิษฐานต่อไปนี้ ... ไม่มีผู้ใช้รายอื่นไม่มีใครแบ่งปันเครือข่ายกับคุณ ... ไม่มีปัจจัยอื่นใดในการเล่นที่อาจเปลี่ยนแบนด์วิดท์ของคุณ

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

ดังนั้นคุณมีมัน ... มันขึ้นอยู่กับ


"แบนด์วิดท์ระหว่างการดาวน์โหลดครั้งแรกและครั้งที่สองอาจแตกต่างกันไป" แต่แน่นอนว่ามันกำลังดาวน์โหลดข้อมูลจำนวนเท่ากันในตอนท้ายแม้ว่าจะใช้เวลานานกว่าการเปลี่ยนแปลงอื่น ๆ / เงื่อนไขของเครือข่ายก็เปลี่ยนไป
stemie

@stemie มันจะปิด โปรโตคอลที่ต่างกันจะเพิ่มโอเวอร์เฮดของโปรโตคอล แต่ถ้าไม่มีการแปลงรหัสหรือคุณภาพ / อัตราการเปลี่ยนแปลงในระหว่างกระบวนการสตรีมมิ่งมันควรจะเป็นจำนวนข้อมูลวิดีโอในทางทฤษฎี
Matt H

1

จากมุมมองเครือข่าย "ดาวน์โหลด" และ "สตรีม" เป็นบริการที่แตกต่างเรียกว่า "โปรไฟล์การจราจร"

สำหรับบริการสตรีมเครือข่ายจะต้องให้ปริมาณงานคงที่ขั้นต่ำ (ทางเทคนิค "แบนด์วิดท์" หมายถึงสิ่งที่แตกต่างกัน) บริการสตรีมมิ่งนั้นมีความอ่อนไหวต่อการขัดจังหวะและการสั่นสะเทือน ไม่จำเป็นต้องมีการรับส่งข้อมูลเครือข่ายสูงสุดความล่าช้าหรือความหน่วงไม่สำคัญ

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

"การดาวน์โหลด" มักจะต้องใช้เครือข่ายที่เป็นไปได้สูงสุดการดาวน์โหลดจะถูกกำหนดให้เร็วที่สุด ความล่าช้าการขัดจังหวะและการกระวนกระวายใจไม่สำคัญ

เครือข่ายอาจมีโปรไฟล์การรับส่งข้อมูลที่แตกต่างกันโดยสิ้นเชิง ตัวอย่างเช่นบริการเสียง (โทรศัพท์ธรรมดา) ต้องการปริมาณงานที่ต่ำมาก แต่มีความอ่อนไหวมากสำหรับความล่าช้า (น้อยกว่า 200 ms)


0

เพื่อเพิ่มการตอบอื่น ๆ คำตอบของฉันคือไม่จำเป็นต้อง

ตอนนี้สมมติว่าทุกอย่างเท่ากัน (ไม่มีการเลือกคุณภาพแบบอัตโนมัติไม่มีการควบคุมปริมาณจากเซิร์ฟเวอร์และ / หรือ ISP) ...

แบนด์วิดท์มักจะถูกกำหนดเป็น size_of_data หารด้วย total_time (ในทางเทคนิคคำว่า 'เหมาะสม' คือปริมาณงาน แต่ฉันพูดนอกเรื่อง)

สมมติว่าคุณกำลังสตรีมวิดีโอขนาด 2000 วินาทีที่มีขนาด 60 MB

ด้วยการสตรีมโปรแกรมสตรีมอาจทำการ จำกัด อัตราของตัวเองเพื่อป้องกันไม่ให้บัฟเฟอร์ล้น ดังนั้นส่วนหัวคำขอ HTTP มันอาจรวมถึงข้อมูลช่วง ประสิทธิภาพแบนด์วิดธ์สตรีมมิ่งตั้งแต่เริ่มต้นจนสิ้นสุดการสตรีมแล้วก็จะ ~ 60 MB / 2000 วินาที = 30 KB / s = 240 กิโลบิตต่อวินาที

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


0

การสตรีมเป็นวิธีดาวน์โหลดอย่างแท้จริง

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

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

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

โดยปกติไซต์สตรีมมิ่งจะเข้ารหัสเนื้อหาของตนให้มีอัตราบิตต่ำกว่าดิสก์ที่ซื้อจากร้านค้า แต่คุณสามารถรับชมภาพยนตร์จากเดสก์ท็อปพีซีของคุณผ่านโน้ตบุ๊กผ่าน WiFi โดยใช้ฟังก์ชั่นแชร์ไฟล์ของระบบปฏิบัติการของคุณและมันจะใช้ปริมาณการรับส่งข้อมูลเกือบเท่ากันกับที่คุณดูบนเดสก์ท็อป ขับรถ) ในทางเทคนิคแล้วมันจะเป็นสตรีมมิ่งในขณะที่คุณดูภาพยนตร์ในขณะที่บางส่วนของมันกำลังถูกดาวน์โหลดและทิ้งอย่างต่อเนื่อง

ดังนั้นคำตอบก็คือมันขึ้นอยู่กับขนาดของไฟล์ทั้งสอง - สตรีมผ่านเครื่องเล่นมีเดียและดาวน์โหลดไปยังดิสก์


0

การสตรีมจะใช้ปริมาณการดาวน์โหลดของคุณดังนั้นคุณสามารถพิจารณาว่าเป็นการดาวน์โหลด คำถามของคุณค่อนข้างคลุมเครือเล็กน้อยกับสิ่งที่คุณพิจารณาว่าเป็นการดาวน์โหลด คุณสามารถดาวน์โหลดอัปโหลดได้มากเท่าที่จะทำได้และยินดีที่จะเสนอ ดังนั้นในที่สุดหากคุณต้องการเปรียบเทียบการดาวน์โหลดโดยตรงจาก HTTP ผ่าน DASH (ยังคงเป็น HTTP) ตัวอย่างเช่นคุณจะต้องตรวจสอบว่าคุณดาวน์โหลดมากน้อยแค่ไหน

ดังนั้นฉันเดาว่าคำตอบคือสามารถใช้จำนวนเท่ากัน ... หรือน้อยกว่า ... หรือมากกว่านั้น ขึ้นอยู่กับเซิร์ฟเวอร์และอัตราการให้บริการ


-2

ใช่มันเทียบเท่า ดาวน์โหลด = คุณดาวน์โหลดเพียงครั้งเดียวและจะยังคงอยู่ในคอมพิวเตอร์ของคุณ สตรีม = คุณดาวน์โหลด "บางสิ่ง" "ไปยังคอมพิวเตอร์ของคุณชั่วคราว


มีความแตกต่างระหว่างปริมาณข้อมูลที่ถ่ายโอนและแบนด์วิดท์ที่ใช้
Jonas Schäfer

ดีบน Android ของฉันดูวิดีโอจากสตรีมหรือดาวน์โหลดมันมีการใช้ข้อมูลเดียวกัน
Tiago Ribeiro

@JonasWielicki ปราชญ์เคยกล่าวไว้ว่า: "ปริมาณของข้อมูลที่ถ่ายโอนเหมือนกัน" จำนวนแบนด์วิดท์ที่ใช้แน่นอนแตกต่างกันไปเนื่องจากการบัฟเฟอร์ความเร็วในการถ่ายโอนจะช้าลงเมื่อเวลาผ่านไป
Nenotlep

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