Projects
Multimedia
ffhevc
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 46
View file
ffhevc.changes
Changed
@@ -1,4 +1,11 @@ ------------------------------------------------------------------- +Sat Mar 18 22:00:00 UTC 2017 - neutrino8@opensuse.org + +- Update to version 3.2.2 + * Update colorspace entry for NTSC video + * Fixed bug in the video_colorspace_func() values + +------------------------------------------------------------------- Mon Mar 06 21:30:00 UTC 2017 - neutrino8@opensuse.org - Update to version 3.2.1
View file
ffhevc.spec
Changed
@@ -17,7 +17,7 @@ Name: ffhevc -Version: 3.2.1 +Version: 3.2.2 Release: 0 Summary: A small shell script for encoding to H.265/HEVC with ffmpeg License: GPL-2.0+
View file
ffhevc-3.2.1.tar.gz
Deleted
View file
ffhevc-3.1.9.tar.gz/ChangeLog -> ffhevc-3.2.2.tar.gz/ChangeLog
Changed
@@ -1,3 +1,15 @@ +2017-03-18 - ffhevc 3.2.2 + * Update colorspace entry for NTSC video + * Fixed bug in the video_colorspace_func() values + +2017-03-06 - ffhevc 3.2.1 + * Update audio compression level values + * Initial support for HDR VUI signaling + +2017-02-22 - ffhevc 3.2.0 + * Support high FPS -> low FPS conversions + * Bugfix: missing options in FPS conversion menu + 2017-02-06 - ffhevc 3.1.9 * Support the framestep filter for FPS conversion * Support halving the frame rate. Only supported for
View file
ffhevc-3.1.9.tar.gz/ffhevc -> ffhevc-3.2.2.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.1.9 -# Date: 2017-02-06 +# Version: 3.2.2 +# Date: 2017-03-18 # # 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.1.9" +version="3.2.2" CFG="$HOME/.ffhevc" cfgversion="34" @@ -76,8 +76,7 @@ # SCALER="" -# Support NTSC <-> PAL or -# NTSC <-> NTSC FPS conversion? +# Support FPS conversion? VID_FPS_CONVERT="y" # Video filters @@ -910,16 +909,16 @@ echo brown " Colorspace Conversion" brown " ~~~~~~~~~~~~~~~~~~~~~" - echo " 1 --> SMPTE170M (NTSC) -> BT470BG (PAL)" - echo " 2 --> SMPTE170M (NTSC) -> BT709 (HD/FHD)" - echo " 3 --> SMPTE170M (NTSC) -> BT2020 (4K/UHD)" - echo " 4 --> BT470BG (PAL) -> SMPTE170M (NTSC)" + echo " 1 --> BT470M (NTSC) -> BT470BG (PAL)" + echo " 2 --> BT470M (NTSC) -> BT709 (HD/FHD)" + echo " 3 --> BT470M (NTSC) -> BT2020 (4K/UHD)" + echo " 4 --> BT470BG (PAL) -> BT470M (NTSC)" echo " 5 --> BT470BG (PAL) -> BT709 (HD/FHD)" echo " 6 --> BT470BG (PAL) -> BT2020 (4K/UHD)" - echo " 7 --> BT709 (HD/FHD) -> SMPTE170M (NTSC)" + echo " 7 --> BT709 (HD/FHD) -> BT470M (NTSC)" echo " 8 --> BT709 (HD/FHD) -> BT470BG (PAL)" echo " 9 --> BT709 (HD/FHD) -> BT2020 (4K/UHD)" - echo " 10 -> BT2020 (4K/UHD) -> SMPTE170M (NTSC)" + echo " 10 -> BT2020 (4K/UHD) -> BT470M (NTSC)" echo " 11 -> BT2020 (4K/UHD) -> BT470BG (PAL)" echo " 12 -> BT2020 (4K/UHD) -> BT709 (HD/FHD)" echo @@ -927,21 +926,21 @@ read csopt case "$csopt" in 1) - cspace="iall=smpte170m:ispace=smpte170m:itrc=smpte170m:iprimaries=smpte170m:irange=mpeg:all=bt470bg:space=bt470bg:trc=bt470bg:primaries=bt470bg:range=tv:dither=fsb" + cspace="iall=bt470m:ispace=bt470m:itrc=bt470m:iprimaries=bt470m:irange=mpeg:all=bt470bg:space=bt470bg:trc=bt470bg:primaries=bt470bg:range=tv:dither=fsb" colorprim=":colormatrix=bt470bg:colorprim=bt470bg:transfer=bt470bg" ;; 2) - cspace="iall=smpte170m:ispace=smpte170m:itrc=smpte170m:iprimaries=smpte170m:irange=mpeg:all=bt709:space=bt709:trc=bt709:primaries=bt709:range=tv:dither=fsb" + cspace="iall=bt470m:ispace=bt470m:itrc=bt470m:iprimaries=bt470m:irange=mpeg:all=bt709:space=bt709:trc=bt709:primaries=bt709:range=tv:dither=fsb" colorprim=":colormatrix=bt709:colorprim=bt709:transfer=bt709" ;; 3) video_csmisc_func - cspace="iall=smpte170m:ispace=smpte170m:itrc=smpte170m:iprimaries=smpte170m:irange=mpeg:all=bt2020:space=bt2020ncl:trc=bt2020$bd:primaries=bt2020:range=tv:dither=fsb" + cspace="iall=bt470m:ispace=bt470m:itrc=bt470m:iprimaries=bt470m:irange=mpeg:all=bt2020:space=bt2020ncl:trc=bt2020$bd:primaries=bt2020:range=tv:dither=fsb" colorprim=":colormatrix=bt2020$cm:colorprim=bt2020:transfer=bt2020$bd" ;; 4) - cspace="iall=bt470bg:ispace=bt470bg:itrc=bt470bg:iprimaries=bt470bg:irange=mpeg:all=smpte170m:space=smpte170m:trc=smpte170m:primaries=smpte170m:range=tv:dither=fsb" - colorprim=":colormatrix=bt470bg:colorprim=bt470bg:transfer=bt470bg" + cspace="iall=bt470bg:ispace=bt470bg:itrc=bt470bg:iprimaries=bt470bg:irange=mpeg:all=bt470m:space=bt470m:trc=bt470m:primaries=bt470m:range=tv:dither=fsb" + colorprim=":colormatrix=bt470m:colorprim=bt470m:transfer=bt470m" ;; 5) cspace="iall=bt470bg:ispace=bt470bg:itrc=bt470bg:iprimaries=bt470bg:irange=mpeg:all=bt709:space=bt709:trc=bt709:primaries=bt709:range=tv:dither=fsb" @@ -953,8 +952,8 @@ colorprim=":colormatrix=bt2020$cm:colorprim=bt2020:transfer=bt2020$bd" ;; 7) - cspace="iall=bt709:ispace=bt709:itrc=bt709:iprimaries=bt709:irange=mpeg:all=smpte170m:space=smpte170m:trc=smpte170m:primaries=smpte170m:range=tv:dither=fsb" - colorprim=":colormatrix=smpte170m:colorprim=smpte170m:transfer=smpte170m" + cspace="iall=bt709:ispace=bt709:itrc=bt709:iprimaries=bt709:irange=mpeg:all=bt470m:space=bt470m:trc=bt470m:primaries=bt470m:range=tv:dither=fsb" + colorprim=":colormatrix=bt470m:colorprim=bt470m:transfer=bt470m" ;; 8) cspace="iall=bt709:ispace=bt709:itrc=bt709:iprimaries=bt709:irange=mpeg:all=bt470bg:space=bt470bg:trc=bt470bg:primaries=bt470bg:range=tv:dither=fsb" @@ -967,8 +966,8 @@ ;; 10) video_csmisc_func - cspace="iall=bt2020:ispace=bt2020:itrc=bt2020$bd:iprimaries=bt2020:irange=mpeg:all=smpte170m:space=smpte170m:trc=smpte170m:primaries=smpte170m:range=tv:dither=fsb" - colorprim=":colormatrix=smpte170m:colorprim=smpte170m:transfer=smpte170m" + cspace="iall=bt2020:ispace=bt2020:itrc=bt2020$bd:iprimaries=bt2020:irange=mpeg:all=bt470m:space=bt470m:trc=bt470m:primaries=bt470m:range=tv:dither=fsb" + colorprim=":colormatrix=bt470m:colorprim=bt470m:transfer=bt470m" ;; 11) video_csmisc_func @@ -1013,6 +1012,20 @@ 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 + test ! -z "$lcoffset" && hdr_opt=":hdr-opt=1" +fi + # Used by cropping and bitrate # calc for target file size video_length_func() { @@ -1116,7 +1129,7 @@ echo brown " Color Primaries" brown " ~~~~~~~~~~~~~~~" - echo " 0 -> SMPTE170M (NTSC)" + echo " 0 -> BT470M (NTSC)" echo " 1 -> BT470BG (PAL)" echo " 2 -> BT709 (HD/Full HD)" echo " 3 -> BT2020NC & BT2020-10 (4K/UHD)" @@ -1128,7 +1141,7 @@ printf "Specify the Color Primaries [default is 7]: " read cpopt case "$cpopt" in - 0) matrix="smpte170m"; prim="smpte170m"; transfer="smpte170m" ;; + 0) matrix="bt470m"; prim="bt470m"; transfer="bt470m" ;; 1) matrix="bt470bg"; prim="bt470bg"; transfer="bt470bg" ;; 2) matrix="bt709"; prim="bt709"; transfer="bt709" ;; 3) matrix="bt2020nc"; prim="bt2020"; transfer="bt2020-10" ;; @@ -1208,18 +1221,21 @@ echo brown " FPS Conversion" brown " ~~~~~~~~~~~~~~" - echo " 0 --> 23.976 FPS to 24 FPS 12 -> 50 FPS to 59.940 FPS" - echo " 1 --> 23.976 FPS to 25 FPS 13 -> 50 FPS to 60 FPS" - echo " 2 --> 23.976 FPS to 29.970 FPS" - echo " 14 -> 59.940 FPS to 50 FPS" - echo " 3 --> 24 FPS to 23.976 FPS 15 -> 59.940 FPS to 60 FPS" + echo " 0 --> 23.976 FPS to 24 FPS 12 -> 50 FPS to 59.940 FPS 23 -> 50 FPS to 29.970 FPS" + echo " 1 --> 23.976 FPS to 25 FPS 13 -> 50 FPS to 60 FPS " + echo " 2 --> 23.976 FPS to 29.970 FPS 24 -> 59.940 FPS to 23.976 FPS " + echo " 14 -> 59.940 FPS to 50 FPS 25 -> 59.940 FPS to 24 FPS" + echo " 3 --> 24 FPS to 23.976 FPS 15 -> 59.940 FPS to 60 FPS 26 -> 59.940 FPS to 25 FPS" echo " 4 --> 24 FPS to 25 FPS" - echo " 5 --> 24 FPS to 29.970 FPS 16 -> 60 FPS to 50 FPS" - echo " 17 -> 60 FPS to 59.940 FPS" - echo " 6 --> 25 FPS to 23.976 FPS" - echo " 7 --> 25 FPS to 24 FPS 18 -> 50 FPS to 25 FPS" + echo " 5 --> 24 FPS to 29.970 FPS 16 -> 60 FPS to 50 FPS 27 -> 60 FPS to 23.976 FPS" + echo " 17 -> 60 FPS to 59.940 FPS 28 -> 60 FPS to 24 FPS" + echo " 6 --> 25 FPS to 23.976 FPS 29 -> 60 FPS to 25 FPS" + echo " 7 --> 25 FPS to 24 FPS 18 -> 50 FPS to 25 FPS 30 -> 60 FPS to 29.970 FPS" echo " 8 --> 25 FPS to 29.970 FPS 19 -> 59.940 FPS to 29.970 FPS" echo " 20 -> 60 FPS to 30 FPS" + echo " 9 --> 29.970 FPS to 23.976 FPS" + echo " 10 -> 29.970 FPS to 24 FPS 21 -> 50 FPS to 23.976 FPS" + echo " 11 -> 29.970 FPS to 25 FPS 22 -> 50 FPS to 24 FPS" echo printf "Specify the FPS Conversion option [press 'Enter' to skip]: " read fpsopt @@ -1359,6 +1375,46 @@ 20) ofps="-r 30/1" ;; + 21) + setpts="framestep=step=2,setpts=25000/23976*PTS,"; atempo="atempo=0.95904," + ofps="-r 24000/1001" + ;; + 22) + setpts="framestep=step=2,setpts=25000/24000*PTS,"; atempo="atempo=0.96," + ofps="-r 24/1" + ;; + 23) + setpts="framestep=step=2,setpts=25000/29970*PTS,"; atempo="atempo=1.1988," + ofps="-r 30000/1001" + ;; + 24) + setpts="framestep=step=2,setpts=29970/23976*PTS,"; atempo="atempo=0.8," + ofps="-r 24000/1001" + ;; + 25) + setpts="framestep=step=2,setpts=29970/24000*PTS,"; atempo="atempo=0.800800800801," + ofps="-r 24/1" + ;; + 26) + setpts="framestep=step=2,setpts=29970/25000*PTS,"; atempo="atempo=0.83416750083416750083," + ofps="-r 25/1" + ;; + 27) + setpts="framestep=step=2,setpts=30000/23976*PTS,"; atempo="atempo=0.7992," + ofps="-r 24000/1001" + ;; + 28) + setpts="framestep=step=2,setpts=30000/24000*PTS,"; atempo="atempo=0.8," + ofps="-r 24/1" + ;; + 29) + setpts="framestep=step=2,setpts=30000/25000*PTS,"; atempo="atempo=0.83333333333333333333," + ofps="-r 25/1" + ;; + 30) + setpts="framestep=step=2,setpts=30000/29970*PTS,"; atempo="atempo=0.999," + ofps="-r 30000/1001" + ;; "") true ;; @@ -1375,6 +1431,12 @@ fi framestep="framestep=step=2," ;; + 2[1-9]|30) + if [ "$fcm" != "1" ]; then + error "-> Options 21-30 support only the 'setpts' filter!" + exit 1 + fi + ;; "") true ;; @@ -1691,14 +1753,14 @@ flac) acdc[i]="flac" ameta[i]="FLAC" - abropts[i]="0-8" + abropts[i]="0-12" abrdef[i]="5" skiptfs="1" ;; alac) acdc[i]="alac" ameta[i]="ALAC" - abropts[i]="0-8" + abropts[i]="0-12" abrdef[i]="5" skiptfs="1" ;; @@ -2507,7 +2569,7 @@ test ! -z "$vidfilters" && vfilters="-vf $vidfilters" -test ! -z "$vpreset" && X265PARAMS="$colorprim$interlaced $vpreset $vtune" || X265PARAMS=":$X265PARAMS$colorprim$interlaced" +test ! -z "$vpreset" && X265PARAMS="$colorprim$interlaced$master_display$max_cll$hdr_opt $vpreset $vtune" || X265PARAMS=":$X265PARAMS$colorprim$interlaced$master_display$max_cll$hdr_opt" test ! -z "$COMMENT" && METACOMMENT="-metadata comment=\"$COMMENT\""
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
.