videos/Makepromo

Sun, 19 Jan 2014 20:45:00 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Sun, 19 Jan 2014 20:45:00 +0100
changeset 1
5372737ad174
permissions
-rwxr-xr-x

Rename text to speech script files for consistency with existing tts.

     1 #! /bin/sh
     3 # Set variables
     4 INFILE=$1
     5 INAUDI=$2
     6 INPREV=$3
     7 INPOST=$4
     8 INTITLE=$5
     9 THREAD=4
    11 # Following is not needed
    12 ## Get the number of frames for fading out
    13 #FRAMES=`ffmpeg -i $INFILE -an -codec:v copy -f null /dev/null 2>&1 | grep 'frame=' | cut -f 2 -d ' '`
    15 # Start log
    16 #script procfilm-`date +%Y%m%d:%H:%M:%S`.log
    17 echo "Redirecting command line out to log file `date +%Y%m%d:..._`.log"
    18 exec > procfilm-`date +%Y%m%d:%H:%M:%S`.log 2>&1
    20 # Usage
    21 echo 'This program will produce six output files, one of each format:'
    22 echo '    720p and 360p, WEBM (VP8+VORBIS in WEBM)'
    23 echo '    720p and 360p, XIPH (THEORA+VORBIS in OGV)'
    24 echo '    720p and 360p, MPEG (H.264+AAC in MP4)'
    25 echo ''
    26 echo "Usage:   $0 <Srcfile> <Srcaudio> <Prevfile> <Postfile> '<Titel>'"
    27 echo "Example: $0 Myfilm.avi Myaudio.wav Myprev Mypost 'My best film'"
    28 echo 'Note: Myprev and Mypost must be PNG files (without file extension.)'
    29 echo 'Note: Titel can be only one word unless you wrap a phrase in quotes.'
    30 echo ''
    31 echo 'Warning: Check your preset paths like /usr/share/ffmpeg and $HOME/.ffmpeg'
    32 echo ''
    33 echo "Starting with log processing on `date +%Y%m%d\ %H:%M:%S`"
    34 echo ''
    36 # Create working subdirectories
    37 for format in webm xiph mpeg; do
    38     for resol in 360 720; do
    39         mkdir work$format-$resol;
    40     done;
    41 done
    43 #
    44 # START OF WEBM ENCODING
    45 #
    47 # 720p Webm (VP8/Vorbis)
    48 cd ./workwebm-720 || return 1
    50 # 720p Prepare main film part
    51 time ffmpeg -v warning -threads $THREAD -i ../$INFILE -an -codec:v libvpx -r 25 -s 1280x720 -aspect 16:9 -pix_fmt yuv420p -vpre 720p -pass 1 -f null /dev/null 2>&1
    52 echo 'Finished first pass main film part encoding...'
    53 echo ''
    54 # For only watermark (no delogo nor fade) do this:
    55 # -vf 'movie=../procomwater.png [watermark]; [in][watermark] overlay=24:608 [out]'
    56 time ffmpeg -v warning -threads $THREAD -i ../$INFILE -an -codec:v libvpx -r 25 -s 1280x720 -aspect 16:9 -pix_fmt yuv420p -vpre 720p -vf '[in] delogo=x=38:y=616:w=254:h=68:band=4:t=4:show=0 [delogo]; movie=../procomwater.png [watermark]; [delogo][watermark] overlay=24:608, fade=t=in:st=0:d=1:alpha=0, fade=t=out:st=298:d=2:alpha=0 [out]' -f webm -pass 2 $INFILE-vidnur720p.webm
    57 echo 'Finished second pass main film part encoding...'
    58 echo ''
    60 # 720p Generate front and back matter
    61 # WARNING: -loop, -t, -r, -vf, -f, or something else causing sync problems!
    62 ffmpeg -v warning -loop 1 -i ../$INPREV.png -c:v libvpx -t 12.45 -r 25 -s 1280x720 -aspect 16:9 -pix_fmt yuv420p -vpre 720p -vf 'fade=t=in:st=0:d=1.5:alpha=0, fade=t=out:st=11.5:d=0.5:alpha=0' -f webm $INPREV-720p.webm
    63 echo 'Finished generation of front matter...'
    64 echo ''
    65 ffmpeg -v warning -loop 1 -i ../$INPOST.png -c:v libvpx -t 15 -r 25 -s 1280x720 -aspect 16:9 -pix_fmt yuv420p -vpre 720p -vf 'fade=t=in:st=0:d=1:alpha=0' -f webm $INPOST-720p.webm
    66 echo 'Finished generation of back matter...'
    67 echo ''
    69 # 720p Concatanate film parts
    70 mkvmerge --title "$INTITLE" --default-language en -w -o $INFILE-vidcat720p.webm $INPREV-720p.webm + $INFILE-vidnur720p.webm + $INPOST-720p.webm
    71 echo 'Finished concatanating front, main, and back part files...'
    72 echo ''
    74 # 720p Join video and audio in film
    75 ffmpeg -v warning -i $INFILE-vidcat720p.webm -i ../$INAUDI -map 0 -map 1 -strict -2 -codec:a vorbis -aq 20 -ac 2 -codec:v copy -pix_fmt yuv420p -f webm output-720p.webm
    76 echo "Finished joining video with audio to produce $INFILE-720p.webm" 
    77 echo ''
    78 echo ''
    80 # 360p Webm (VP8/Vorbis)
    81 cd ../workwebm-360 || return 1
    83 # 360p Prepare main film part
    84 time ffmpeg -v warning -threads $THREAD -i ../$INFILE -an -codec:v libvpx -r 25 -s 640x360 -aspect 16:9 -pix_fmt yuv420p -vpre 360p -pass 1 -f null /dev/null 2>&1
    85 echo 'Finished first pass main film part encoding...'
    86 echo ''
    87 time ffmpeg -v warning -threads $THREAD -i ../$INFILE -an -codec:v libvpx -r 25 -s 640x360 -aspect 16:9 -pix_fmt yuv420p -vpre 360p -vf '[in] delogo=x=38:y=616:w=254:h=68:band=4:t=4:show=0 [delogo]; movie=../procomwater.png [watermark]; [delogo][watermark] overlay=24:608, fade=t=in:st=0:d=1:alpha=0, fade=t=out:st=298:d=2:alpha=0 [out]' -f webm -pass 2 $INFILE-vidnur360p.webm
    88 echo 'Finished second pass main film part encoding...'
    89 echo ''
    91 # 360p Generate front and back matter
    92 # WARNING: -loop, -t, -r, -vf, -f, or something else causing sync problems!
    93 ffmpeg -v warning -loop 1 -i ../$INPREV.png -c:v libvpx -t 12.45 -r 25 -s 640x360 -aspect 16:9 -pix_fmt yuv420p -vpre 360p -vf 'fade=t=in:st=0:d=1.5:alpha=0, fade=t=out:st=11.5:d=0.5:alpha=0' -f webm $INPREV-360p.webm
    94 echo 'Finished generation of front matter...'
    95 echo ''
    96 ffmpeg -v warning -loop 1 -i ../$INPOST.png -c:v libvpx -t 15 -r 25 -s 640x360 -aspect 16:9 -pix_fmt yuv420p -vpre 360p -vf 'fade=t=in:st=0:d=1:alpha=0' -f webm $INPOST-360p.webm
    97 echo 'Finished generation of back matter...'
    98 echo ''
   100 # 360p Concatanate film parts
   101 mkvmerge --title "$INTITLE" --default-language en -w -o $INFILE-vidcat360p.webm $INPREV-360p.webm + $INFILE-vidnur360p.webm + $INPOST-360p.webm
   102 echo 'Finished concatanating front, main, and back part files...'
   103 echo ''
   105 # 360p Join video and audio in film
   106 ffmpeg -v warning -i $INFILE-vidcat360p.webm -i ../$INAUDI -map 0 -map 1 -strict -2 -codec:a vorbis -aq 20 -ac 2 -codec:v copy -pix_fmt yuv420p -f webm output-360p.webm
   107 echo "Finished joining video with audio to produce $INFILE-360p.webm" 
   108 echo ''
   109 echo ''
   111 #
   112 # START OF MPEG4 ENCODING
   113 #
   115 # 720p MPEG4 (H.264/MP4)
   116 cd ../workmpeg-720 || return 1
   118 # 720p Prepare main film part
   119 time ffmpeg -v warning -threads 0 -i ../$INFILE -an -codec:v libx264 -b:v 2048k -r 25 -s 1280x720 -aspect 16:9 -pix_fmt yuv420p -vpre fastfirstpass -pass 1 -f null /dev/null 2>&1
   120 echo 'Finished first pass main film part encoding...'
   121 echo ''
   122 time ffmpeg -v warning -threads 0 -i ../$INFILE -an -codec:v libx264 -b:v 2048k -r 25 -s 1280x720 -aspect 16:9 -pix_fmt yuv420p -vpre hq -vf '[in] delogo=x=38:y=616:w=254:h=68:band=4:t=4:show=0 [delogo]; movie=../procomwater.png [watermark]; [delogo][watermark] overlay=24:608, fade=t=in:st=0:d=1:alpha=0, fade=t=out:st=298:d=2:alpha=0 [out]' -bsf:v h264_mp4toannexb -f mpegts -pass 2 $INFILE-vidnur720p.ts
   123 echo 'Finished second pass main film part encoding...'
   124 echo ''
   126 # 720p Generate front and back matter
   127 # WARNING: -loop, -t, -r, -vf, -f, or something else causing sync problems!
   128 ffmpeg -v warning -loop 1 -i ../$INPREV.png -c:v libx264 -t 12.45 -b:v 2048k -r 25 -s 1280x720 -aspect 16:9 -pix_fmt yuv420p -vf 'fade=t=in:st=0:d=1.5:alpha=0, fade=t=out:st=11.5:d=0.5:alpha=0' -f mpegts $INPREV-720p.ts
   129 echo 'Finished generation of front matter...'
   130 echo ''
   131 ffmpeg -v warning -loop 1 -i ../$INPOST.png -c:v libx264 -t 15 -b:v 2048k -r 25 -s 1280x720 -aspect 16:9 -pix_fmt yuv420p -vf 'fade=t=in:st=0:d=1:alpha=0' -f mpegts $INPOST-720p.ts
   132 echo 'Finished generation of back matter...'
   133 echo ''
   135 # Now prepare for H.264 concatanation
   136 # http://trac.ffmpeg.org/wiki/How%20to%20concatenate%20%28join,%20merge%29%20media%20files
   138 ## Dont use this because it reencodes when copying is desired
   139 ##ffmpeg -v warning -i <filmpre.mp4> -i $INFILE -i <filmpost.mp4> -filter_complex '[0:0] [0:1] [1:0] [1:1] [2:0] [2:1] concat=n=3:v=1:a=1 [v] [a]' -map '[v]' -map '[a]' fullfilm.mp4
   141 # 720p Concatanate film parts
   142 # Actually dont need this if we encode H.264 to MPEGTS in previous encoding
   143 ##ffmpeg -v warning -i $INFILE.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts intermediate.ts
   144 ffmpeg -i "concat:$INPREV-720p.ts|$INFILE-vidnur720p.ts|$INPOST-720p.ts" -c copy -bsf:a aac_adtstoasc -f mp4 $INFILE-vidcat720p.mp4
   145 echo 'Finished concatanating front, main, and back part files...'
   146 echo ''
   148 # 720p Join video and audio in film
   149 ffmpeg -v warning -i $INFILE-vidcat720p.mp4 -i ../$INAUDI -map 0 -map 1 -strict -2 -codec:a aac -b:a 128k -ac 2 -sample_fmt:1 fltp -codec:v copy -pix_fmt yuv420p -f mp4 output-720p.mp4
   150 echo "Finished joining video with audio to produce $INFILE-720p.mp4" 
   151 echo ''
   152 echo ''
   154 # 360p MPEG4 (H.264/MP4)
   155 cd ../workmpeg-360 || return 1
   157 # 360p Prepare main film part
   158 time ffmpeg -v warning -threads 0 -i ../$INFILE -an -codec:v libx264 -b:v 768k -r 25 -s 640x360 -aspect 16:9 -pix_fmt yuv420p -vpre fastfirstpass -pass 1 -f null /dev/null 2>&1
   159 echo 'Finished first pass main film part encoding...'
   160 echo ''
   161 time ffmpeg -v warning -threads 0 -i ../$INFILE -an -codec:v libx264 -b:v 768k -r 25 -s 640x360 -aspect 16:9 -pix_fmt yuv420p -vpre hq -vf '[in] delogo=x=38:y=616:w=254:h=68:band=4:t=4:show=0 [delogo]; movie=../procomwater.png [watermark]; [delogo][watermark] overlay=24:608, fade=t=in:st=0:d=1:alpha=0, fade=t=out:st=298:d=2:alpha=0 [out]' -bsf:v h264_mp4toannexb -f mpegts -pass 2 $INFILE-vidnur360p.ts
   162 echo 'Finished second pass main film part encoding...'
   163 echo ''
   165 # 360p Generate front and back matter
   166 # WARNING: -loop, -t, -r, -vf, -f, or something else causing sync problems!
   167 ffmpeg -v warning -loop 1 -i ../$INPREV.png -c:v libx264 -t 12.45 -b:v 768k -r 25 -s 640x360 -aspect 16:9 -pix_fmt yuv420p -vf 'fade=t=in:st=0:d=1.5:alpha=0, fade=t=out:st=11.5:d=0.5:alpha=0' -f mpegts $INPREV-360p.ts
   168 echo 'Finished generation of front matter...'
   169 echo ''
   170 ffmpeg -v warning -loop 1 -i ../$INPOST.png -c:v libx264 -t 15 -b:v 768k -r 25 -s 640x360 -aspect 16:9 -pix_fmt yuv420p -vf 'fade=t=in:st=0:d=1:alpha=0' -f mpegts $INPOST-360p.ts
   171 echo 'Finished generation of back matter...'
   172 echo ''
   174 # Now prepare for H.264 concatanation
   175 # http://trac.ffmpeg.org/wiki/How%20to%20concatenate%20%28join,%20merge%29%20media%20files
   177 ## Dont use this because it reencodes when copying is desired
   178 ##ffmpeg -v warning -i <filmpre.mp4> -i $INFILE -i <filmpost.mp4> -filter_complex '[0:0] [0:1] [1:0] [1:1] [2:0] [2:1] concat=n=3:v=1:a=1 [v] [a]' -map '[v]' -map '[a]' fullfilm.mp4
   180 # 360p Concatanate film parts
   181 # Actually dont need this if we encode H.264 to MPEGTS in previous encoding
   182 ##ffmpeg -v warning -i $INFILE.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts intermediate.ts
   183 ffmpeg -i "concat:$INPREV-360p.ts|$INFILE-vidnur360p.ts|$INPOST-360p.ts" -c copy -bsf:a aac_adtstoasc -f mp4 $INFILE-vidcat360p.mp4
   184 echo 'Finished concatanating front, main, and back part files...'
   185 echo ''
   187 # 360p Join video and audio in film
   188 ffmpeg -v warning -i $INFILE-vidcat360p.mp4 -i ../$INAUDI -map 0 -map 1 -strict -2 -codec:a aac -b:a 128k -ac 2 -sample_fmt:1 fltp -codec:v copy -pix_fmt yuv420p -f mp4 output-360p.mp4
   189 echo "Finished joining video with audio to produce $INFILE-360p.mp4" 
   190 echo ''
   191 echo ''
   193 #
   194 # START OF XIPH ENCODING
   195 #
   197 # 720p OGV
   198 cd ../workxiph-720 || return 1
   200 # 720p Prepare main film part
   201 #ffmpeg -i ../$INFILE -codec:v theora -qscale:v 7 -codec:a vorbis -qscale:a 5 output.ogv
   202 time ffmpeg -v warning -threads 0 -i ../$INFILE -an -codec:v libtheora -b:v 2400k -r 25 -s 1280x720 -aspect 16:9 -pix_fmt yuv420p -f null -pass 1 /dev/null 2>&1
   203 echo 'Finished first pass main film part encoding...'
   204 echo ''
   205 time ffmpeg -v warning -threads 0 -i ../$INFILE -an -codec:v libtheora -b:v 2400k -r 25 -s 1280x720 -aspect 16:9 -pix_fmt yuv420p -vf '[in] delogo=x=38:y=616:w=254:h=68:band=4:t=4:show=0 [delogo]; movie=../procomwater.png [watermark]; [delogo][watermark] overlay=24:608, fade=t=in:st=0:d=1:alpha=0, fade=t=out:st=298:d=2:alpha=0 [out]' -f ogg -pass 2 $INFILE-vidnur720p.ogv
   206 echo 'Finished second pass main film part encoding...'
   207 echo ''
   209 # 720p Generate front and back matter
   210 # WARNING: -loop, -t, -r, -vf, -f, or something else causing sync problems!
   211 ffmpeg -v warning -loop 1 -i ../$INPREV.png -c:v libtheora -t 12.55 -b:v 2400k -r 25 -s 1280x720 -aspect 16:9 -pix_fmt yuv420p -vf 'fade=t=in:st=0:d=1.5:alpha=0, fade=t=out:st=11.5:d=0.5:alpha=0' -f ogg $INPREV-720p.ogv
   212 echo 'Finished generation of front matter...'
   213 echo ''
   214 ffmpeg -v warning -loop 1 -i ../$INPOST.png -c:v libtheora -t 15 -b:v 2400k -r 25 -s 1280x720 -aspect 16:9 -pix_fmt yuv420p -vf 'fade=t=in:st=0:d=1:alpha=0' -f ogg $INPOST-720p.ogv
   215 echo 'Finished generation of back matter...'
   216 echo ''
   218 # 720p Concatanate film parts
   219 #oggCat $INFILE-vidcat720p.ogv $INPREV-720p.ogv $INFILE-vidnur720p.ogv $INPOST-720p.ogv
   220 mkvmerge --title "$INTITLE" --default-language en -o $INFILE-vidcat720p.mkv $INPREV-720p.ogv + $INFILE-vidnur720p.ogv + $INPOST-720p.ogv
   221 echo 'Finished concatanating front, main, and back part files...'
   222 echo ''
   224 # 720p Join video and audio in film
   225 ffmpeg -v warning -i $INFILE-vidcat720p.mkv -i ../$INAUDI -map 0 -map 1 -strict -2 -codec:a vorbis -qscale:a 6 -ac 2 -codec:v copy -pix_fmt yuv420p -f ogg output-720p.ogv
   226 echo "Finished joining video with audio to produce $INFILE-720p.ogv" 
   227 echo ''
   228 echo ''
   230 # 360p OGV
   231 cd ../workxiph-360 || return 1
   233 # 360p Prepare main film part
   234 #ffmpeg -i ../$INFILE -codec:v theora -qscale:v 7 -codec:a vorbis -qscale:a 5 output.ogv
   235 time ffmpeg -v warning -threads 0 -i ../$INFILE -an -codec:v libtheora -b:v 1024k -r 25 -s 640x360 -aspect 16:9 -pix_fmt yuv420p -f null -pass 1 /dev/null 2>&1
   236 echo 'Finished first pass main film part encoding...'
   237 echo ''
   238 time ffmpeg -v warning -threads 0 -i ../$INFILE -an -codec:v libtheora -b:v 1024k -r 25 -s 640x360 -aspect 16:9 -pix_fmt yuv420p -vf '[in] delogo=x=38:y=616:w=254:h=68:band=4:t=4:show=0 [delogo]; movie=../procomwater.png [watermark]; [delogo][watermark] overlay=24:608, fade=t=in:st=0:d=1:alpha=0, fade=t=out:st=298:d=2:alpha=0 [out]' -f ogg -pass 2 $INFILE-vidnur360p.ogv
   239 echo 'Finished second pass main film part encoding...'
   240 echo ''
   242 # 360p Generate front and back matter
   243 # WARNING: -loop, -t, -r, -vf, -f, or something else causing sync problems!
   244 ffmpeg -v warning -loop 1 -i ../$INPREV.png -c:v libtheora -t 12.50 -r 25 -s 640x360 -aspect 16:9 -pix_fmt yuv420p -vf 'fade=t=in:st=0:d=1.5:alpha=0, fade=t=out:st=11.5:d=0.5:alpha=0' -f ogg $INPREV-360p.ogv
   245 echo 'Finished generation of front matter...'
   246 echo ''
   247 ffmpeg -v warning -loop 1 -i ../$INPOST.png -c:v libtheora -t 15 -b:v 1024k -r 25 -s 640x360 -aspect 16:9 -pix_fmt yuv420p -vf 'fade=t=in:st=0:d=1:alpha=0' -f ogg $INPOST-360p.ogv
   248 echo 'Finished generation of back matter...'
   249 echo ''
   251 # 360p Concatanate film parts
   252 #oggCat $INFILE-vidcat360p.ogv $INPREV-360p.ogv $INFILE-vidnur360p.ogv $INPOST-360p.ogv
   253 mkvmerge --title "$INTITLE" --default-language en -o $INFILE-vidcat360p.mkv $INPREV-360p.ogv + $INFILE-vidnur360p.ogv + $INPOST-360p.ogv
   254 echo 'Finished concatanating front, main, and back part files...'
   255 echo ''
   257 # 360p Join video and audio in film
   258 ffmpeg -v warning -i $INFILE-vidcat360p.mkv -i ../$INAUDI -map 0 -map 1 -strict -2 -codec:a vorbis -qscale:a 5 -ac 2 -codec:v copy -pix_fmt yuv420p -f ogg output-360p.ogv
   259 echo "Finished joining video with audio to produce $INFILE-360p.ogv" 
   260 echo ''
   261 echo ''
   263 #
   264 # Closing
   265 #
   266 cd ..
   267 echo 'Processed files: work*-*/output-*.*'
   268 ls -ld work*-*/output-*.*
   269 echo ''
   270 echo 'Tip: If using HTML5 video, then consider:'
   271 echo "  <video poster='poster.png' width=640 height=360 preload='metadata' controls>"
   272 echo ''
   274 #
   275 # Scratch block (unused logic)
   276 #
   278 # 480p H.264/AAC in MP4
   279 #time ffmpeg -v warning -threads 0 -i ../$INFILE -an -codec:v libx264 -b:v 1000k -r 25 -s 854x480 -aspect 16:9 -pix_fmt yuv420p -vpre fastfirstpass -pass 1 -f null /dev/null 2>&1
   280 #time ffmpeg -v warning -threads 0 -i ../$INFILE -codec:a aac -b:a 128k -ac 2 -sample_fmt:1 fltp -codec:v libx264 -b:v 1000k -r 25 -s 854x480 -aspect 16:9 -pix_fmt yuv420p -vpre hq -vf '[in] delogo=x=38:y=616:w=254:h=68:band=4:t=4:show=0 [delogo]; movie=../procomwater.png [watermark]; [delogo][watermark] overlay=24:608, fade=t=in:st=0:d=1:alpha=0, fade=t=out:st=298:d=2:alpha=0 [out]' -f mp4 -pass 2 $INFILE-480p.mp4
   282 # 720p WEBM
   283 #$ time ffmpeg -v warning -threads 4 -i ../procomplota.ts -an -codec:v libvpx -r 25 -s 1280x720 -aspect 16:9 -pix_fmt yuv420p -vpre 720p -pass 1 -f null /dev/null 2>&1
   284 #$ time ffmpeg -v warning -threads 4 -i ../procomplota.ts -an -codec:v libvpx -r 25 -s 1280x720 -aspect 16:9 -pix_fmt yuv420p -vpre 720p -vf 'movie=../procomwater.png [watermark]; [in][watermark] overlay=24:608 [out]' -f webm -pass 2 procomplota-vidnur720p.webm
   285 #$ ffmpeg -v warning -loop 1 -i ../procomnach.png -c:v libvpx -t 15 -r 25 -s 1280x720 -aspect 16:9 -pix_fmt yuv420p -vpre 720p -vf 'fade=t=in:st=0:d=1:alpha=0' -f webm procomnach-720p.webm
   286 #$ mkvmerge --title "Procom Quick Overview" --default-language en -w -o procomplota-vidcat720p.webm procomplota-vidnur720p.webm + procomnach-720p.webm
   287 #$ ffmpeg -v warning -i procomplota-vidcat720p.webm -i ../procomplota.wav -map 0 -map 1 -strict -2 -codec:a vorbis -aq 20 -ac 2 -codec:v copy -pix_fmt yuv420p -f webm output-720p.webm
   289 # 360p WEBM
   290 #$ time ffmpeg -v warning -threads 4 -i ../procomplota.ts -an -codec:v libvpx -r 25 -s 640x360 -aspect 16:9 -pix_fmt yuv420p -vpre 360p -pass 1 -f null /dev/null 2>&1 && time ffmpeg -v warning -threads 4 -i ../procomplota.ts -an -codec:v libvpx -r 25 -s 640x360 -aspect 16:9 -pix_fmt yuv420p -vpre 360p -vf 'movie=../procomwater.png [watermark]; [in][watermark] overlay=24:608 [out]' -f webm -pass 2 procomplota-vidnur360p.webm && ffmpeg -v warning -loop 1 -i ../procomnach.png -c:v libvpx -t 15 -r 25 -s 640x360 -aspect 16:9 -pix_fmt yuv420p -vpre 360p -vf 'fade=t=in:st=0:d=1:alpha=0' -f webm procomnach-360p.webm && mkvmerge --title "Procom Quick Overview" --default-language en -w -o procomplota-vidcat360p.webm procomplota-vidnur360p.webm + procomnach-360p.webm && ffmpeg -v warning -i procomplota-vidcat360p.webm -i ../procomplota.wav -map 0 -map 1 -strict -2 -codec:a vorbis -aq 20 -ac 2 -codec:v copy -pix_fmt yuv420p -f webm output-360p.webm
   292 # 720p MPEG
   293 #$ time ffmpeg -v warning -threads 0 -i ../procomplota.ts -an -codec:v libx264 -b:v 2048k -r 25 -s 1280x720 -aspect 16:9 -pix_fmt yuv420p -vpre fastfirstpass -pass 1 -f null /dev/null 2>&1 && time ffmpeg -v warning -threads 0 -i ../procomplota.ts -an -codec:v libx264 -b:v 2048k -r 25 -s 1280x720 -aspect 16:9 -pix_fmt yuv420p -vpre hq -vf 'movie=../procomwater.png [watermark]; [in][watermark] overlay=24:608 [out]' -bsf:v h264_mp4toannexb -f mpegts -pass 2 procomplota.ts-vidnur720p.ts && ffmpeg -v warning -loop 1 -i ../procomnach.png -c:v libx264 -t 15 -b:v 2048k -r 25 -s 1280x720 -aspect 16:9 -pix_fmt yuv420p -vf 'fade=t=in:st=0:d=1:alpha=0' -f mpegts procomnach-720p.ts && ffmpeg -i "concat:procomplota.ts-vidnur720p.ts|procomnach-720p.ts" -c copy -bsf:a aac_adtstoasc -f mp4 procomplota.ts-vidcat720p.mp4 && ffmpeg -v warning -i procomplota.ts-vidcat720p.mp4 -i ../procomplota.wav -map 0 -map 1 -strict -2 -codec:a aac -b:a 128k -ac 2 -sample_fmt:1 fltp -codec:v copy -pix_fmt yuv420p -f mp4 output-720p.mp4
   295 # 360p MPEG
   296 #$ time ffmpeg -v warning -threads 0 -i ../procomplota.ts -an -codec:v libx264 -b:v 768k -r 25 -s 640x360 -aspect 16:9 -pix_fmt yuv420p -vpre fastfirstpass -pass 1 -f null /dev/null 2>&1 && time ffmpeg -v warning -threads 0 -i ../procomplota.ts -an -codec:v libx264 -b:v 768k -r 25 -s 640x360 -aspect 16:9 -pix_fmt yuv420p -vpre hq -vf 'movie=../procomwater.png [watermark]; [in][watermark] overlay=24:608 [out]' -bsf:v h264_mp4toannexb -f mpegts -pass 2 procomplota.ts-vidnur360p.ts && ffmpeg -v warning -loop 1 -i ../procomnach.png -c:v libx264 -t 15 -b:v 768k -r 25 -s 640x360 -aspect 16:9 -pix_fmt yuv420p -vf 'fade=t=in:st=0:d=1:alpha=0' -f mpegts procomnach-360p.ts && ffmpeg -i "concat:procomplota.ts-vidnur360p.ts|procomnach-360p.ts" -c copy -bsf:a aac_adtstoasc -f mp4 procomplota.ts-vidcat360p.mp4 && ffmpeg -v warning -i procomplota.ts-vidcat360p.mp4 -i ../procomplota.wav -map 0 -map 1 -strict -2 -codec:a aac -b:a 128k -ac 2 -sample_fmt:1 fltp -codec:v copy -pix_fmt yuv420p -f mp4 output-360p.mp4

mercurial