YouTube เข้ารหัสการอัปโหลดของฉันอย่างไรและฉันควรใช้ตัวแปลงสัญญาณใดในการอัปโหลด


25

เกี่ยวข้องกับตัวแปลงสัญญาณ / รูปแบบใดที่เหมาะสมสำหรับการบันทึกวิดีโอแบบเคลื่อนไหวเต็มรูปแบบสำหรับ youtube? ฉันสงสัยว่าฉันจะคาดหวังได้อย่างไรว่า Youtube จะจัดการวิดีโอของฉันได้ ฉันรู้ว่าพวกเขามีการตั้งค่าการประมวลผลที่ค่อนข้างกระตือรือร้นที่สร้างการอัปโหลดหลายชุดที่ความละเอียดต่างกัน 1080p, 720p และ 480p และเห็นได้ชัดว่าเป็นมือถืออย่างน้อยที่สุด

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

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


นี่คือเครื่องมือในการดูรูปแบบที่มีอยู่สำหรับวิดีโอ: h3xed.com/web-and-internet/ …
akostadinov

คำตอบ:


31

ข้อมูลทั่วไปเกี่ยวกับรูปแบบที่ใช้:

YouTube ใช้รูปแบบคอนเทนเนอร์ 4 แบบและตัวแปลงสัญญาณ 4 แบบ ขึ้นอยู่กับความนิยมของวิดีโอที่ตัวแปลงสัญญาณที่ใช้สำหรับวิดีโอของคุณ (ดูด้านล่างสาเหตุ) โดยทั่วไปวิดีโอที่คุณอัปโหลดทั้งหมดจะได้รับการเข้ารหัสใน h.264 และจะถูกรวมเข้าในคอนเทนเนอร์. flv และ. mp4 นั่นเป็นมาตรฐานและจะเกิดขึ้นสำหรับวิดีโอทุกรายการ แม้ว่า. flv จะใช้สำหรับความละเอียดต่ำกว่า 720p เท่านั้น ความหมายเพียง 360p และ 480p จะมีอยู่ในคอนเทนเนอร์. flv แม้ว่าวิดีโอทุกรายการที่ต่ำกว่า 720p จะมีเวอร์ชั่น mp4 ให้ใช้งานเช่นกัน สำหรับ 240p YouTube ยังใช้ 3gp ซึ่งเป็นตัวแปลงสัญญาณที่ค่อนข้างเก่า (อิงจาก MPEG-4 ตอนที่ 2 (เพื่อไม่ให้สับสนกับ MPEG4 ตอนที่ 10 หรือที่ h.264) หมายถึงอุปกรณ์มือถือ (มานานก่อนยุคสมาร์ทโฟน) ภาชนะ. 3gpp

ตัวแปลงสัญญาณอื่นที่ใช้คือ VP8 ซึ่งมาในรูปแบบคอนเทนเนอร์ WebM WebM เป็นรูปแบบที่พัฒนาโดย Google และมีความหมายว่าเป็นตัวแปลงสัญญาณวิดีโอมาตรฐานสำหรับ HTML5 การสนับสนุนเป็นตอนนี้ค่อนข้างดีในเบราว์เซอร์ที่ทันสมัยที่สุด WebM ถูกนำมาใช้กับ YouTube รุ่น HTML5 YouTube เข้ารหัสวิดีโอบางรายการใน WebM หลังจากอัปโหลดและวิดีโอยอดนิยมส่วนใหญ่เท่านั้น (ดำเนินการโดยวิดีโอที่ฉันเห็นเข้ารหัสใน WebM) ดังนั้นจึงไม่แน่ใจว่าวิดีโอของคุณจะปรากฏใน WebM แม้ว่าสิ่งนี้จะเปลี่ยนแปลงไปเมื่อ WebM ได้รับการสนับสนุนเพิ่มเติม

ในตอนนี้ YouTube ก็รองรับ VP9 ใน WebM ด้วยเช่นกัน แต่จนถึงตอนนี้ Chrome เท่านั้นที่รองรับตัวแปลงสัญญาณนี้ (จนถึงวันที่ 06/2015) ด้วย VP9 พวกเขายังแนะนำการสนับสนุนตัวแปลงสัญญาณเสียง Opus (นอกเหนือจาก AAC ซึ่งใช้ในคอนเทนเนอร์อื่น ๆ ทั้งหมด)

ในเรื่องของคำถามที่เชื่อมโยงของคุณ (พวกเขาควรจะถูกผสาน?)

คุณควรใช้ตัวแปลงสัญญาณ / คอนเทนเนอร์ใดในการอัปโหลด

ขึ้นอยู่กับว่าหากคุณถูก จำกัด / เกี่ยวข้องกับความเร็วในการอัพโหลดของคุณให้ใช้ h.264 ระดับ 3.1 / 4.1 กับโปรไฟล์หลักสำหรับ SD หรือโปรไฟล์สูงสำหรับ HD YouTube จะยอมรับสิ่งนี้ได้ดีและมันจะดูดีหลังจากที่ถูกเข้ารหัสโดยเซิร์ฟเวอร์ YouTube ฉันมักจะแนะนำบิตเรตประมาณ ~ 4-5 Mbit / s สำหรับวัสดุ 720p และ ~ 8-9 Mbit / s สำหรับ 1080p สำหรับ 4k ไปสำหรับ ~ 15Mbit / s นี่คือความสมดุลระหว่างขนาดและคุณภาพที่ดี หากคุณต้องการคุณภาพที่ดีขึ้นให้ใช้บิตเรตที่สูงขึ้นและหากคุณต้องการวิดีโอที่มีขนาดเล็กลงให้ใช้บิตเรตที่ต่ำกว่า

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

แต่ถ้าคุณต้องการทำแบบ "สมบูรณ์แบบ" จริงๆให้ใช้ตัวแปลงสัญญาณการผลิตและไม่ใช่ตัวแปลงสัญญาณผู้บริโภคเช่น h.264 MJPEG จะเป็นตัวแปลงสัญญาณที่ดีสำหรับสิ่งนั้น YouTube สนับสนุนอย่างแน่นอนในคอนเทนเนอร์. avi หรือ. mov MJPEG เป็นตัวแปลงสัญญาณที่สูญเสีย แต่คุณภาพของภาพจะเหมือนกับแหล่งที่มา (หากคุณเลือกการตั้งค่าคุณภาพสูงพอนี่คือ JPEG ที่เป็นตัวแปลงสัญญาณวิดีโอจริง) การใช้ตัวแปลงสัญญาณแบบไม่สูญเสียจริงจะทำให้เสียพื้นที่ฮาร์ดไดรฟ์และแบนด์วิดท์ในความคิดของฉัน

แต่ถ้าคุณต้องการอัปโหลดวิดีโอของคุณแบบไม่สูญเสียไปอย่างแท้จริงและไม่สนใจเวลาอัปโหลดฉันขอแนะนำให้ใช้ตัวแปลงสัญญาณ QuickTime แบบมาตรฐานเพราะควรได้รับการสนับสนุนจาก YouTube เกือบทั้งหมด (โปรดทราบว่าไม่ใช่ทั้งหมดที่พวกเขาสูญเสีย h264 ตัวแปลงสัญญาณ QuickTime มาตรฐาน) แม้ว่า YouTube จะไม่ระบุว่ารองรับ QuickTime Codecs หรือไม่ แอนิเมชันหรือ JPEG2000 น่าจะใช้ได้ ตัวแปลงสัญญาณทั้งสองสามารถสูญเสียได้ 100%

เมื่อพูดถึงอัตราเฟรมถ้าคุณสามารถเลือกได้ให้ใช้ 25FPS (ตอนนี้ YouTube ยังรองรับวิดีโอ 50 และ 60FPS ดังนั้นอาจเป็น 30FPS) ในระหว่างการบันทึก / แอนิเมชั่น YouTube ชอบมากที่สุด (อัตราเฟรมที่ใช้สำหรับวิดีโอทุกวิดีโอ) แต่ หากวิดีโอของคุณมีอัตราเฟรมอื่นอยู่แล้วให้ติดกับที่และไม่ได้สอดแทรกขึ้นหรือลง YouTube จะจัดการการแปลงให้กับคุณและโดยทั่วไปจะทำได้ดีกว่าโปรแกรมเปลี่ยนไฟล์ของคุณ พวกเขาต้องจัดการกับ framerates ทุกชนิดทุกวันและแก้ไขปัญหานี้ (จริง ๆ ซับซ้อนมาก) ดีจริง ๆ

เสียง:

สำหรับเสียงใช้ PCM ถ้าคุณต้องการที่จะไม่สูญเสียเสียงด้วยเช่นกัน แต่อีกครั้งนี่เป็นเพียงการปรับปรุงคุณภาพทางทฤษฎี โดยปกติแล้ว AAC จะทำงานที่มีคุณภาพเดียวกัน (ฉลาด) และมีขนาดเล็กลง ฉันแนะนำบิตเรตอย่างน้อย 192kbps สำหรับ AAC ขนาดของผลกระทบมักไม่ใหญ่เท่ากับตัวแปลงสัญญาณวิดีโอดังนั้นคุณสามารถไปกับ 320kbps YouTube จะแปลงเสียงเป็น ~ 24kbps (มือถือ 3gp) ~ 64kbps (240p), ~ 128kbps (360p / 480p) และ ~ 192kbps (720p +) โดยใช้ตัวแปลงสัญญาณ AAC และ Opus (WebM เท่านั้น)


3
ฉันเห็นด้วยกับคำตอบนี้ แต่มีข้อ จำกัด ในทางปฏิบัติคือความเร็วในการอัพโหลด คุณอนุญาตให้อัปโหลดนานเท่าใด วันหยุดสุดสัปดาห์ทั้งคืนหรือสองสามชั่วโมงจนกระทั่งสิ้นสุดวันทำงานของคุณ ฉันตั้งขีด จำกัด ไว้ที่ 2 GB สำหรับวิดีโอ 10 นาทีซึ่งต้องใช้เวลาอัปโหลดประมาณ 4 ชั่วโมงในกรณีของฉัน แต่นี่เป็นการ จำกัด คุณภาพหรือไม่ วิดีโอ 2 GB ของฉันมีอัตราบิต 30 Mbit / s ซึ่ง YouTube แปลงเป็น 3 Mbit / s การเข้ารหัสแบบไม่สูญเสียจะทวีคูณเวลาอัปโหลด แต่เอาต์พุต YouTube จะยังคงอยู่ที่ 3 Mbit / s โปรดตั้งค่าขีด จำกัด ส่วนบุคคลของคุณด้วยตัวเอง
Fred42vid

แน่นอนว่าทำไมฉันถึงทำให้มัน (หวังว่า) ค่อนข้างชัดเจนว่ามันเป็นทฤษฎีและไม่มีทางปฏิบัติ แนะนำให้ใช้ H.264 ในเกือบทุกกรณี การใช้งานจริงอย่างเดียวสำหรับ MJPEG ที่ฉันนึกได้คือเมื่อแถบสีเกิดขึ้นด้วยการเข้ารหัส h.264 แรกซึ่งจะแย่ลงเมื่อใช้การเข้ารหัสที่สองจาก YouTube
PTS

1
Youtube สนับสนุนโปรไฟล์ระดับสูง h.264 ดังนั้นคุณควรใช้มันเสมอ โปรไฟล์หลักสำหรับเนื้อหา SD เป็นเรื่องไร้สาระ การออกจาก 8x8dct เป็นความคิดที่ไม่ดีเสมอ ใน x264 การเปิดใช้งาน 8x8dct เป็นการแลกเปลี่ยนเวลา CPU ที่มีประสิทธิภาพมากที่สุดเพื่อคุณภาพที่ดีขึ้นต่อขนาดไฟล์ (อัตราการบิดเบือนหรือ RD)
Peter Cordes

2
H.264 จะดูดีขึ้นมากที่บิตเรตเดียวกันกับ MJPEG หากคุณต้องการคุณภาพที่ดีขึ้นเพียงเปิดบิตเรต (หรือการตั้งค่าคุณภาพในคุณภาพคงที่แทนที่จะเป็นโหมดบิตเรตเป้าหมาย) คุณสามารถไปตลอดทางจนถึง lossless h.264 ถ้าคุณไม่รังเกียจที่จะอัพโหลดไฟล์ขนาดใหญ่ มันอาจจะเล็กกว่า lossless j2k ทั้งสองอย่างมีคุณภาพที่สมบูรณ์แบบเนื่องจากเป็นสิ่งที่ไม่สูญเสียความหมาย
Peter Cordes

1
สำหรับเสียง IDK ถ้า youtube รองรับ FLAC หรือไม่ ถ้าเป็นเช่นนั้นนั่นจะเป็นทางเลือกสู่การสูญเสียของคุณ มิฉะนั้นใช่ AAC อัตราบิตสูงทำด้วยการเข้ารหัสที่ดี ( -c:a libfdk-aacไม่ใช่faacตัวaacเข้ารหัสเริ่มต้นหรือ builtin ใน ffmpeg)
Peter Cordes

5

รูปแบบใดที่วิดีโอของ YT ส่งออกขึ้นอยู่กับปัจจัยต่าง ๆ สำหรับวิดีโอทั่วไปส่วนใหญ่จะใช้สตรีมที่เข้ารหัส H264 สำหรับวิดีโอ (AAC หรือ MP3 สำหรับเสียง) ในรูปแบบของไฟล์คอนเทนเนอร์ MP4 และ FLV

สิ่งเหล่านี้เป็นเพียงคอนเทนเนอร์ที่เก็บข้อมูลวิดีโอที่เข้ารหัส - แม้ว่ารูปแบบที่เข้ารหัส H264 จะไม่รับประกันกับไฟล์ FLV (หรือในทางทฤษฎีกับไฟล์ MP4) เนื่องจากพวกเขาสามารถเก็บ Sorenson Spark, On2 VP6 และอื่น ๆ (โดยเฉพาะกรณีที่มีวิดีโอเก่า )

FLV ถูกใช้เนื่องจากรับประกันว่าจะสามารถเล่นกับ Flash-player ได้

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

นอกจากนี้ยังมีรูปแบบอื่นนอกเหนือไปจากสิ่งเหล่านี้เช่น 3GP, WEBM เช่นเดียวกับภาพยนตร์ 3D โทรศัพท์บางรุ่นไปยังโทรศัพท์เป้าหมายและมาตรฐาน Html5 ใหม่ (ถูกนำไปใช้งานตามที่เราพูด) ซึ่งสามารถเล่นวิดีโอได้โดยตรงด้วย html (เช่น. โดยไม่ใช้โปรแกรมเล่นแฟลช)

แต่กลับไปที่รูปแบบที่พบบ่อยที่สุด: คุณภาพที่ชาญฉลาดมันไม่สำคัญเลย หากมี FLV H264 คุณสามารถเล่นเพียงแค่นี้ปรับเป็นไฟล์ MP4 กับภาชนะ f.ex VideoLAN VLC ของผู้เล่น หาก FLV ไม่มี H264 และคุณต้องการให้เป็นคอนเทนเนอร์ MP4 ที่ถือ H264 คุณจะต้องทำการถอดรหัสใหม่ซึ่งหมายความว่าคุณจะสูญเสียคุณภาพ

ในขณะนี้ YT ดูเหมือนจะชอบ H264 ฉันขอแนะนำให้อัปโหลดในรูปแบบนี้เช่นกัน (ดูข้อมูลเกี่ยวกับขนาดและอัตราบิตเพื่อหลีกเลี่ยงการบันทึกซ้ำสำหรับความละเอียดที่ดีที่สุด)



0

คำถามของคุณคือ "YouTube เข้ารหัสการอัปโหลดของฉันอย่างไรและฉันควรใช้ตัวแปลงสัญญาณใดในการอัปโหลด"

การขุดลึกลงไปในคำถามของคุณฉันเห็น: "ฉันควรปรับการเข้ารหัสของตัวเองเป็น" play nice "ด้วยตัวแปลงสัญญาณของ Youtube หรือเป็นเรื่องสำคัญที่มีคุณภาพฉลาดหรือไม่ฉันรู้ว่าฉันสามารถขว้างอะไรบน Youtube ได้แล้ว ฉันส่วนใหญ่เกี่ยวข้องกับคุณภาพของวิดีโอ ".

คำตอบคือ YouTube ใช้ Lavf57.25.100 เพื่อเข้ารหัสวิดีโอใหม่ในขณะที่วิดีโอที่มีอายุไม่กี่ปีถูกเข้ารหัสด้วย Encoder ที่เป็นกรรมสิทธิ์ (ที่ไม่มี "Lavf57.25.100" ฝังอยู่ใน ID แต่แทนที่จะมีประโยคนี้: "IsoMedia File Produced โดย Google, 5-11-2011 ") วิดีโอเก่าไม่ได้ถูกเข้ารหัสใหม่เมื่อมีการเปลี่ยนแปลงอัลกอริทึม

มันเป็นที่ยอมรับที่จะใช้ตัวแปลงสัญญาณที่แตกต่างกันของ YouTube recommendeds H.264 - ดูที่นี่: https://support.google.com/youtube/answer/1722171?hl=en

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

หากคุณอัปโหลดวิดีโอความละเอียด 1080p ที่ 60FPS ความละเอียดสูงสุดที่พร้อมใช้งานคือ 720P (ที่ 60 FPS บนอุปกรณ์พกพาความสามารถ 1080P) การอัปโหลดวิดีโอ 1080P ที่ 29.97 FPS อนุญาตให้รับชม 1080P บนอุปกรณ์มือถือ

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

ดู: https://support.google.com/youtube/answer/1722171?hl=en

ขอให้สังเกตว่าการแก้ไขที่แตกต่างกันและ 'ความคาดหวังด้านคุณภาพ' สำหรับวิดีโอ 4K ที่มีความคาดหวังต่ำคุณสามารถอัปโหลดวิดีโอที่มีอัตราบิต 35-45 Mbps แต่ถ้าคุณเป็น "ผู้ผลิต" และคุณภาพคือเป้าหมายของคุณคุณต้องการทั้งเฟรมที่สูงกว่าและใช้อย่างน้อย 66-85 Mbps สำหรับ บิตเรตของกล้อง (ก่อนที่จะบีบอัดเบา ๆ )

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

บันทึกโดยใช้กล้องคุณภาพการผลิตวิดีโอที่มีอัตราเฟรมสูงและบิตเรตบีบอัดเบา ๆ (Ffmpeg Q = <10) เพื่อให้ได้ผลลัพธ์ที่ดีที่สุด - "ตัวแปลงสัญญาณ" (คำพูดของคุณ) ไม่ใช่ปัจจัยกำหนดเพียงอย่างเดียว อันเก่า)

Ffmpeg รองรับ. MP4 Containers และ H.264 Codec ดังนั้นให้ใช้มัน

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

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