Szeretném használni az új x265 kodeket (libx265) a videó gyűjteményem kódolásához.

Ehhez létrehoztam egy szép bash szkriptet linux alatt, amely általában nagyon jól működik! De valami furcsa:

Megtiltom, hogy az ffmpeg kimenete visszhangozzon a magam módján. Az x264-el (a “régi”) ) minden jól működik. De amint az x265-öt használom, mindig ilyen kimenetet kapok a terminálomon:

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 

Így kódolom a videómat ffmpeg-lel:

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

Úgy gondoltam, hogy a

<>/dev/null 2>&1 

és a

-loglevel quiet 

ezt meg fogja tenni, de nyilvánvalóan tévedek.

Hogyan tudom megoldani ezt a problémát?

Köszönjük segítsen!

Válasz

Úgy tűnik, hogy az ffmpeg nem mondja meg az x265 kódolónak, hogy használja azt a loglevelet, aminek mondja használat. Tehát ha azt akarja, hogy az ffmpeg és az ffmpeg belsejében lévő x265 kódoló csendes legyen, akkor mindkettőjükhöz be kell állítani a naplószint beállításait.

Ha van egy ffmpeg parancs, amely így néz ki:

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

Hozzáadhatja a log-level = error beállítást az x265-paraméterek listájához, így:

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

Megjegyzések

  • Köszönjük válaszát. Ezt a megoldást kerestem! Még akkor is, ha a válaszom kissé későn érkezik, azt hiszem, ^^
  • Személyes preferenciám az előrehaladás és a fontos hibák megtekintése, ha vannak ilyenek. Ezenkívül, mivel ' m x265-re exportálok, szükségem van erre az extra jelzőre. Én személy szerint hibának tartom, és a loglevelnek mindenre vonatkoznia kell, de nagyon jó tudni, hogy hatékonyan és helyesen elnyomja azt. Köszönöm!

Válasz

<>/dev/null csak a normál bemenetet fogja összekapcsolni és kimenetet küld a /dev/null fájlba, és a 2>&1 alkalmazást után <>/dev/null, gyakorlatilag semmit sem csinál.

Ha megváltoztatja a következőt: >/dev/null 2>&1, akkor azt csinál, amit akar.

Megjegyzések

  • Köszönöm! Ez megoldja a problémát. De van egy hibája a válaszában: 2>&1 -et írtam, és nem 1>&2 -et, de mindenképp .. működik 🙂

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük