@@ -20,7 +20,7 @@ set -euo pipefail
2020# // //
2121# //////////////////////////////////////////////////////////////
2222
23- readonly VERSION=" 1.0 .0"
23+ readonly VERSION=" 1.1 .0"
2424
2525DS_version () {
2626 echo " screen-capture $VERSION "
@@ -32,9 +32,10 @@ RESOLUTION=${RESOLUTION:-1920x1080}
3232FRAMERATE=${FRAMERATE:- 60}
3333SCREEN=${SCREEN:-: 0}
3434QUALITY=${QUALITY:- 0}
35- PRESET=${PRESET:- ultrafast }
35+ PRESET=${PRESET:- fast }
3636OUTPUT=${OUTPUT:- screen_capture.mkv}
3737PIXEL=${PIXEL:- yuv444p}
38+ PROFILE=${PROFILE:- high444}
3839
3940TESTS=${TESTS:- none}
4041COPY=${COPY:- true}
@@ -46,13 +47,14 @@ DS_check() {
4647DS_help () {
4748 echo " Usage: ${0##*/ } --output <output file>"
4849 echo " Others option:
49- --lib libx264 or libx265
50+ --lib libx264, libx265, h263p, hevc_nvenc, nvenc_h264, hevc_qsv, h264_qsv, h264_amf
5051 --resolution 1920x1080
51- --framerate 60
52+ --framerate 60, 30...
5253 --quality 0
5354 --screen :0
54- --preset ultrafast, fast, slow...
55- --pixel yuv444p
55+ --preset ultrafast, fast, medium, slow... (fast, medium, slow on nvenc)
56+ --pixel yuv444p, yuv420p...
57+ --profile baseline, main, high, high10, high422, high444 (main, main10, high444p... for nvenc)
5658 -h or --help
5759 -v or --version"
5860 exit 0
@@ -88,6 +90,8 @@ DS_main() {
8890 PIXEL=" $1 " ; shift ;;
8991 " --resolution" )
9092 RESOLUTION=" $1 " ; shift ;;
93+ " --profile" )
94+ PROFILE=" $1 " ; shift ;;
9195 " --output" )
9296 OUTPUT=" $1 " ; shift ;;
9397 " --help" | " -h" )
@@ -106,6 +110,7 @@ DS_main() {
106110DS_exec () {
107111 ffmpeg -f x11grab -video_size " $RESOLUTION " -framerate " $FRAMERATE " -i " $SCREEN " \
108112 -vcodec " $ENCODING_LIB " -preset " $PRESET " -qp " $QUALITY " -pix_fmt " $PIXEL " \
113+ -profile:v " $PROFILE " \
109114 " $OUTPUT "
110115
111116}
0 commit comments