Conversione video a 10 bit

Area di discussione libera.

Moderatore: Staff

Regole del forum
1) Rispettare le idee altrui.
2) Evitare le offese dirette.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3790
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Conversione video a 10 bit

Messaggio da joe »

Ciao a tutti, parlando con un amico mi raccontava delle operazioni di conversione video che è solito eseguire su film in formato molto pesante in partenza, tipo blueray per ottenere dei file video che stiano sotto il GB e preservare per quanto possibile la qualità.
Io non mi intendo assolutamente di tutto quanto sta dietro all'operazione, non ho mai messo mano a niente del genere.
Mi spiegava che ha ottenuto risultati migliori impiegando la codifica h265 al posto di h264 e vorrebbe per i film a colori convertire in 10 bit invece che 8 bit. Non chiedetemi cosa voglia dire...
Al momento come programma per fare tutto ciò utilizza handbrake e diceva che questa possibilità di ottenere il colore a 10 bit non c'è e dovrebbe ricorrere a programmi a pagamento. Come sistema ha un mac piuttosto costoso da quanto ho capito.

Siccome io ho quasi sempre trovato alternative libere per fare quasi tutto quello che mi serve, vi chiedo:
- qui c'è qualcuno che si intende di sta roba?
- sapete come ottenere in output il colore a 10bit invece che a 8bit?
- siamo sicuri che handbrake non sia in grado di farlo?
- eventuali alternative per mac

Ho messo il tutto in sezione "libera" perchè non ha a che fare direttamente con linux ma con mac a sto punto.
Se avete qualche consiglio magari poi lo riferisco...

PS.
E su linux cosa si utilizzerebbe per questi scopi?

Avatar utente
brg
Linux 3.x
Linux 3.x
Messaggi: 580
Iscritto il: sab 12 mar 2011, 14:20
Slackware: 15.0
Kernel: 5.15.117
Desktop: KDE5
Località: Montecatini
Contatta:

Re: Conversione video a 10 bit

Messaggio da brg »

Handbrake sembra usare ffmpeg come motore e ffmpeg può essere compilato con il supporto ai 10bit. Se poi possa fare la conversione da 8bit a 10bit è un altro discorso, ma dubito che serva a qualcosa: https://www.reddit.com/r/explainlikeimf ... in_ffmpeg/ .
Discorso diverso se intende prendere il sorgente di un DVD o Bluray e convertirlo in un file a 10bit: quello dovrebbe essere possibile ed ha più senso che convertire un file video preesistente da un formato all'altro.

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3790
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: Conversione video a 10 bit

Messaggio da joe »

No forse mi sono spiegato male io...
Lui ha il sorgente in blueray (mi ha parlato di file di 30 GB, per un film in DVD mi pare troppo, penso siano blueray)
Ok. In output vuole il file video compresso possibilmente col colore in formato 10 bit (se si dice così...).

Calcola che lavora sul Mac. Handbrake riesce a fare questa operazione già di suo?
Perchè se è così allora non se l'è data mi sà...

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3790
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: Conversione video a 10 bit

Messaggio da joe »

Forse in questo topic sul forum di handbrake viene data una risposta.
https://forum.handbrake.fr/viewtopic.php?f=11&t=33373

Però sembra aver ragione il mio amico, cioè non è possibile ottenere un output con colore a più di 8 bit.
Ho capito bene oppure sbaglio?

hashbang
Packager
Packager
Messaggi: 2021
Iscritto il: ven 4 giu 2010, 10:27
Nome Cognome: Luca De Pandis
Distribuzione: macOS/OpenBSD
Località: Lecce/Bergamo

Re: Conversione video a 10 bit

Messaggio da hashbang »

joe ha scritto:Mi spiegava che ha ottenuto risultati migliori impiegando la codifica h265 al posto di h264 e vorrebbe per i film a colori convertire in 10 bit invece che 8 bit. Non chiedetemi cosa voglia dire...
Al momento come programma per fare tutto ciò utilizza handbrake e diceva che questa possibilità di ottenere il colore a 10 bit non c'è e dovrebbe ricorrere a programmi a pagamento. Come sistema ha un mac piuttosto costoso da quanto ho capito.
Joe, con tutto il rispetto, ma il tuo amico mi sa che non è un encoder, dato che ha detto una marea di inesattezze.

Già il sol fatto che usi handbrake la dice lunga. Ed il fatto che parli di usare roba a pagamento quando basta ricompilare x264 con il parametro --bit-depth=10 o x265 con -DHIGH_BIT_DEPTH:BOOL=true per poter encodare diretto a 10-bit mi sembra proprio che dia la conferma ai miei sospetti.

È meglio che si guardi i miei SlackBuild sia di x264 che di x265 che hanno il supporto al 10-bit (x265 viene compilato anche nella variante 12-bit, in realtà), così magari le cose saranno più chiare.

Tra l'altro, almeno fino ad un paio di anni fa, Handbrake aveva problemi con la libx264 compilata col supporto a 10-bit, motivo per il quale compilo solo l'encoder, mentre per la variante 8-bit compilo entrambi.
joe ha scritto:No forse mi sono spiegato male io...
Lui ha il sorgente in blueray (mi ha parlato di file di 30 GB, per un film in DVD mi pare troppo, penso siano blueray)
Ok. In output vuole il file video compresso possibilmente col colore in formato 10 bit (se si dice così...).

Calcola che lavora sul Mac. Handbrake riesce a fare questa operazione già di suo?
Perchè se è così allora non se l'è data mi sà...
Il tuo amico sbaglia in partenza.
Prendere un M2TS dal BD e re-encodarlo diretto con x264 10-bit non gli dà alcun vantaggio. Sta solo sprecando cicli CPU e tempo.

Per poter encodare a 10-bit di profondità colore, deve prima di tutto utilizzare un framework come avisynth, fare dithering a 16-bit e poi passare lo stream YUV a x264 10-bit.
Così potrà alzare il CRF evitando di incontrare banding e ridurre il filesize finale, in quanto starà encodando una sorgente 16-bit a 10-bit. Buttare in input un 8-bit a caso e sperare di ottenere benefici dal 10-bit è stupido.

E no, NON USATE HANDBRAKE o cose del genere. State solo rovinando la vostra sorgente. HandBrake usatelo solo quando dovete re-encodare mp4 o robaccia già messa male in precedenza, che tanto farebbe così schifo che la perdita di qualità non si noterebbe nemmeno.

Piuttosto, studiate le basi dell'encoding, esercitatevi ed encodate seriamente con x264. Stop.
Di spazzatura encodata con i piedi ne è pieno internet.


Per quanto riguarda x265, ancora non conviene. Mangia ancora parecchi dettagli, e non ha un'unghia delle ottimizzazioni di x264.
H.265 per ora lasciatelo perdere. Si possono ottenere encode fatti bene e con molto meno filesize anche con H.264. Basta solo saper encodare.

E digli di installare Windows, AviSynth, MPC-HC+LAV Filters, madVR, di compilare l'ultimo snapshot git di x264, mkvtoolnix e di encodare buttando in pipe lo script avisynth con avs2pipemod. Meglio se l'output è raw .264. Che utilizzi mkvtoolnix per il mux in Matroska.

O se proprio vuole andare di OSX/Linux, che installi VapourSynth ed mpv come player video (possibilmente con configurazioni avanzate, tipo uscite video opengl-hq, smoothmotion ecc.), possibilmente compilato anche quello da git (ancora meglio se col supporto a vapoursynth, così potrà filtrare il video in input con uno script apposito).


In sostanza, queste non sono cose che si fanno così su due piedi, senza avere un minimo di preparazione dietro.

Avatar utente
lablinux
Linux 4.x
Linux 4.x
Messaggi: 1212
Iscritto il: gio 27 nov 2008, 12:23
Desktop: Gnome
Distribuzione: Debian testing
Località: Rho

Re: Conversione video a 10 bit

Messaggio da lablinux »

hashbang ha scritto:In sostanza, queste non sono cose che si fanno così su due piedi, senza avere un minimo di preparazione dietro.
non per fare l'avvocato del diavolo, ma ho capito a malapena cosa hai scritto.... ma me lo sono gustato

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3790
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: Conversione video a 10 bit

Messaggio da joe »

Caro hashbang, neanache io ci ho capito granchè e immagino che anche il mio amico sia tutt'altro che un esperto in tal senso.
Sicuramente saranno argomenti complicati, mi limito a questa considerazione perchè appunto io non ho mai messo mano a niente del genere. Il mio amico si è principalmente appassionato per hobby alla traduzione di film creandone i sottotitoli. Ia conversione in formati meno ingombranti dei DVD/Bluray penso sia un'attività "collaterale".

Gli spunti che hai messo penso siano utili in qualche modo.
Per quanto riguarda windows, mi diceva che aveva un PC fino a pochi mesi fà quando durante un temporale gli è saltato tutto pc televisione ecc.. Ha così deciso (non so il motivo) di passare ad un Mac.. Da come ho capito al momento si sta impratichendo con osx quindi penso preferisca restare lì piuttosto che mettere windows.

Inutile passargli gli slackbuild... Non penso ci capirebbe nulla. Non stiamo parlando di un esperto informatico ma di utente base.
Da come dici si capisce bene che l'encoding sia un'operazione complicata. A me personalmente non mi ha mai sfiorato l'idea per cui non sono in grado di dare dritte al compare. Se ne parlava semplicemente al bar tanto per capirci... :)

Eventualmente se hai/avete qualche link su documentazione utile ad acquisire quel "minimo di preparazione dietro" necessario.
Bè la documentazione e links vari glie li posso facilmente indicare via mail.

hashbang
Packager
Packager
Messaggi: 2021
Iscritto il: ven 4 giu 2010, 10:27
Nome Cognome: Luca De Pandis
Distribuzione: macOS/OpenBSD
Località: Lecce/Bergamo

Re: Conversione video a 10 bit

Messaggio da hashbang »

joe ha scritto:Caro hashbang, neanache io ci ho capito granchè e immagino che anche il mio amico sia tutt'altro che un esperto in tal senso.
Sicuramente saranno argomenti complicati, mi limito a questa considerazione perchè appunto io non ho mai messo mano a niente del genere.
Perfetto, allora prima ancora di cominciare a parlare di encodare sorgenti a 10-bit, dovrebbe innanzi tutto cominciare ad avvicinarsi al mondo dell'encoding.
Anche perché il 10-bit non lo si usa per sport o perché fa figo scrivere Hi10P nei nomi dei file. Lo si usa per uno scopo ben preciso: limitare il banding quando si cerca di spremere un encode per ridurne il peso finale.

Che cominci da qui. È roba vecchia e poco aggiornata, ma alla fine quello che è importante è capire i concetti base su cosa sia un video.

Poi vada qui, che il buon mirkosp - che non aveva nulla di meglio da fare - ha scritto un po' di capitoli della sua guida; poi giustamente si è rotto le scatole ed è passato ad attività che rendessero i suoi pomeriggi meno tristi.

Capitolo 1
Capitolo 2
Capitolo 3
Capitolo 4
Capitolo 5
Capitolo 6
Capitolo 7

Digli poi di farsi un giro qui, di guardare le documentazioni di AviSynth/VapourSynth.
Gli spunti che hai messo penso siano utili in qualche modo.
Per quanto riguarda windows, mi diceva che aveva un PC fino a pochi mesi fà quando durante un temporale gli è saltato tutto pc televisione ecc.. Ha così deciso (non so il motivo) di passare ad un Mac.. Da come ho capito al momento si sta impratichendo con osx quindi penso preferisca restare lì piuttosto che mettere windows.
Il punto è che Mac OS X, ma anche Linux non li usa nessuno del campo. L'unico noto era TheFluff dei gg che encodava su una VM Windows in VirtualBox. :roll:
Ed anche qualora decidesse di usare VapourSynth, molta gente su doom9 crea filtri principalmente per Windows, e se è roba closed source, come il 99% dei filtri di AviSynth, ti ritrovi con .dll che non puoi usare.
Inutile passargli gli slackbuild... Non penso ci capirebbe nulla. Non stiamo parlando di un esperto informatico ma di utente base.
Digli di imparare.
Qualunque encoder degno di questo nome sa compilare da git. Deve saperlo fare perché bisogna sempre stare aggiornati sulle ultime novità, regressioni e fix degli strumenti che si usano.
Renditi conto che su doom9 gli encoder parlano proprio con DarkShikari che è lo sviluppatore di x264.

Naturalmente queste sono solo indicazioni *base*.
Quello che poi dovrà fare è procurarsi sorgenti, aprirli in un player per guardare eventuali difetti, aprire l'editor (AvsPmod o vsedit), scrivere script per filtrare ed encodare.
Solo così potrà imparare davvero.

Se si rende conto che è troppo difficile per lui (lo è molto più di quanto si pensi da questo post) che lasci perdere. Non è un crimine o una critica.
Semplicemente ci sono cose più interessanti da fare nella vita che perdere ore del proprio tempo a fixare frame danneggiati a causa dell'MPEG-2 e dell'interlacciamento presenti nei TS televisivi.

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3790
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: Conversione video a 10 bit

Messaggio da joe »

Va bene, grazie mille dell'intervento. :)
Nella mia ignoranza in materia pensavo che fosse tutto più semplice o comunque più automatico. Evidentemente... "beata ignoranza".

Ripeto l'obiettivo del mio amico in modo più sintetico e semplice lasciando perdere 10 bit x265 o altri dettagli tecnici, mi pare di aver compreso abbastanza bene cosa vuoe fare in pratica.
Ha un film in DVD mettiamo, vuole ottenere un file video codificato in modo che stia sotto il "Giga" mi diceva. E nel fare ciò vorrebbe, almeno immagino, preservare la qualità per quanto possibile.
Ecco, tu hai già spiegato molti particolari e hai messo diversi links a documentazione che gli indicherò. Ok, mettiamo che tutto ciò sia però troppo difficile per il mio amico... Ti chiedo: esiste un metodo abbastanza semplice (diciamo automatico, preconfezionato ecc) per ottenere lo scopo rinunciando magari ad un po' di qualità, ottenendo comunque un risultato dignitoso o bisogna per forza passare per scripting, documentazione massiccia, testing ecc?

Spero sia chiaro il senso della domanda. Grazie ancora della risposta: caso mai in futuro anche io od altri avessero necessità di approfondire la faccenda, questo topic, grazie ai tuoi post sarà un buon punto di partenza. :D

hashbang
Packager
Packager
Messaggi: 2021
Iscritto il: ven 4 giu 2010, 10:27
Nome Cognome: Luca De Pandis
Distribuzione: macOS/OpenBSD
Località: Lecce/Bergamo

Re: Conversione video a 10 bit

Messaggio da hashbang »

joe ha scritto:Ha un film in DVD mettiamo, vuole ottenere un file video codificato in modo che stia sotto il "Giga" mi diceva. E nel fare ciò vorrebbe, almeno immagino, preservare la qualità per quanto possibile.
Perfetto, allora che lasci perdere il 10-bit e butti lo stream m2ts su handbrake encodando in h264.
Se proprio a questo punto vuole rimanere sotto il GIGA che vada di encode 2-pass anziché di CRF. Così può stabilire a priori la dimensione. Naturalmente la qualità ne risentirà di più, ma che ci vuoi fare: non puoi avere la botte piena e la moglie ubriaca.
O meglio, sì, potresti, ma si ritorna sempre allo stesso punto: per spremere un encode tirandone fuori il meglio, devi avere le competenze.


Concludo aggiungendo una piccola nota.
Se vuole seriamente avvicinarsi al mondo dell'encode, studiando e facendosi un mazzo grande quanto una casa, è meglio se prende in considerazione di lasciare il Mac e di farsi un assemblato.

Questo per quattro motivi:
  • Una GPU decente (quindi NVIDIA) ti aiuta a ridurre i tempi di decoding e di filtraggio, specialmente ora che esiste OpenCL;
  • Un buon impianto di raffreddamento ti aiuta a non mandare a donnine la tua CPU dopo svariati encode;
    Renditi conto che ci sono broadcast, ma anche semplici filtri, che possono tenere impegnata la CPU anche per enormi quantità di tempo (conosco casi di encode durati una settimana), naturalmente 24h/24h 7gg/7gg, e che l'encode è più stressante di una compilazione;
  • Una CPU spinta di permette di ridurre sensibilmente i tempi di encode aumentando il numero di thread da mandare all'encoder;
  • Grossi quantitativi di memoria (12GB sono ottimali, attualmente) ti permettono di non andare out-of-memory qualora ti ritrovassi a lavorare con sorgenti di grossa risoluzione (1080p o superiori).
Molti encoder per ovviare a questo usano server remoti ed encodano lì, mentre fanno in locale solo la realizzazione dello script avisynth/vapoursynth in modo da preparare il filtraggio.

Avatar utente
brg
Linux 3.x
Linux 3.x
Messaggi: 580
Iscritto il: sab 12 mar 2011, 14:20
Slackware: 15.0
Kernel: 5.15.117
Desktop: KDE5
Località: Montecatini
Contatta:

Re: Conversione video a 10 bit

Messaggio da brg »

Credo che il tizio non abbia pretese di fare qualcosa di professionale, solo di avere un film in un gigabyte di spazio e di qualità comparabile a quella di una tipica trasmissione televisiva.

Se ho ben capito cosa intende per dignitoso, con ffmpeg potrebbe usare VP8/VP9 ed ottenere risultati dignitosi usando un formato libero, con un buon livello di compressione. Potrebbe ottenere risultati dignitosi pure con Theora, ma non sotto il giga.

hashbang
Packager
Packager
Messaggi: 2021
Iscritto il: ven 4 giu 2010, 10:27
Nome Cognome: Luca De Pandis
Distribuzione: macOS/OpenBSD
Località: Lecce/Bergamo

Re: Conversione video a 10 bit

Messaggio da hashbang »

brg ha scritto:Credo che il tizio non abbia pretese di fare qualcosa di professionale, solo di avere un film in un gigabyte di spazio e di qualità comparabile a quella di una tipica trasmissione televisiva.

Se ho ben capito cosa intende per dignitoso, con ffmpeg potrebbe usare VP8/VP9 ed ottenere risultati dignitosi usando un formato libero, con un buon livello di compressione. Potrebbe ottenere risultati dignitosi pure con Theora, ma non sotto il giga.
Sono d'accordo con te, ma il punto è che non ha senso parlare di 10-bit.
Per poter utilizzare una maggiore profondità del colore ci sono molti passaggi da fare e tutti quelli richiedono troppe conoscenze, di cui io ho solo dato una spiegazione molto molto larga.

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3790
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: Conversione video a 10 bit

Messaggio da joe »

Dal canto mio torno a ringraziarvi ancora per le risposte. Se vi vengono in mente commenti che vi sembrano utili, dite pure. Come dicevo spero che il topic sia di spunto a chi fosse interessato all'argomento.

ilmich
Master
Master
Messaggi: 1645
Iscritto il: lun 16 lug 2007, 17:39
Slackware: 15.0 64bit
Kernel: 5.15.27
Desktop: kde
Località: Roma

Re: Conversione video a 10 bit

Messaggio da ilmich »

Ciao a tutti, riprendo questo posto perchè sono un encoder della domenica che usa mplayer in pipe con x264 (i miei file sono per uso perlopiu' personale).
Ma ovviamente aldilà della perfezione dell'immagine ci sono due questioni affrontate in questo post che penso interessino anche a i meno scafati e sono l'occupazione di spazio a parità di qualità percepita e l'effetto banding che rompe alquanto le scatole in alcune circostanze.
Ora girando un po' su internet ho capito, come del resto anche spiegato qua, che encodare a 10bit rende la compressione dell'encoder piu' efficiente ma in ogni caso molti player non lo supportano nativamente quindi fanno comunque una conversione ad 8 bit.
Quello che non ho capito e spero possiate darmi lumi è se l'effetto banding dei colori viene intrinsecamente corretto codificando a 10bit oppure il fatto di applicarvi un filtro che mi pare di aver capito essere dispendioso unito all'efficienza dell'encoder fa si che si riesca ad eliminare questo problema senza aumentare troppo la dimensione del file.

Ultima cosa.. si diceva che non era ancora il caso di passare all'h265 perchè ancora non ottimizzato, ma ho visto che siamo arrivati alla stabile 2.0 e mi chiedevo se secondo voi a distanza di parecchio tempo è ancora cosi.

Grazie a tutti.
#LiveSimple and #ProgramThings
https://github.com/ilmich
http://ilmich6502.it/

Rispondi