Projects
Multimedia
ffhevc
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 75
View file
ffhevc.changes
Changed
@@ -1,4 +1,15 @@ ------------------------------------------------------------------- +Wed Dec 27 11:37:00 UTC 2017 - neutrino8@opensuse.org + +- Update to version 3.4.7 + * Renamed array variable CHARS to VCHARS in the video_chars_func() + function + * Report pixel format in the video_chars_func() function + * Don't show HDR options if doing an HDR to SDR conversion + * Use -v quiet instead of -v error log level for ffprobe + * Cosmetics + +------------------------------------------------------------------- Mon Dec 25 10:36:00 UTC 2017 - neutrino8@opensuse.org - Update to version 3.4.6
View file
ffhevc.spec
Changed
@@ -17,7 +17,7 @@ Name: ffhevc -Version: 3.4.6 +Version: 3.4.7 Release: 0 Summary: A small shell script for encoding to H.265/HEVC with ffmpeg License: GPL-2.0+
View file
ffhevc-3.4.6.tar.gz/ChangeLog -> ffhevc-3.4.7.tar.gz/ChangeLog
Changed
@@ -1,3 +1,11 @@ +2017-12-27 - ffhevc 3.4.7 + * Renamed array variable CHARS to VCHARS in the + video_chars_func() function + * Report pixel format in the video_chars_func() function + * Don't show HDR options if doing an HDR to SDR conversion + * Use -v quiet instead of -v error log level for ffprobe + * Cosmetics + 2017-12-25 - ffhevc 3.4.6 * Initial support for HDR to SDR conversions. Requires FFmpeg to be compiled with the zimg library as it
View file
ffhevc-3.4.6.tar.gz/ffhevc -> ffhevc-3.4.7.tar.gz/ffhevc
Changed
@@ -2,8 +2,8 @@ # # Small script to encode to H.265/HEVC video using FFmpeg and libx265. # Author: Grozdan "microchip" Nikolov <neutrino8@opensuse.org> -# Version: 3.4.6 -# Date: 2017-12-25 +# Version: 3.4.7 +# Date: 2017-12-27 # # ffhevc is free software ; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ brown() { echo -e "\e[0;33m$1\e[0;39;49m"; } error() { echo -e "\e[1;31m$1\e[0;39;49m"; } -version="3.4.6" +version="3.4.7" CFG="$HOME/.ffhevc" cfgversion="38" @@ -769,7 +769,7 @@ echo green "-> Detecting Field Parity..." sleep 1 - FPAR="$($FFPROBE -i "$input" -v error -select_streams v:0 -show_entries stream=field_order -of default=noprint_wrappers=1:nokey=1 | tail -1)" + FPAR="$($FFPROBE -i "$input" -v quiet -select_streams v:0 -show_entries stream=field_order -of default=noprint_wrappers=1:nokey=1 | tail -1)" case "$FPAR" in t*|T*) fp="tff"; fparity="Top Field First (TFF)" ;; b*|B*) fp="bff"; fparity="Bottom Field First (BFF)" ;; @@ -902,7 +902,7 @@ echo green "-> Detecting Pixel Format..." sleep 1 - PIXFMT="$($FFPROBE -i "$input" -v error -select_streams v:0 -show_entries stream=pix_fmt -of default=noprint_wrappers=1:nokey=1 | tail -1)" + PIXFMT="$($FFPROBE -i "$input" -v quiet -select_streams v:0 -show_entries stream=pix_fmt -of default=noprint_wrappers=1:nokey=1 | tail -1)" green "-> Detected $(echo "$PIXFMT" | tr '[a-z]' '[A-Z]')" echo brown " Pixel Formats" @@ -939,22 +939,24 @@ } video_chars_func() { - for i in {1..4}; do + for i in {1..5}; do case "$i" in 1) char[i]="color_range" ;; 2) char[i]="color_space" ;; 3) char[i]="color_transfer" ;; 4) char[i]="color_primaries" ;; + 5) char[i]="pix_fmt" ;; esac - CHARS[i]="$($FFPROBE -i "$input" -v error -select_streams v:0 -show_entries stream=${char[i]} -of default=noprint_wrappers=1:nokey=1 | tail -1)" + VCHARS[i]="$($FFPROBE -i "$input" -v quiet -select_streams v:0 -show_entries stream=${char[i]} -of default=noprint_wrappers=1:nokey=1 | tail -1)" done to_upper() { echo "$1" | tr '[a-z]' '[A-Z]' } - green "-> Color Range: $(to_upper "${CHARS[1]}")" - green "-> Color Space: $(to_upper "${CHARS[2]}")" - green "-> Color Transfer: $(to_upper "${CHARS[3]}")" - green "-> Color Primaries: $(to_upper "${CHARS[4]}")" + green "-> Color Range: $(to_upper "${VCHARS[1]}")" + green "-> Color Space: $(to_upper "${VCHARS[2]}")" + green "-> Color Transfer: $(to_upper "${VCHARS[3]}")" + green "-> Color Primaries: $(to_upper "${VCHARS[4]}")" + green "-> Pixel Format: $(to_upper "${VCHARS[5]}")" } video_hdr_to_sdr_func() { @@ -981,8 +983,8 @@ echo " 6 -> Mobius" echo printf "Specify the Tone Mapping Algorithm [default is 6]: " - read tma - case "$tma" in + read tmaopt + case "$tmaopt" in 0) tm_algo="none" ;; 1) tm_algo="clip" ;; 2) tm_algo="linear" ;; @@ -996,7 +998,7 @@ ;; esac echo - green "-> Detecting characteristics..." + green "-> Detecting Video Characteristics..." sleep 1 video_chars_func echo @@ -1011,9 +1013,9 @@ read ctpopt case "$ctpopt" in 0|"") - test "${CHARS[2]}" = "unknown" && colmatrix="undef" || colmatrix="${CHARS[2]}" - test "${CHARS[3]}" = "unknown" && coltrans="undef" || coltrans="${CHARS[3]}" - test "${CHARS[4]}" = "unknown" && colprim="undef" || colprim="${CHARS[4]}" + test "${VCHARS[2]}" = "unknown" && colmatrix="undef" || colmatrix="${VCHARS[2]}" + test "${VCHARS[3]}" = "unknown" && coltrans="undef" || coltrans="${VCHARS[3]}" + test "${VCHARS[4]}" = "unknown" && colprim="undef" || colprim="${VCHARS[4]}" colorprim=":colormatrix=$colmatrix:colorprim=$colprim:transfer=$coltrans" ;; 1) zscale=",zscale=transfer=bt709:primaries=bt709:matrix=bt709"; colorprim=":colormatrix=bt709:colorprim=bt709:transfer=bt709" ;; @@ -1035,7 +1037,7 @@ read ctp if [ "$ctp" = "y" -o "$ctp" = "Y" ]; then echo - green "-> Detecting characteristics..." + green "-> Detecting Video Characteristics..." sleep 1 video_chars_func echo @@ -1238,48 +1240,51 @@ fi fi -printf "Set HDR VUI Options? [y/N]: " -read hdr -if [ "$hdr" = "y" -o "$hdr" = "Y" ]; then - printf "Specify the SMPTE ST 2086 Master Display Color Volume [press 'Enter' to skip]: " - read mdcv - test ! -z "$mdcv" && master_display=":master-display=\"$mdcv\"" - printf "Specify the Content Light Level Info (max-cll) [press 'Enter' to skip]: " - read clli - test ! -z "$clli" && max_cll=":max-cll=$clli" - printf "Add Luma/Chroma Offsets (hdr-opt)? [y/N]: " - read lcoffset - if [ "$lcoffset" = "y" -o "$lcoffset" = "Y" ]; then - hdr_opt=":hdr-opt=1" - fi -fi -printf "Use Dynamic HDR10+ JSON file? [y/N]: " -read dhdr -if [ "$dhdr" = "y" -o "$dhdr" = "Y" ]; then - printf "Provide the JSON file [press 'Enter' to skip]: " - read -e json - if [ ! -z "$json" ]; then - if [ ! -f "$json" ]; then - echo - error "-> No such file. Skipping!" - echo - else - dhdr10=":dhdr10-info=\"$(readlink -f "$json")\"" +if [ -z "$tonemap" ]; then + printf "Set HDR VUI Options? [y/N]: " + read hdr + if [ "$hdr" = "y" -o "$hdr" = "Y" ]; then + printf "Specify the SMPTE ST 2086 Master Display Color Volume [press 'Enter' to skip]: " + read mdcv + test ! -z "$mdcv" && master_display=":master-display=\"$mdcv\"" + printf "Specify the Content Light Level Info (max-cll) [press 'Enter' to skip]: " + read clli + test ! -z "$clli" && max_cll=":max-cll=$clli" + printf "Add Luma/Chroma Offsets (hdr-opt)? [y/N]: " + read lcoffset + if [ "$lcoffset" = "y" -o "$lcoffset" = "Y" ]; then + hdr_opt=":hdr-opt=1" fi fi -fi - -if [ ! -z "$master_display" -o ! -z "$max_cll" -o ! -z "$dhdr10" ]; then - hdr_encopts=":open-gop=0:repeat-headers=1" + + printf "Use Dynamic HDR10+ JSON file? [y/N]: " + read dhdr + if [ "$dhdr" = "y" -o "$dhdr" = "Y" ]; then + printf "Provide the JSON file [press 'Enter' to skip]: " + read -e json + if [ ! -z "$json" ]; then + if [ ! -f "$json" ]; then + echo + error "-> No such file. Skipping!" + echo + else + dhdr10=":dhdr10-info=\"$(readlink -f "$json")\"" + fi + fi + fi + + if [ ! -z "$master_display" -o ! -z "$max_cll" -o ! -z "$dhdr10" ]; then + hdr_encopts=":open-gop=0:repeat-headers=1" + fi fi # Used by cropping and bitrate # calc for target file size video_length_func() { case "$1" in - file) VLENGTH="$($FFPROBE -i "$input" -v error -select_streams v:0 -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 | tail -1 | awk -F. '{print $1}')" ;; - batch) echo "VLENGTH=\"\$($FFPROBE -i \"\$i\" -v error -select_streams v:0 -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 | tail -1 | awk -F. '{print \$1}')\"" ;; + file) VLENGTH="$($FFPROBE -i "$input" -v quiet -select_streams v:0 -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 | tail -1 | awk -F. '{print $1}')" ;; + batch) echo "VLENGTH=\"\$($FFPROBE -i \"\$i\" -v quiet -select_streams v:0 -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 | tail -1 | awk -F. '{print \$1}')\"" ;; esac } @@ -1329,8 +1334,8 @@ echo green "-> Detecting video resolution..." sleep 1 - WIDTH="$($FFPROBE -i "$input" -v error -select_streams v:0 -show_entries stream=width -of default=noprint_wrappers=1:nokey=1 | tail -1)" - HEIGHT="$($FFPROBE -i "$input" -v error -select_streams v:0 -show_entries stream=height -of default=noprint_wrappers=1:nokey=1 | tail -1)" + WIDTH="$($FFPROBE -i "$input" -v quiet -select_streams v:0 -show_entries stream=width -of default=noprint_wrappers=1:nokey=1 | tail -1)" + HEIGHT="$($FFPROBE -i "$input" -v quiet -select_streams v:0 -show_entries stream=height -of default=noprint_wrappers=1:nokey=1 | tail -1)" if [ ! -z "$crop" ]; then green "-> Original resolution: ${WIDTH}x${HEIGHT}" if [ -z "$batchmode" ]; then @@ -1481,7 +1486,7 @@ read cprim if [ "$cprim" = "y" -o "$cprim" = "Y" ]; then echo - green "-> Detecting characteristics..." + green "-> Detecting Video Characteristics..." sleep 1 video_chars_func echo @@ -2668,7 +2673,7 @@ green "-> Track $i: detecting audio sample rate..." sleep 1 aid[i]="$(($(echo "${atrack[i]}" | awk -F: '{print $2}')-1))" - ASR[i]="$($FFPROBE -i "$input" -v error -select_streams a:${aid[i]} -show_entries stream=bit_rate -of default=noprint_wrappers=1:nokey=1 | tail -1)" + ASR[i]="$($FFPROBE -i "$input" -v quiet -select_streams a:${aid[i]} -show_entries stream=bit_rate -of default=noprint_wrappers=1:nokey=1 | tail -1)" if [ ! -z "${ASR[i]}" ]; then green "-> Track $i: detected ${ASR[i]} Hz" else @@ -2918,7 +2923,7 @@ for i in $(eval echo "{1..$ATRACKS}"); do if [ "${acodec[i]}" = "copy" ]; then aid[i]="$(($(echo "${atrack[i]}" | awk -F: '{print $2}')-1))" - abtr[i]="$($FFPROBE -i "$input" -v error -select_streams a:${aid[i]} -show_entries stream=bit_rate -of default=noprint_wrappers=1:nokey=1 | tail -1)" + abtr[i]="$($FFPROBE -i "$input" -v quiet -select_streams a:${aid[i]} -show_entries stream=bit_rate -of default=noprint_wrappers=1:nokey=1 | tail -1)" case "${abtr[i]}" in [1-9]*) abitrate[i]="$((${abtr[i]}/1000))" ;; ""|*) abitrate[i]="0" ;;
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.