Ik “zou graag de nieuwe codec x265 (libx265) willen gebruiken om mijn videocollectie te coderen.

Hiervoor heb ik een mooi bash-script gemaakt onder linux dat over het algemeen heel goed werkt! Maar er is iets vreemds:

Ik verbied de uitvoer van ffmpeg om op mijn eigen manier te echoën. Met x264 (de “oude” ) alles werkt prima. Maar zodra ik x265 gebruik, krijg ik altijd dit soort uitvoer op mijn 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 

Dit is de manier waarop ik mijn video codeer met ffmpeg:

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

Ik dacht dat de

<>/dev/null 2>&1 

en de

-loglevel quiet 

zal dit doen, maar blijkbaar vergis ik me.

Hoe kan ik dit probleem oplossen?

Bedankt voor uw help!

Answer

Het lijkt erop dat ffmpeg de x265 encoder niet “vertelt om het logniveau te gebruiken dat je ffmpeg” vertelt gebruik. Dus als je wilt dat ffmpeg en de x265-encoder binnen ffmpeg stil zijn, moet je log-niveau-opties voor beide instellen.

Als je een ffmpeg-commando hebt dat er als volgt uitziet:

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

U kunt de log-level = error-optie als volgt toevoegen aan de lijst met x265-params:

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

Reacties

  • Bedankt voor je antwoord. Dat is de oplossing die ik zocht! Zelfs als mijn antwoord iets te laat komt, denk ik ^^
  • Mijn persoonlijke voorkeur is om de voortgang en eventuele belangrijke fouten te bekijken. Bovendien, aangezien ik ' m exporteer naar x265, heb ik deze extra vlag nodig. Persoonlijk beschouw ik dit als een bug, en het loglevel zou voor alles moeten gelden, maar ' is erg leuk om te weten om het effectief en correct te onderdrukken. Bedankt!

Answer

<>/dev/null verbindt alleen standaard input en uitvoer naar /dev/null, en 2>&1 wordt na <>/dev/null, effectief niets doen.

Het veranderen in >/dev/null 2>&1 zal doen wat je wilt.

Opmerkingen

  • Bedankt! Dat lost het probleem op. Maar je hebt een fout in je antwoord: ik schreef 2>&1 en niet 1>&2 maar hoe dan ook .. het werkt 🙂

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *