Convert Video from Different Formats

By Xah Lee. Date: . Last updated: .

Using OBS to Convert MKV to MP4

Install ffmpeg

You need to have ffmpeg installed.

download at

Convert video file using ffmpeg

mov to mp4

ffmpeg -i x.mov x.mp4

webm to MP4

ffmpeg -i x.webm x.mp4

Clip a Video

ffmpeg -ss 00:10:05 -i input.mp4 -to 00:13:50 -c copy output.mp4

-ss time_off
Set the start time offset
-to time_stop
Record or transcode stop time

Find Out What's Inside a Video Container

To find out what's inside, use ffprobe, e.g.

ffprobe file.mkv

Example output:

~/web/xahmusic_org/music/i $ ffprobe xx.mkv
ffprobe version 3.4 Copyright (c) 2007-2017 the FFmpeg developers
  built with Apple LLVM version 9.0.0 (clang-900.0.37)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/3.4 --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-gpl --enable-libmp3lame --enable-libx264 --enable-libxvid --enable-opencl --enable-videotoolbox --disable-lzma
  libavutil      55. 78.100 / 55. 78.100
  libavcodec     57.107.100 / 57.107.100
  libavformat    57. 83.100 / 57. 83.100
  libavdevice    57. 10.100 / 57. 10.100
  libavfilter     6.107.100 /  6.107.100
  libavresample   3.  7.  0 /  3.  7.  0
  libswscale      4.  8.100 /  4.  8.100
  libswresample   2.  9.100 /  2.  9.100
  libpostproc    54.  7.100 / 54.  7.100
Input #0, matroska,webm, from 'xx.mkv':
  Metadata:
    COMPATIBLE_BRANDS: iso6avc1mp41
    MAJOR_BRAND     : dash
    MINOR_VERSION   : 0
    ENCODER         : Lavf57.83.100
  Duration: 00:05:04.90, start: 0.000000, bitrate: 1329 kb/s
    Stream #0:0: Video: h264 (Main), yuv420p(tv, bt709, progressive), 1280x720 [SAR 1:1 DAR 16:9], 29.97 fps, 29.97 tbr, 1k tbn, 59.94 tbc (default)
    Metadata:
      HANDLER_NAME    : VideoHandler
      DURATION        : 00:05:04.871000000
    Stream #0:1(eng): Audio: vorbis, 44100 Hz, stereo, fltp (default)
    Metadata:
      DURATION        : 00:05:04.903000000
f140.m4a vs m4a diff 2020-01-03 78kkt
f140.m4a vs m4a diff 2020-01-03

Put a Opus Audio into a .Webm Container

ffmpeg -i x.opus -c:a copy x.webm

Add Opus Audio into Existing Webm

ffmpeg -i y.webm -i x.opus -c:v copy -c:a copy x.webm

Extract Audio from Video

extract audio file inside file x.mp4 and name it x.m4a

ffmpeg -i x.mp4 -vn -acodec copy x.m4a

ffmpeg -f mp4 -i x.mp4 -vn -c:a copy x.m4a

or

ffmpeg -f mp4 -i x.mp4 -map 0:1 -c:a copy x.m4a

2018-11-26 thanks to harvhat https://noagendasocial.com/@harvhat and matthew skala https://mstdn.io/web/accounts/18568

Syntax of ffmpeg

The general syntax of ffmpeg is:

ffmpeg options infile_options -i infileName outfile_options outfileName

-f fmt
force format fmt

Ffmpeg Manpage