Con el siguiente comando será posible comprimir o transcodificar video y audio para lograr un resultado decente con un nivel de compresión brillante, como teléfono de carnicería. Tomado de esta página de github donde el se habla de calidad YTS. Solo que en vez del comando para HandbrakeCLI a mi me interesa el que es para ffmpeg.
ffmpeg -i "Nombre-Serie - S01E01 - Titulo.mkv" -map 0:0 -map 0:a -map 0:s -c:v libx264 -crf 27 -x264-params cabac=1:ref=5:analyse=0x133:me=umh:subme=9:chroma-me=1:deadzone-inter=21:deadzone-intra=11:b-adapt=2:rc-lookahead=60:vbv-maxrate=10000:vbv-bufsize=10000:qpmax=69:bframes=5:b-adapt=2:direct=auto:crf-max=51:weightp=2:merange=24:chroma-qp-offset=-1:sync-lookahead=2:psy-rd=1.00,0.15:trellis=2:min-keyint=23:partitions=all -c:a aac -c:s mov_text "optimizado/Nombre-Serie - S01E01 - Titulo.mp4"
En el ejemplo se toma el primer stream (que para el archivo que trabajo es el video) con -map 0:0. Luego los streams de audio con -map 0:a. Y por último los de subtítulo con -map 0:s. En la última parte del comando podremos cambiar el orden y el modo de convertir los audios. Muy útil en el caso que tengamos por ejemplo multiples pistas de audio y que se quiera convertir las que estén en 5.1 en stereo. Algunos ejemplos:
Al final podríamos también agregar -map_metadata 0 -movflags use_metadata_tags para conservar todos los metadatos
Para terminar, vamos a suponer que tenemos no uno si no una serie de archivos en el mismo directorio. Entonces no vendría nada mal un simple loop ya que esta tarea llevará unas cuantas horas.
for %a in ("*.mkv") do ffmpeg -i "%a" -map 0:v:0 -map 0:a -map -0:s -c:v libx264 -crf 27 -x264-params cabac=1:ref=5:analyse=0x133:me=umh:subme=9:chroma-me=1:deadzone-inter=21:deadzone-intra=11:b-adapt=2:rc-lookahead=60:vbv-maxrate=10000:vbv-bufsize=10000:qpmax=69:bframes=5:b-adapt=2:direct=auto:crf-max=51:weightp=2:merange=24:chroma-qp-offset=-1:sync-lookahead=2:psy-rd=1.00,0.15:trellis=2:min-keyint=23:partitions=all -c:a:0 aac -ac:a:0 2 -c:a:1 aac -ac:a:1 2 -c:a:2 aac -ac:a:2 6 -map_metadata 0 -movflags use_metadata_tags "opt/%~na.mp4"
pause