@@ -38,6 +38,10 @@ PIXEL=${PIXEL:-yuv444p}
3838PROFILE=${PROFILE:- high444}
3939LEVEL=${LEVEL:- 5.1}
4040
41+ PROFILE=${PROFILE:- high444}
42+
43+ FFMPEG_ARG=${FFMPEG_ARG:- }
44+
4145TESTS=${TESTS:- none}
4246COPY=${COPY:- true}
4347
@@ -57,6 +61,7 @@ DS_help() {
5761 --pixel yuv444p, yuv420p...
5862 --profile baseline, main, high, high10, high422, high444 (main, main10, high444p... for nvenc)
5963 --level auto, 0, 1, 1.0 ... 5.0, 5.1
64+ --ffmpeg_arg=\"\" ffmpeg arguments
6065 -h or --help
6166 -v or --version"
6267 exit 0
@@ -73,13 +78,12 @@ DS_main() {
7378 while [[ $# -gt 0 ]] && ([[ " $1 " == " --" * ]] || [[ " $1 " == " -" * ]]) ;
7479 do
7580 opt=" $1 " ;
76- echo " opt: $opt "
7781 shift ;
7882 case " $opt " in
7983 " --lib" )
8084 ENCODING_LIB=" $1 " ; shift ;;
81- " --test =" * ) # alternate format: --first=date
82- TESTS =" ${opt#* =} " ;;
85+ " --ffmpeg_arg =" * ) # alternate format: --first=date
86+ FFMPEG_ARG =" ${opt#* =} " ;;
8387 " --screen" )
8488 SCREEN=" $1 " ; shift ;;
8589 " --framerate" )
@@ -112,10 +116,17 @@ DS_main() {
112116}
113117
114118DS_exec () {
115- ffmpeg -f x11grab -video_size " $RESOLUTION " -framerate " $FRAMERATE " -i " $SCREEN " \
116- -vcodec " $ENCODING_LIB " -preset " $PRESET " -qp " $QUALITY " -pix_fmt " $PIXEL " \
117- -profile:v " $PROFILE " -level " $LEVEL " \
118- " $OUTPUT "
119+ if [[ -z " $FFMPEG_ARG " ]]; then
120+ ffmpeg -f x11grab -video_size " $RESOLUTION " -framerate " $FRAMERATE " -i " $SCREEN " \
121+ -vcodec " $ENCODING_LIB " -preset " $PRESET " -qp " $QUALITY " -pix_fmt " $PIXEL " \
122+ -profile:v " $PROFILE " -level " $LEVEL " \
123+ " $OUTPUT "
124+ else
125+ ffmpeg " $FFMPEG_ARG " -f x11grab -video_size " $RESOLUTION " -framerate " $FRAMERATE " -i " $SCREEN " \
126+ -vcodec " $ENCODING_LIB " -preset " $PRESET " -qp " $QUALITY " -pix_fmt " $PIXEL " \
127+ -profile:v " $PROFILE " -level " $LEVEL " \
128+ " $OUTPUT "
129+ fi
119130
120131}
121132
0 commit comments