Merge video + audio and convert to 8-bit H.264 with deinterlace

ffmpeg -i Svatba_Petr_1.m2v -i Svatba_Petr_1.wav -c:v libx264 -crf 18 -vf "bwdif,format=yuv420p" -c:a aac D:\output3.mp4
  • Adjust the -crf value to provide the desired level of quality. Add the -preset option if you want to adjust encoding speed. See FFmpeg Wiki: H.264 for more info on -crf and -preset.

  • Uses the format filter to choose the yuv420p pixel format to create 8-bit output.

  • bwdif - deinterlace.

10-bit/12-bit HEVC to 8-bit H.264

ffmpeg -i input -map 0 -c:v libx264 -crf 18 -vf format=yuv420p -c:a copy output.mkv
  • -map 0 will include all streams (default stream selection only selects 1 stream per type). See FFmpeg Wiki: Map.

  • Adjust the -crf value to provide the desired level of quality. Add the -preset option if you want to adjust encoding speed. See FFmpeg Wiki: H.264 for more info on -crf and -preset.

  • Uses the format filter to choose the yuv420p pixel format to create 8-bit output.

10-bit/12-bit HEVC to 10-bit H.264

ffmpeg -i input -map 0 -c:v libx264 -crf 18 -c:a copy output.mkv
  • -map 0 will include all streams (default stream selection only selects 1 stream per type). See FFmpeg Wiki: Map.

  • Adjust the -crf value to provide the desired level of quality. Add the -preset option if you want to adjust encoding speed. See FFmpeg Wiki: H.264 for more info on -crf and -preset.

  • No need for the format filter in this case.

10-bit/12-bit HEVC to 8-bit HEVC

ffmpeg -i input -map 0 -c:v libx265 -crf 20 -vf format=yuv420p -c:a copy output.mkv
  • -map 0 will include all streams (default stream selection only selects 1 stream per type). See FFmpeg Wiki: Map.

  • Adjust the -crf value to provide the desired level of quality. Add the -preset option if you want to adjust encoding speed. See FFmpeg Wiki: HEVC / H.265 for more info on -crf and -preset.

  • Uses the format filter to choose the yuv420p pixel format to create 8-bit output.

12-bit HEVC to 10-bit HEVC

ffmpeg -i input -map 0 -c:v libx265 -crf 20 -vf format=yuv420p10le -c:a copy output.mkv
  • -map 0 will include all streams (default stream selection only selects 1 stream per type). See FFmpeg Wiki: Map.

  • Adjust the -crf value to provide the desired level of quality. Add the -preset option if you want to adjust encoding speed. See FFmpeg Wiki: HEVC / H.265 for more info on -crf and -preset.

  • Uses the format filter to choose the yuv420p10le pixel format to create 10-bit output. Other 10-bit pixel formats supported by libx265 are yuv422p10le & yuv444p10le, but your player may not like these. See ffmpeg -h encoder=libx265 for additional supported pixel formats.

GoPro 4K MPEG4 to FullHD 50p MPEG4 cca 1600-2000 kbps

ffmpeg -i GX010183.MP4 -vf scale=1920:1080 -crf 35 -c:a copy GX010183_fullHD.MP4