cut
# from/to timestamp in format `hh:mm:ss.x`
ffmpeg -ss <from> -to <to> -i infile -acodec copy -vcodec copy outfile
height not divisible by 2
-vf "pad=ceil(iw/2)*2:ceil(ih/2)*2"
swap and rename streams
ffmpeg -i input.m4v \
-map 0:v:0 \ # take first video stream
-map 0:a:1 \ # take second audio stream (*)
-map 0:a:0 \ # take first audio stream (#)
-map 0:s:0 \ # take first subtitle stream
-metadata:s:1 language=eng \ # set second stream (*) to `eng`
-metadata:s:2 language=deu \ # set third stream (#) to `deu`
-disposition:a:0 default \ # set default tag in first audio stream
-disposition:a:1 0 \ # set default tag in second audio stream
-c copy \ # don't reencode anything
output.m4v
shift subtitle
ffmpeg -itsoffset 3 -i input.srt output.srt