From c46d741b597c35e3c4f0596bf79af6104d8d444f Mon Sep 17 00:00:00 2001 From: James Ketrenos Date: Thu, 14 Apr 2022 13:34:33 -0700 Subject: [PATCH] Do not set title Fallback for *p10le to sw decoder Signed-off-by: James Ketrenos --- normalize-video | 34 ++++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/normalize-video b/normalize-video index 09828bb..e6ac567 100755 --- a/normalize-video +++ b/normalize-video @@ -23,12 +23,11 @@ else sw_only=1 fi - quiet=" -v quiet -loglevel error " - + # mstodate MILLISECONDS # # Given MILLISECONDS, convert to DAYS:HOURS:MINUTES:SECONDS.MS @@ -69,15 +68,18 @@ ffmpeg_hw_or_sw() { pix_fmt="${1}" shift - if [[ "${pix_fmt}" == "yuv420p10le" ]]; then + case "${pix_fmt}" in + *p10le) sw_decode=1 - else + ;; + *) sw_decode=0 - fi + ;; + esac DIN="$(dirname "${IN}")" DOUT="$(dirname "${OUT}")" - + if (( sw_only == 1 )); then echo "${PREFIX} Content will be transcoded to Matroska(yuv420p:h264:${width}x${height}) using software." >&2 @@ -94,13 +96,14 @@ ffmpeg_hw_or_sw() { -preset veryslow \ -crf 20 \ " +# -metadata "title='${TITLE}'" \ + ffmpeg \ ${quiet} \ -nostdin \ ${input_flags} \ -i "${IN}" \ -progress /dev/stdout \ - -metadata "title='${TITLE}'" \ ${output_flags} \ -movflags +faststart \ "${OUT}" \ @@ -165,6 +168,7 @@ ffmpeg_hw_or_sw() { fi fi +# -metadata "title='${TITLE}'" \ docker run \ --device=/dev/dri \ --user=$(id -u) \ @@ -179,7 +183,6 @@ ffmpeg_hw_or_sw() { ${input_flags} \ -i "${IN}" \ -progress /dev/stdout \ - -metadata "title='${TITLE}'" \ ${output_flags} \ -movflags +faststart \ "${OUT}" \ @@ -305,6 +308,7 @@ function check_and_convert { -c:s copy -c:v copy " +#-metadata title=\"${title}\" \ command=" ffmpeg \ @@ -313,7 +317,6 @@ function check_and_convert { ${input_flags} \ -i \"${IN}\" \ -progress /dev/stdout \ - -metadata title=\"${title}\" \ ${output_flags} \ -movflags +faststart \ \"${OUT}\" \ @@ -332,20 +335,23 @@ function check_and_convert { " fi echo "Running: $command" - { eval ${command} || { + { eval ${command} || { echo "${PREFIX} FFMPEG failed" | tee ${log_file} - false + false } } | while read line; do if [[ "${line}" == "${PREFIX} FFMPEG failed" ]]; then cat ${log_file} - fail "${PREFIX} Terminating" + fail "${PREFIX} FAIL: ${IN}" false break fi if [[ "${FRAMES}" == "" ]]; then - echo ${line} - continue; + frame=$(echo $line | sed -n 's/^frame=*\(.*\)/Frame: \1/p') + speed=$(echo $line | sed -n 's/^speeed=*\(.*\)/Speed: \1/p') + fps=$(echo $line | sed -n 's/^fps=*\(.*\)/FPS: \1/p') + echo "${PREFIX} ${frame} ${speed} ${fps}" + continue fi POS=$(echo $line | sed -n 's/^frame=*\(.*\)/\1/p')