Jeg vil gjerne bruke den nye kodeken x265 (libx265) til å kode videosamlingen min.

For dette opprettet jeg et nydelig bash-skript under linux som generelt fungerer veldig bra! Men noe er rart:

Jeg forbyr utdata fra ffmpeg å ekko på min egen måte. Med x264 (den «gamle» ) alt fungerer greit. Men så snart jeg bruker x265 får jeg alltid denne typen utdata på terminalen min:

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 

Dette er måten jeg koder videoen min på med ffmpeg:

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

Jeg trodde at

<>/dev/null 2>&1 

og

-loglevel quiet 

vil gjøre dette, men tilsynelatende tar jeg feil.

Hvordan kan jeg løse dette problemet?

Takk for din hjelp!

Svar

Det ser ut til at ffmpeg ikke forteller x265-koderen å bruke loglevelen du forteller ffmpeg til bruk. Så hvis du vil at ffmpeg og x265-koderen i ffmpeg skal være stille, må du angi loggnivåalternativer for dem begge.

Hvis du har en ffmpeg-kommando som ser slik ut:

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

Du kan legge til alternativet log-level = error i listen over x265-params som dette:

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

Kommentarer

  • Takk for svaret. Det er løsningen jeg lette etter! Selv om svaret mitt kommer litt for sent, antar jeg ^^
  • Min personlige preferanse er å se fremgang og viktige feil hvis det er noen. I tillegg, siden jeg ' eksporterer til x265, trenger jeg dette ekstra flagget. Jeg anser dette personlig som en feil, og loglevelet bør gjelde for alt, men det ' er veldig hyggelig å vite å undertrykke det effektivt og riktig. Takk!

Svar

<>/dev/null vil bare koble til standardinngang og utdata til /dev/null, og 2>&1 brukes etter <>/dev/null, gjør effektivt ingenting.

Hvis du endrer det til >/dev/null 2>&1, gjør du hva du vil.

Kommentarer

  • Takk! Det løser problemet. Men du har feil i svaret ditt: Jeg skrev 2>&1 og ikke 1>&2 men uansett .. det fungerer 🙂

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *