From ce43d1f9a3d12c260cc3f95b8cde4476333ad0de Mon Sep 17 00:00:00 2001 From: Jonas Smedegaard Date: Wed, 24 Sep 2014 22:07:03 +0200 Subject: Encode all targets in parallel. --- localvideowebencode | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) (limited to 'localvideowebencode') diff --git a/localvideowebencode b/localvideowebencode index 7e795ac..20fe19a 100755 --- a/localvideowebencode +++ b/localvideowebencode @@ -354,23 +354,23 @@ if [ -n "$loudness" ] && [ -z "$_melt_loudness" ]; then _melt_loudness="$(perl -ne 'm!([^<]+)! and print $1' $stem.xml)" fi -if [ -n "$ogg" ]; then - $melt -group $_melt_in $infiles -group ${channels:+$audioprefilters${_melt_loudness:+ -filter loudness results="$_melt_loudness"}} $filters${channels:+ $_melt_postfilters_audio} -consumer avformat:"$stem.ogv" $_melt_ogg $_melt_vorbis $_melt_out +if [ -n "$mp4" ] && [ -n "$bitrate_fixed" ]; then + $melt -group $_melt_in $infiles -group $filters \ + -consumer avformat:/dev/null pass=1 fastfirstpass=1 an=1 audio_off=1 $_melt_h264 $_melt_out fi -if [ -n "$mp4" ]; then - [ -z "$bitrate_fixed" ] || $melt -group $_melt_in $infiles -group $filters -consumer avformat:/dev/null pass=1 fastfirstpass=1 an=1 audio_off=1 $_melt_h264 $_melt_out - $melt -group $_melt_in $infiles -group ${channels:+$audioprefilters${_melt_loudness:+ -filter loudness results="$_melt_loudness"}} $filters${channels:+ $_melt_postfilters_audio} -consumer avformat:"$stem.mp4" ${bitrate_fixed:+pass=2} $_melt_h264 $_melt_aac $_melt_out - if [ -z "$melt_recent" ]; then - mv "$stem.mp4" "$stem.mp4"~ - qt-faststart "$stem.mp4"~ "$stem.mp4" - [ -f "$stem.mp4" ] && rm "$stem.mp4"~ || mv -f "$stem.mp4"~ "$stem.mp4" - fi -fi - -if [ -n "$webm" ]; then - # TODO: use two-pass when supported by melt - $melt -group $_melt_in $infiles -group ${channels:+$audioprefilters${_melt_loudness:+ -filter loudness results="$_melt_loudness"}} $filters${channels:+ $_melt_postfilters_audio} -consumer avformat:"$stem.webm" $_melt_webm $_melt_vorbis $_melt_out +# TODO: always use two-pass for webm when supported by melt +$melt -group $_melt_in $infiles \ + -group ${channels:+$audioprefilters${_melt_loudness:+ -filter loudness results="$_melt_loudness"}} \ + $filters${channels:+ $_melt_postfilters_audio} \ + ${ogg:+-consumer avformat:$stem.ogv $_melt_ogg $_melt_vorbis $_melt_out} \ + ${mp4:+-consumer avformat:$stem.mp4 ${bitrate_fixed:+pass=2} $_melt_h264 $_melt_aac $_melt_out} \ + ${webm:+-consumer avformat:$stem.webm $_melt_webm $_melt_vorbis $_melt_out} + +if [ -n "$mp4" ] && [ -z "$melt_recent" ]; then + mv "$stem.mp4" "$stem.mp4"~ + qt-faststart "$stem.mp4"~ "$stem.mp4" + [ -f "$stem.mp4" ] && rm "$stem.mp4"~ || mv -f "$stem.mp4"~ "$stem.mp4" fi # cleanup audio normalize hinting -- cgit v1.2.3