YouTube mã hóa các video tải lên của tôi như thế nào và tôi nên sử dụng codec nào để tải lên?


25

Liên quan đến những codec / định dạng nào phù hợp để quay video chuyển động hoàn toàn cho youtube? Tôi đang tự hỏi chính xác làm thế nào tôi có thể mong đợi Youtube xử lý các video của mình. Tôi biết họ có một quy trình xử lý khá nhiệt tình được thiết lập để tạo ra nhiều bản sao tải lên của tôi ở các độ phân giải khác nhau; 1080p, 720p và 480p và ít nhất là một thiết bị di động.

Họ sử dụng codec nào? Là nhà sản xuất, tôi có một tùy chọn để tải xuống tệp dưới dạng MP4; tuy nhiên tôi lưu ý một trình tải xuống của bên thứ ba (cực kỳ mờ ám và nhảm nhí) mang các tệp xuống dưới dạng FLV. Về cơ bản, tôi tự hỏi liệu codec của tôi sẽ được bảo tồn hay ghi đè bằng H.264 hay bất cứ thứ gì họ sử dụng. Xem xét khả năng tương thích tuyệt vời của chúng trên các thiết bị, tôi cho rằng chúng sử dụng một tiêu chuẩn rất phổ biến hoặc nhiều codec cho mỗi video.

Vì vậy, codec nào tôi có thể mong đợi các video của mình được xuất ra và nếu phụ thuộc vào nó, nó phụ thuộc vào cái gì? Tôi có nên điều chỉnh mã hóa của riêng mình để "chơi đẹp" với codec của Youtube hay không, có quan trọng không, có chất lượng không? Tôi biết tôi có thể ném khá nhiều thứ lên Youtube và nó sẽ lấy nó, vì vậy tôi chủ yếu quan tâm đến chất lượng video.


đây là một công cụ để xem các định dạng có sẵn cho video: h3xed.com/web-and-iNET/iêu
akostadinov

Câu trả lời:


31

Một số thông tin chung về các định dạng được sử dụng:

YouTube sử dụng 4 định dạng chứa và 4 codec khác nhau. Nó phụ thuộc vào mức độ phổ biến của video mà codec được sử dụng cho video của bạn (xem bên dưới tại sao). Nói chung, mọi video đã tải lên của bạn sẽ được mã hóa trong h.264 và sẽ được chuyển sang bộ chứa .flv và .mp4. Đó là tiêu chuẩn và điều này sẽ xảy ra cho mọi video. Mặc dù .flv sẽ chỉ được sử dụng cho các độ phân giải dưới 720p. Có nghĩa là chỉ 360p và 480p sẽ tồn tại trong một thùng chứa .flv. Mặc dù mọi video dưới 720p cũng sẽ có sẵn phiên bản mp4. Đối với 240p, YouTube cũng đang sử dụng MSN, một codec khá cũ (dựa trên MPEG-4 Phần 2 (không bị nhầm lẫn với MPEG4 Phần 10 aka h.264) dành cho thiết bị di động (trước cả thời đại điện thoại thông minh), nó xuất hiện trong các container .3gpp.

Codec khác được sử dụng là VP8 sắp có định dạng chứa WebM. WebM là một định dạng được phát triển bởi Google và có nghĩa là một codec video tiêu chuẩn cho HTML5, hiện tại hỗ trợ cho nó khá tốt trong hầu hết các trình duyệt hiện đại. WebM được giới thiệu với phiên bản HTML5 của YouTube. YouTube chỉ mã hóa một số video trong WebM sau khi chúng được tải lên và hầu hết chỉ là các video phổ biến (đi theo các video tôi thấy được mã hóa trong WebM) nên không chắc chắn video của bạn sẽ có mặt trong WebM. Mặc dù điều này đang thay đổi với WebM có thêm một số hỗ trợ.

Đến bây giờ YouTube cũng hỗ trợ VP9 trong WebM nhưng cho đến nay chỉ có chrome hỗ trợ codec này (tính đến ngày 06/2015). Với VP9, ​​họ cũng giới thiệu hỗ trợ cho codec âm thanh Opus (bên cạnh AAC được sử dụng trong tất cả các container khác).

Liên quan đến câu hỏi được liên kết của bạn (có lẽ chúng nên được hợp nhất?)

Bạn nên sử dụng codec / container nào để tải lên?

Điều đó phụ thuộc, nếu bạn bị giới hạn / quan tâm bởi tốc độ tải lên của mình thì hãy sử dụng h.264 Cấp 3.1 / 4.1 với Cấu hình chính cho SD hoặc Cấu hình cao cho HD. YouTube sẽ chấp nhận điều này tốt và nó sẽ đẹp sau khi được mã hóa bởi các máy chủ YouTube. Tôi thường khuyên dùng bitrate ~ 4-5 Mbit / s cho vật liệu 720p và ~ 8-9 Mbit / s cho 1080p. Với giá 4k đi với giá ~ 15Mbit / s. Đây thường là một sự cân bằng tốt giữa kích thước và chất lượng. Nếu bạn muốn chất lượng tốt hơn, hãy sử dụng tốc độ bit cao hơn và nếu bạn muốn video nhỏ hơn, hãy sử dụng tốc độ bit thấp hơn.

Nhưng hãy lưu ý rằng YouTube LUÔN LUÔN mã hóa video của bạn sau khi được tải lên, không quan trọng bạn sử dụng codec và cài đặt nào. Vì vậy, nếu bạn muốn chất lượng tốt nhất về mặt lý thuyết cho các video tải lên của mình, hãy chọn một codec không mất dữ liệu để tải lên hoặc ít nhất là không bị mất thị giác. Xem YouTube là đầu ra cuối cùng thành định dạng phân phối / người tiêu dùng và tải lên YouTube là bước cuối cùng trong sản xuất và trong quá trình sản xuất, bạn muốn không bị mất mát. Nhưng xin lưu ý rằng tất cả chỉ là một lý thuyết, thực tế tôi muốn nói rằng nó thực sự không quan trọng vì chúng ta đang nói về YouTube chứ không phải về phát sóng truyền hình hoặc Điện ảnh.

Nhưng nếu bạn thực sự muốn làm theo cách "hoàn hảo", hãy sử dụng codec sản xuất chứ không phải codec tiêu dùng như h.264. MJPEG sẽ là một codec tốt cho điều đó, YouTube chắc chắn hỗ trợ điều đó trong một thùng chứa .avi hoặc .mov. MJPEG là một codec mất dữ liệu nhưng chất lượng hình ảnh sẽ giống như nguồn (nếu bạn chọn cài đặt chất lượng đủ cao, đây thực tế là JPEG dưới dạng codec video). Theo tôi, việc sử dụng một codec không mất dữ liệu sẽ là một sự lãng phí không gian ổ cứng và băng thông.

Nhưng nếu bạn muốn tải lên video của mình thực sự không mất dữ liệu và không quan tâm đến thời gian tải lên, tôi khuyên bạn nên sử dụng một codec tiêu chuẩn vì chúng phải được YouTube hỗ trợ gần như tất cả (lưu ý rằng không phải tất cả chúng đều bị mất, h264 cũng là một codec codec tiêu chuẩn). Mặc dù YouTube không nêu rõ các codec codec được hỗ trợ, thật không may. Hoạt hình hoặc JPEG2000 nên hoạt động tôi đoán. Cả hai codec có thể mất 100%.

Khi nói đến tốc độ khung hình, nếu bạn có thể chọn thì hãy sử dụng 25FPS (hiện tại YouTube cũng hỗ trợ video 50 và 60FPS, vì vậy có lẽ cũng là 30FPS) trong khi ghi / hoạt hình, YouTube thích nhất (tốc độ khung hình được sử dụng cho mọi video) nhưng nếu cảnh quay của bạn đã có ở tốc độ khung hình khác thì hãy kiên trì với điều đó và đừng nội suy lên hoặc xuống. YouTube sẽ xử lý việc chuyển đổi cho bạn và thường làm điều đó tốt hơn sau đó là bộ mã hóa của bạn. Họ phải đối phó với tất cả các loại khung hình mỗi ngày và giải quyết vấn đề (thực sự rất phức tạp) này thực sự tốt.

Âm thanh:

Đối với âm thanh, hãy sử dụng PCM nếu bạn muốn không bị mất âm thanh, nhưng một lần nữa, đây thực sự chỉ là một cải tiến chất lượng lý thuyết. AAC thường sẽ làm cùng một chất lượng công việc khôn ngoan (chủ quan) và sẽ nhỏ hơn. Tôi khuyên dùng bitrate tối thiểu 192kbps cho AAC. Tác động kích thước thường không lớn như codec video, do đó bạn cũng có thể chỉ cần đi với 320kbps. YouTube sẽ chuyển đổi âm thanh thành ~ 24kbps (Di động hay còn gọi là MSN) ~ 64kbps (240p), ~ 128kbps (360p / 480p) và ~ 192kbps (720p +) bằng cách sử dụng codec AAC và Opus (chỉ WebM).


3
Tôi đồng ý với câu trả lời này. Nhưng có một giới hạn thực tế: tốc độ tải lên. Bao nhiêu thời gian bạn cho phép tải lên? Cả một ngày cuối tuần, một đêm, hoặc một vài giờ cho đến khi kết thúc ngày làm việc của bạn. Bản thân tôi đặt giới hạn ở mức 2 GB cho 10 phút video, cần khoảng 4 giờ thời gian tải lên trong trường hợp của tôi. Nhưng điều này có thực sự hạn chế chất lượng? Video 2 GB của tôi có tốc độ bit 30 Mbit / s, YouTube chuyển đổi thành 3 Mbit / s. Mã hóa không mất dữ liệu sẽ nhân thời gian tải lên, nhưng sản lượng YouTube vẫn ở mức 3 Mbit / s. Hãy tự đặt giới hạn cá nhân của bạn.
Fred42vid

Chắc chắn đó là lý do tại sao tôi làm cho nó (hy vọng) khá rõ ràng rằng lý thuyết của nó và không có cách nào thực tế. H.264 được khuyến nghị cho hầu hết các trường hợp. Usecase thực tế thực tế duy nhất cho MJPEG mà tôi có thể nghĩ đến là khi các dải màu xuất hiện với mã hóa h.264 đầu tiên sẽ trở nên tồi tệ hơn với mã hóa thứ hai từ YouTube.
PTS

1
Youtube hỗ trợ cấu hình cao h.264, vì vậy bạn nên sử dụng nó luôn. Hồ sơ chính cho nội dung SD là ngớ ngẩn. Rời khỏi 8x8dct luôn là một ý tưởng tồi. Trong x264, bật 8x8dct là sự đánh đổi thời gian CPU hiệu quả nhất để có chất lượng tốt hơn trên mỗi kích thước tệp (còn gọi là tỷ lệ: méo hoặc RD).
Peter Cordes

2
H.264 sẽ trông tốt hơn rất nhiều với cùng tốc độ bit so với MJPEG. Nếu bạn muốn chất lượng tốt hơn, chỉ cần bật bitrate (hoặc cài đặt chất lượng ở chất lượng không đổi thay vì chế độ bitrate đích). Bạn có thể tìm mọi cách để lossless h.264 nếu bạn không tải lên một tệp lớn. Nó có thể sẽ nhỏ hơn j2k lossless. Cả hai đều có chất lượng hoàn hảo, mặc dù, đó là những gì có nghĩa là lossless.
Peter Cordes

1
Đối với âm thanh, IDK nếu youtube có hỗ trợ FLAC hay không. Nếu vậy, đó sẽ là lựa chọn của bạn cho sự mất mát. Mặt khác, AAC bitrate cao được thực hiện với một bộ mã hóa tốt. ( -c:a libfdk-aac, không phải là bộ mã hóa mặc định faachoặc dựng sẵn aactrong ffmpeg.)
Peter Cordes

5

Định dạng YT đầu ra video của họ phụ thuộc vào các yếu tố khác nhau. Đối với hầu hết các video thông thường, họ sử dụng các luồng được mã hóa H264 cho video (AAC hoặc MP3 cho âm thanh) dưới dạng các tệp chứa MP4 và FLV.

Đây chỉ là các thùng chứa dữ liệu video được mã hóa - mặc dù định dạng được mã hóa H264 không đảm bảo với các tệp FLV (hoặc trên lý thuyết với các tệp MP4) vì chúng cũng có thể chứa Sorenson Spark, On2 VP6 và các loại khác (đặc biệt là với các video cũ hơn ).

FLV được sử dụng vì chúng được đảm bảo có thể phát lại với Flash-player.

Đây không phải là phần mềm tải xuống để xác định định dạng - họ chỉ tải xuống những gì có sẵn bằng cách sử dụng itagURL video "nội bộ" (không phải trong trình duyệt) để xác định các tùy chọn. Nếu họ tùy ý chuyển đổi video, đó sẽ là một tính năng, nhưng không liên quan đến các định dạng của YT.

Ngoài ra còn có các định dạng khác ngoài các định dạng như 3GP, WEBM cũng như cho phim 3D. Một số để nhắm mục tiêu điện thoại và tiêu chuẩn Html5 mới (đang được triển khai như chúng ta nói) có thể phát video trực tiếp bằng html (tức là không có flash-player).

Nhưng trở lại các định dạng phổ biến nhất: Chất lượng khôn ngoan không thực sự quan trọng. Nếu FLV chứa H264, bạn có thể phát lại tệp này tốt như tệp chứa MP4 với Trình phát VLC của f.ex Videolan . Nếu FLV không chứa H264 và bạn muốn nó là thùng chứa MP4 chứa H264, bạn cần phải mã hóa lại, điều đó có nghĩa là bạn sẽ mất chất lượng.

Vì YT hiện tại có vẻ thích H264 hơn nên tôi cũng khuyên bạn nên tải lên ở định dạng này (xem thông tin của họ về kích thước và tốc độ bit để tránh mã hóa lại để có độ phân giải tốt nhất).



0

Câu hỏi của bạn là "YouTube mã hóa các video tải lên của tôi như thế nào và tôi nên sử dụng codec nào để tải lên?".

Tìm hiểu sâu hơn về câu hỏi của bạn tôi thấy: "Tôi có nên điều chỉnh mã hóa của riêng mình để" chơi đẹp "với codec của Youtube hay không, có vấn đề gì không, có chất lượng không? Tôi biết tôi có thể ném bất cứ thứ gì lên Youtube Tôi chủ yếu quan tâm đến chất lượng video. ".

Câu trả lời là YouTube sử dụng Lavf57.25.100 để mã hóa Video mới trong khi Video hơn vài năm tuổi được mã hóa bằng Bộ mã hóa độc quyền (không có "Lavf57.25.100" được nhúng trong ID của nó mà thay vào đó có câu: "Tệp IsoMedia được sản xuất bởi Google, ngày 5-11-2011 "). Các video cũ không được mã hóa lại khi Thuật toán được thay đổi.

Có thể chấp nhận sử dụng nhiều Codec khác nhau, YouTube khuyến nghị H.264 - xem tại đây: https://support.google.com/youtube_s/1722171?hl=vi .

Vì một số lý do, bạn chọn không hỏi về Container (không giống với Codec). Bạn cũng cho rằng 1080P sẽ có sẵn và đừng hỏi về điều quan trọng nhất - Bitrate (tiếp theo là Độ phân giải).

Nếu bạn tải lên Video độ phân giải 1080P ở 60FPS thì Độ phân giải tối đa khả dụng là 720P (ở 60 FPS, trên Thiết bị di động, có khả năng 1080P), tải lên Video 1080P ở 29.97 FPS cho phép xem 1080P trên Thiết bị di động.

Điều quan trọng là Bitrate và Độ phân giải nếu "chất lượng" là mục tiêu của bạn. Bạn không thể nâng cấp hoặc sử dụng lossless để gian lận vì YouTube chạy 'Thử nghiệm nén' để xác định mức độ họ có thể nghiền nát Video của bạn với mức độ suy giảm tối thiểu - tải lên và nó sẽ được nén rất cao, tải lên Độ phân giải cao và Tốc độ bit cao, sau đó YouTube sẽ quay trở lại với việc nghiền nát, và mang lại trải nghiệm xem tốt hơn nhiều.

Xem: https://support.google.com/youtubeoutube/1722171?hl=vi .

Lưu ý rằng các Nghị quyết khác nhau và 'Kỳ vọng về Chất lượng'. Đối với Video 4K với kỳ vọng thấp, bạn có thể tải lên Video có Tốc độ bit 35-45 Mbps nhưng nếu bạn là "Nhà sản xuất" và chất lượng là mục tiêu của bạn, bạn cần cả Fram Cả cao hơn và sử dụng ít nhất 66-85 Mbps cho Camera Bitrate (trước khi bạn nén nó rất nhẹ nhàng).

Nếu bạn nâng cấp Video độ phân giải thấp và sử dụng Codec không nén với hy vọng có được chất lượng tốt nhất có thể, bạn sẽ bị bắt (và giảm xuống thành bột nhão).

Ghi lại bằng Máy ảnh chất lượng sản xuất, Video tốc độ cao và tốc độ bit cao, được nén rất nhẹ nhàng (Ffmpeg Q = <10) để có kết quả tốt nhất - "Codec" (lời nói của bạn) không phải là yếu tố quyết định duy nhất (mặc dù tôi khuyên bạn nên chống lại một cái cũ).

Ffmpeg hỗ trợ .MP4 Container và H.264 Codec, vì vậy hãy sử dụng chúng.

Mọi người thường phàn nàn rằng YouTube làm hỏng Video của họ, vấn đề là họ đã không tải lên chất lượng đủ cao ngay từ đầu để 'vấp công tắc' và khiến Trình nén của YouTube nhẹ nhàng khi tải lên. Video hoàn hảo nhìn trộm Pixel là có thể. Quy tắc GIGO được áp dụng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.