In che modo YouTube codifica i miei caricamenti e quale codec dovrei utilizzare per caricare?


25

Correlati a Quali codec / formati sono appropriati per la registrazione di video in full motion per YouTube? Mi chiedo esattamente come posso aspettarmi che Youtube gestisca i miei video. So che hanno una configurazione piuttosto zelante che genera più copie del mio upload a diverse risoluzioni; 1080p, 720p e 480p e apparentemente mobile, almeno.

Che codec (s) usano? Come produttore ho un'opzione per scaricare il file come MP4; tuttavia noto che un downloader di terze parti (che è estremamente ombreggiato e schifoso) porta i file come FLV. Fondamentalmente mi chiedo se il mio codec verrà conservato o sovrascritto con H.264 o qualunque cosa utilizzino. Considerando la loro straordinaria compatibilità tra i dispositivi, suppongo che utilizzino uno standard molto comune o più codec per ogni video.

Quindi, in quale codec posso aspettarmi che i miei video vengano trasmessi e, se dipende, da cosa dipende? Dovrei regolare la mia codifica per "giocare bene" con il codec di Youtube, o importa, dal punto di vista della qualità? So di poter gettare praticamente qualsiasi cosa su Youtube e ci vorrà, quindi sono principalmente interessato alla qualità del video.


ecco uno strumento per visualizzare i formati disponibili per un video: h3xed.com/web-and-internet/…
akostadinov

Risposte:


31

Alcune informazioni generali sui formati utilizzati:

YouTube utilizza 4 formati contenitore e 4 codec diversi. Dipende dalla popolarità del video quali codec vengono utilizzati per il tuo video (vedi di seguito perché). Generalmente, tutti i tuoi video caricati verranno codificati in h.264 e verranno combinati in un contenitore .flv e .mp4. Questo è lo standard e questo accadrà per ogni video. Sebbene .flv verrà utilizzato solo per risoluzioni inferiori a 720p. Significa che esistono solo 360p e 480p in un contenitore .flv. Anche se ogni video inferiore a 720p avrà anche una versione mp4 disponibile. Per 240p YouTube utilizza anche 3gp che è un codec piuttosto vecchio (basato su MPEG-4 Part 2 (da non confondere con MPEG4 Part 10 aka h.264) pensato per dispositivi mobili (molto prima dell'era degli smartphone), arriva il contenitore .3gpp.

L'altro codec utilizzato è VP8 che sta arrivando nel formato contenitore WebM. WebM è un formato sviluppato da Google ed era inteso come un codec video standard per HTML5, il supporto è ormai abbastanza buono nella maggior parte dei browser moderni. WebM è stato introdotto con la versione HTML5 di YouTube. YouTube codifica alcuni video in WebM solo dopo che sono stati caricati e principalmente solo video popolari (passando dai video che ho visto codificato in WebM), quindi non è certo che il tuo video sarà presente in WebM. Anche se questo sta cambiando con WebM che sta guadagnando un po 'più di supporto.

Ormai YouTube supporta anche VP9 in WebM ma finora solo Chrome supporta questo codec (a partire dal 06/2015). Con VP9, ​​hanno anche introdotto il supporto per il codec audio Opus (oltre a AAC che viene utilizzato in tutti gli altri contenitori).

Per quanto riguarda la tua domanda collegata (forse dovrebbero essere uniti?)

Quale codec / contenitore dovresti usare per il caricamento?

Dipende, se sei limitato / preoccupato dalla tua velocità di upload, usa h.264 Livello 3.1 / 4.1 con Profilo principale per SD o Profilo alto per HD. YouTube accetterà questo bene e sembrerà bello dopo essere stato codificato dai server di YouTube. Di solito consiglierei un bitrate di ~ 4-5 Mbit / s per materiale a 720p e ~ 8-9 Mbit / s per 1080p. Per 4k vai a ~ 15Mbit / s. Questo di solito è un buon equilibrio tra dimensioni e qualità. Se vuoi una qualità migliore vai con un bitrate più alto, e se vuoi un video più piccolo vai con un bitrate più basso.

Tuttavia, tieni presente che YouTube codificherà SEMPRE il tuo video una volta caricato, indipendentemente dal codec e dalle impostazioni che utilizzi. Quindi, se desideri la migliore qualità teorica per i tuoi caricamenti, scegli un codec senza perdita di dati per il caricamento o almeno visivamente senza perdite. Guarda YouTube come l'output finale in un formato di consegna / consumatore e il caricamento su YouTube è l'ultimo passo della produzione e durante la produzione vuoi rimanere senza perdite. Ma tieni presente che tutto ciò è solo una cosa teorica, praticamente direi che non importa, poiché stiamo parlando di YouTube e non di trasmissioni TV o cinema.

Ma se vuoi davvero farlo nel modo "perfetto", usa un codec di produzione e non un codec di consumo come h.264. MJPEG sarebbe un buon codec per questo, YouTube lo supporta sicuramente in un contenitore .avi o .mov. MJPEG è un codec con perdita di dati, ma la qualità visiva sarà la stessa della sorgente (se hai scelto un'impostazione di qualità abbastanza alta, questo è praticamente JPEG come codec video). Secondo me, andare con un vero codec senza perdita di dati sarebbe uno spreco di spazio sul disco rigido e larghezza di banda.

Ma se vuoi caricare il tuo video davvero senza perdita di dati e non ti interessa il tempo di caricamento, ti consiglio di utilizzare un codec QuickTime standard poiché dovrebbero essere quasi tutti supportati da YouTube (nota che non tutti sono senza perdita di dati, h264 è anche un codec QuickTime standard). Sebbene YouTube non dichiari quali codec QuickTime sono supportati, sfortunatamente. Animazione o JPEG2000 dovrebbero funzionare credo. Entrambi i codec possono essere senza perdita al 100%.

Quando si tratta di frame rate, se è possibile scegliere quindi utilizzare 25FPS (ormai YouTube supporta anche video a 50 e 60FPS, quindi probabilmente anche 30FPS) durante la registrazione / animazione, a YouTube piace di più (il frame rate utilizzato per ogni video) ma se il tuo filmato ha già un altro frame rate, segui quello e non interpolare su o giù. YouTube gestirà la conversione per te e generalmente lo farà meglio del tuo codificatore. Hanno a che fare con tutti i tipi di framerate ogni giorno e hanno risolto molto bene questo problema (in realtà molto complicato).

Audio:

Per l'audio usa PCM se vuoi rimanere senza perdite anche con l'audio, ma di nuovo questo è davvero solo un miglioramento teorico della qualità. La CAA di solito farà la stessa qualità del lavoro (soggettiva) e sarà più piccola. Raccomando un bitrate di almeno 192kbps per AAC. L'impatto sulle dimensioni di solito non è grande come il codec video, quindi puoi anche solo andare con 320kbps. YouTube convertirà l'audio in ~ 24kbps (Mobile aka 3gp) ~ 64kbps (240p), ~ 128kbps (360p / 480p) e ~ 192kbps (720p +) utilizzando il codec AAC e Opus (solo WebM).


3
Accetto questa risposta. Ma c'è un limite pratico: la velocità di upload. Quanto tempo stai concedendo per un caricamento? Un intero fine settimana, una notte o un paio d'ore fino alla fine della giornata lavorativa. Io stesso ho fissato il limite a 2 GB per 10 minuti di video, che nel mio caso richiedono circa 4 ore di caricamento. Ma questo sta davvero limitando la qualità? Il mio video da 2 GB ha una velocità in bit di 30 Mbit / s, che YouTube converte in 3 Mbit / s. Una codifica senza perdita moltiplicherebbe il tempo di caricamento, ma l'output di YouTube sarebbe comunque a 3 Mbit / s. Si prega di impostare i propri limiti personali da soli.
Fred42vid

Questo è il motivo per cui l'ho reso (si spera) abbastanza chiaro che è teorico e in alcun modo pratico. H.264 deve essere raccomandato per quasi tutti i casi. L'unico caso pratico pratico per MJPEG che mi viene in mente è quando si verifica la colorazione con la prima codifica h.264 che peggiorerà con la seconda codifica da YouTube.
PTS

1
Youtube supporta h.264 di alto profilo, quindi dovresti usarlo sempre. Il profilo principale per il contenuto SD è stupido. Lasciare 8x8 dct è sempre una cattiva idea. In x264, abilitare 8x8dct è il compromesso più efficiente del tempo della CPU per una migliore qualità per dimensione del file (aka rate: distorsione o RD).
Peter Cordes,

2
H.264 avrà un aspetto molto migliore con lo stesso bitrate di MJPEG. Se si desidera una qualità migliore, è sufficiente aumentare il bitrate (o l'impostazione della qualità in modalità costante anziché in modalità bitrate target). Puoi andare fino a h.264 senza perdita di dati se non ti dispiace caricare un file di grandi dimensioni. Probabilmente sarà più piccolo di j2k senza perdita di dati. Entrambi sono di qualità perfetta, tuttavia, poiché questo è ciò che significa senza perdita.
Peter Cordes,

1
Per l'audio, IDK se YouTube supporta FLAC o meno. Se è così, quella sarebbe la tua scelta preferita per i lossless. Altrimenti sì, AAC a bitrate elevato realizzato con un buon encoder. ( -c:a libfdk-aac, non i codificatori predefiniti faaco incorporati aacin ffmpeg.)
Peter Cordes,

5

Il formato in cui YT ha prodotto il video dipende da vari fattori. Per la maggior parte dei video ordinari usano flussi codificati H264 per video (AAC o MP3 per l'audio) sotto forma di file contenitore MP4 e FLV.

Questi sono solo contenitori che contengono i dati video codificati - sebbene il formato codificato H264 non sia garantito con i file FLV (o in teoria con i file MP4) in quanto possono contenere anche Sorenson Spark, On2 VP6 e altri (specialmente nel caso di video più vecchi ).

I FLV vengono utilizzati in quanto sono garantiti per la riproduzione con Flash-player.

Non è davvero il software di downloader a determinare il formato, ma semplicemente scaricare ciò che è disponibile usando l' itagURL del video "interno" (non quello nel browser) per identificare le opzioni. Se facoltativamente convertono il video sarebbe una funzionalità, ma non correlata ai formati di YT.

Esistono anche altri formati oltre a questi come 3GP, WEBM e film in 3D. Alcuni destinati ai telefoni di destinazione e al nuovo standard Html5 (in fase di implementazione come parliamo) che possono riprodurre video direttamente con html (ovvero senza flash-player).

Ma torniamo ai formati più comuni: dal punto di vista della qualità non importa. Se FLV contiene H264, puoi riprodurlo bene come un file contenitore MP4 con VLC Player di f.ex VideoLAN . Se il FLV non contiene H264 e lo desideri come contenitore MP4 con H264, dovrai ricodificarlo, il che significa che perderai la qualità.

Dato che YT attualmente preferisce H264, suggerirei di caricare anche in questo formato (vedi le loro informazioni su dimensioni e bit rate per evitare la ricodifica per la migliore risoluzione).



0

La tua domanda è "In che modo YouTube codifica i miei caricamenti e quale codec devo utilizzare per caricare?".

Scavando più a fondo nella tua domanda vedo: "Devo adattare la mia codifica per" giocare bene "con il codec di Youtube, o importa, dal punto di vista della qualità? So che posso lanciare praticamente qualsiasi cosa su Youtube e lo prenderò, quindi Sono principalmente interessato alla qualità del video ".

La risposta è che YouTube utilizza Lavf57.25.100 per codificare nuovi video mentre i video di alcuni anni erano codificati con un codificatore proprietario (che non ha "Lavf57.25.100" incorporato nel suo ID ma ha invece questa frase: "File IsoMedia prodotto di Google, 5-11-2011 "). I vecchi video non sono stati ricodificati quando l'algoritmo è stato modificato.

È accettabile utilizzare molti codec diversi, YouTube consiglia H.264 - vedi qui: https://support.google.com/youtube/answer/1722171?hl=it .

Per qualche motivo scegli di non chiedere informazioni sul Contenitore (che non è la stessa cosa di un Codec). Supponete anche che 1080P sarà disponibile e non chiedete la cosa più importante: Bitrate (seguito da Risoluzione).

Se carichi un video con risoluzione 1080P a 60FPS, la risoluzione massima disponibile è 720P (a 60 FPS, su un dispositivo mobile, in grado di 1080P), il caricamento di un video 1080P a 29,97 FPS consente la visualizzazione 1080P su un dispositivo mobile.

Ciò che è importante è il bitrate e la risoluzione se la "qualità" è il tuo obiettivo. Non è possibile effettuare l'upscaling o utilizzare senza perdita di dati poiché YouTube esegue un "Test di compressione" per determinare quanto possono schiacciare il tuo video con un degrado minimo: carica la poltiglia e sarà una poltiglia altamente compressa, caricherà l'alta risoluzione e l'alto bitrate, quindi YouTube farà un passo indietro sulla frantumazione e offrirà un'esperienza visiva molto migliore.

Vedi: https://support.google.com/youtube/answer/1722171?hl=it .

Si noti che diverse risoluzioni e "aspettative di qualità". Per video 4K con basse aspettative è possibile caricare video con bitrate di 35-45 Mbps ma se sei un "produttore" e la qualità è il tuo obiettivo, hai bisogno sia di un frame più alto che di utilizzare almeno 66-85 Mbps per il Camera Bitrate (prima di comprimerlo molto delicatamente).

Se esegui l'upscaling di un video a bassa risoluzione e usi un codec non compresso sperando di ottenere la migliore qualità possibile, verrai catturato (e ridotto in poltiglia).

Registra utilizzando una videocamera di qualità di produzione, video con framerate e bitrate elevati, compressi molto delicatamente (Ffmpeg Q = <10) per ottenere i migliori risultati: il "Codec" (le tue parole) non è l'unico fattore determinante (anche se sconsiglio uno vecchio).

Ffmpeg supporta i contenitori .MP4 e il codec H.264, quindi usa quelli.

Le persone spesso si lamentano del fatto che YouTube rovini i loro video, il problema è che non hanno caricato una qualità abbastanza elevata in primo luogo per "far scattare l'interruttore" e causare un leggero rallentamento del compressore di YouTube sul tuo caricamento. I video perfetti che fanno capolino da pixel sono possibili. Si applica la regola GIGO.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.