la codifica di ffmpeg su Android con filtro è lenta


1

Sto usando ffmpeg su Android per ritagliare, comprimere, ridimensionare il video. Tutto funziona bene in termini di velocità.

Ma quando provo ad aggiungere filtri, ad es

colorchannelmixer=.3:.4:.3:0:.3:.4:.3:0:.3:.4:.3per la scala di grigi, la codifica funziona lentamente. Circa 1 fotogramma al secondo.

C'è un modo per accelerare questo? Forse specificare di utilizzare la GPU.


Condividi il tuo comando completo.
Gyan,

@Gyan-threads 2 -y -i input.mp4 -movflags faststart -strict experimental -filter_complex colorchannelmixer=.3:.4:.3:0:.3:.4:.3:0:.3:.4:.3 -map 0:a -vcodec mpeg4 -crf 23 -b:v 1000K -maxrate 1500K -bufsize 500K -t 00:03:00.0 -preset veryfast output.mp4
Kuanysh

L'hai risolto?
Pietroso

Risposte:


1

Uso

-threads 2 -y -i input.mp4 -t 3:00 -vf format=gray,format=yuv420p -vcodec mpeg4 -b:v 1000K -maxrate 1500K -bufsize 500K -movflags faststart -strict experimental output.mp4

Dovrebbe essere più veloce, poiché il mixer dei canali di colore chiamerà uno scaler per convertire l'input in un formato RGB, quindi eseguire l'operazione per pixel. Quindi, a causa del vincolo dell'encoder, viene effettuata un'altra chiamata dello scaler per la conversione in YUV420P. Il mio primo formato scarta semplicemente i piani cromatici.


Uso il colorchannelmixer anche per altri filtri. Ad esempio, seppia
Kuanysh Raimbekov,

Saresti in grado di spiegare la differenza tra le tue opzioni e l'originale e perché è più veloce?
Mokubai

@Gyan grazie per questo. Proverò questo in scala di grigi.
Kuanysh Raimbekov,
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.