Direct play e transcodifica

Perché il tuo media server transcodifica, e come evitarlo

Contenitore, codec, audio, sottotitoli o banda: le cinque cose che fanno ricodificare un film a un media server, e cosa invece mantiene il direct play.

Primo piano di una ventola di raffreddamento dentro un case, illuminata di ambra

Un media server transcodifica quando il client che ha davanti non riesce a riprodurre ciò che sta su disco. Il direct play è l’opposto: il file esce dal server intatto e il lavoro lo fa il player. A rompere questo accordo sono cinque cose. Quattro si risolvono senza comprare niente.

Le cinque ragioni per cui un server ricodifica il tuo film

Innesco Cosa sta rimediando il server Di solito evitabile
Contenitore Il client non sa leggere un MKV, o la disposizione degli stream lo confonde Sì, con un client nativo
Codec video Sul dispositivo non c’è un decoder HEVC, AV1 o 10 bit A volte, decide l’hardware
Codec audio TrueHD, DTS-HD o una traccia a oggetti che l’endpoint non sa rendere Sì, scegli una traccia compatibile
Sottotitoli Una traccia bitmap va dipinta dentro l’immagine Sì, riconoscila in testo
Banda Il bitrate della sorgente supera quello che il collegamento regge Solo abbassando la qualità

La prima è quella che brucia, perché è puro software. Un browser è un commensale schizzinoso: vuole MP4 frammentato e una lista corta di codec, quindi quasi tutto ciò che di interessante hai sullo scaffale arriva ricodificato. È il prezzo di guardare dentro una scheda del browser, ed è il motivo per cui i client nativi esistono. Su desktop, Android, hardware Apple e sulle app per televisore, un MKV con video HEVC e una traccia lossless viene riprodotto esattamente come sta su disco.

L’accelerazione hardware non è una casella sola

Quando la transcodifica è inevitabile, quel che conta è quale silicio la esegue. Quven rileva l’acceleratore e lo usa: NVENC e CUDA su NVIDIA, Quick Sync su Intel, VideoToolbox sull’hardware Apple, VAAPI su desktop e server Linux, e le interfacce V4L2 stateful e memory-to-memory sulle piccole schede ARM dove sono gli unici encoder esistenti.

Non sono intercambiabili, e una scatola che pubblicizza la transcodifica hardware potrebbe intenderne una sola. Un Raspberry Pi ha un encoder V4L2 e di VAAPI nemmeno l’ombra, mentre un Intel N100 ha Quick Sync e regge diversi flussi consumando meno di una lampadina. Un container che non vede il render device ripiega sul software, in silenzio, e l’unico sintomo è un grafico della CPU che sembra un infarto.

Quel ripiego è un sintomo da inseguire, non da accettare. Quando una sessione gira in software su una macchina che un encoder ce l’ha, qualcosa nell’impianto non sta raggiungendo il dispositivo, e la correzione sta nei flag del container o nel driver, non nel film.

La transcodifica hardware fa parte del piano gratuito e ne ha sempre fatto parte, e non è una funzione che intendiamo rivenderti.

L’HDR è dove “è partito” e “si vede bene” si separano

Il tone mapping è il passaggio che tutti saltano quando confrontano i server. Un master HDR10 o Dolby Vision mostrato su uno schermo SDR senza tone mapping appare slavato e grigio, mentre un troncamento ingenuo ne brucia le alte luci. Quven adatta con una curva Hable, che conserva il dettaglio speculare invece di appiattirlo, e i client nativi in grado di accettare il segnale HDR lo ricevono intatto.

I sottotitoli sono l’innesco che nessuno prevede

I sottotitoli testuali viaggiano accanto al video e non costano nulla, mentre il problema sono le tracce bitmap: i PGS dei Blu-ray, i VobSub dei DVD e le catture DVB sono immagini, e dipingere un’immagine sul fotogramma significa ricodificare ogni fotogramma che tocca. Una scelta sui sottotitoli, e un film che era in direct play adesso è una transcodifica.

C’è di meglio che spegnere i sottotitoli: il server può riconoscere una traccia bitmap in testo normale, una volta sola, e conservarla accanto al media, ed è un problema più duro di quanto sembri. Da quel momento la traccia è ricercabile, ristilizzabile, traducibile e gratuita, e il film torna a essere riprodotto intatto. Il riconoscimento costa qualche minuto del tuo hardware e non viene fatturato.

Cosa mantiene davvero il direct play

Usa un client nativo dove lo schermo lo consente, perché la via browser è un ripiego e non finge di essere altro. Tieni disponibile una traccia audio compatibile sui film che hanno solo una traccia lossless, perché su certi endpoint è l’audio da solo a innescare una sessione intera. Converti i sottotitoli bitmap una volta invece di imprimerli ogni sera. E fuori casa ricorda che il tetto è il tuo upload: un remux 4K a 60 Mbps non passa da un uplink da 10 Mbps, qualunque codec tu scelga.

Domande frequenti

Che differenza c’è fra direct play e direct stream?

Il direct play invia il file intatto. Il direct stream lo reimpacchetta in un contenitore diverso lasciando video e audio come sono, e costa quasi nulla. La transcodifica decodifica e ricodifica l’immagine, ed è quella cara.

Transcodificare fa perdere qualità?

Sì, è una ricodifica lossy di qualcosa già lossy. A bitrate generoso la perdita è difficile da vedere su gran parte del materiale, ma grana, scene scure e movimento rapido la tradiscono per primi.

Quanti flussi può transcodificare un server domestico insieme?

Con un encoder Intel o NVIDIA recente, diverse sessioni 1080p senza affanno; il 4K con tone mapping pesa molto di più. Sulla sola CPU un singolo flusso può occupare tutti i core, ed è il motivo per cui l’acceleratore conta più del processore.

Serve una scheda video per un media server?

Non se i tuoi client fanno direct play, che è il senso delle app native. Una scheda o un encoder integrato diventa utile quando guardano in più persone insieme su dispositivi che non controlli.

Comunità

Commenti

0 commenti

Verrà mostrato pubblicamente con il commento.

Gli invii degli ospiti registrano dati limitati di rete e dispositivo per prevenire abusi. Consulta l’Informativa privacy.

Non ci sono ancora commenti. Inizia la conversazione.

Conferma azione

Riporta a casa la tua libreria.

Gratis per uso domestico e tua da eseguire sul tuo hardware. Si installa in pochi minuti.