bash: ffmpeg libx265 impede a saída

0

Gostaria de usar o novo codec x265 (libx265) para codificar minha coleção de vídeos.

Para isso eu criei um script bash adorável no linux que funciona em geral muito bem! Mas algo é estranho:

Eu proibo a saída do ffmpeg para ecoar do meu próprio jeito. Com x264 (o "antigo") tudo funciona bem. Mas assim que eu uso o x265 eu sempre recebo esse tipo de saída no meu terminal:

x265 [info]: HEVC encoder version 1.7
x265 [info]: build info [Linux][GCC 5.1.0][64 bit] 8bpp
x265 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 Cache64
x265 [info]: Main profile, Level-2.1 (Main tier)
x265 [info]: Thread pool created using 2 threads
x265 [info]: frame threads / pool features       : 1 / wpp(5 rows)
x265 [info]: Coding QT: max CU size, min CU size : 64 / 8
x265 [info]: Residual QT: max TU size, max depth : 32 / 1 inter / 1 intra
x265 [info]: ME / range / subpel / merge         : hex / 57 / 2 / 2
x265 [info]: Keyframe min / max / scenecut       : 25 / 250 / 40
x265 [info]: Lookahead / bframes / badapt        : 20 / 4 / 2
x265 [info]: b-pyramid / weightp / weightb / refs: 1 / 1 / 0 / 3
x265 [info]: AQ: mode / str / qg-size / cu-tree  : 1 / 1.0 / 64 / 1
x265 [info]: Rate Control / qCompress            : CRF-28.0 / 0.60
x265 [info]: tools: rd=3 psy-rd=0.30 signhide tmvp strong-intra-smoothing
x265 [info]: tools: deblock sao

Esta é a maneira como codifico meu vídeo com o ffmpeg:

ffmpeg -i /input/file -c:v libx265 -c:a copy -loglevel quiet /output/file.mp4 <>/dev/null 2>&1

Eu pensei que o

<>/dev/null 2>&1

e o

-loglevel quiet

fará isso, mas aparentemente eu estou enganado.

Como posso resolver este problema?

Obrigado pela sua ajuda!

    
por linux_lover 13.09.2015 / 16:12

2 respostas

4

Parece que o ffmpeg não diz ao codificador x265 para usar o nível de log que você está dizendo ao ffmpeg para usar. Então, se você quer que o ffmpeg e o codificador x265 dentro do ffmpeg sejam silenciosos, você precisa definir as opções de nível de log para ambos.

Se você tiver um comando ffmpeg com esta aparência:

ffmpeg -loglevel error -stats -i "inputfile.xyz" -c:v libx265 -x265-params parameter1=value:parameter2=value outputfile.xyz

Você pode adicionar a opção log-level = error à lista de x265-params assim:

ffmpeg -loglevel error -stats -i "inputfile.xyz" -c:v libx265 -x265-params log-level=error:parameter1=value:parameter2=value ....
    
por 13.01.2016 / 03:25
0

<>/dev/null só conectará entrada e saída padrão a /dev/null , e 2>&1 será aplicado após <>/dev/null , efetivamente não fazendo nada.

Alterando para %código% vai fazer o que quiser.

    
por 13.09.2015 / 16:47

Tags