Skip to content
Andrew Brampton edited this page Nov 11, 2016 · 22 revisions

I occasionally get asked how to convert a normal FFmpeg command line, into an equivalent FFmpegBuilder. This page maintain a list of examples.

Feel free to add your own examples, or reach out to me.

Example 1: Recording from local webcam, and send to youtube

ffmpeg\win64\bin\ffmpeg \
  -rtbufsize 1500M -re -f dshow \
  -i video=\"Microsoft Camera Rear\":audio=\"Microphone Array (Realtek High Definition Audio(SST))\"  \
  -acodec libmp3lame  -ar 44100 -b:a 1000k \
  -pix_fmt yuv420p -profile:v baseline -s 426x240 \
  -bufsize 4000k -vb 2000k -maxrate 1000k -deinterlace \
  -vcodec libx264 -preset medium -g 30 -r 30 -f flv \
  "rtmp://a.rtmp.youtube.com/live2/1234-5678"
FFmpeg ffmpeg = new FFmpeg("ffmpeg\\win64\\bin\\ffmpeg.exe");

FFmpegBuilder builder =  new FFmpegBuilder()
    .addExtraArgs("-rtbufsize", "1500M")
    .addExtraArgs("-re")
    .setFormat("dshow")
    .setInput("video=\"Microsoft Camera Rear\":audio=\"Microphone Array (Realtek High Definition Audio(SST))\"")
    .addOutput("rtmp://a.rtmp.youtube.com/live2/1234-5678")
      .setFormat("flv")
      .addExtraArgs("-bufsize", "4000k")
      .addExtraArgs("-maxrate", "1000k")

      .setAudioCodec("libmp3lame")
      .setAudioSampleRate(441000)
      .setAudioBitRate(1_000_000)

      .addExtraArgs("-profile:v", "baseline")
      .setVideoCodec("libx264")
      .setPixelFormat("yuv420p")
      .setVideoResolution(426, 240)
      .setVideoBitRate(2_000_000)
      .setVideoFrameRate(30)
      .addExtraArgs("-deinterlace")
      .addExtraArgs("-preset", "medium")
      .addExtraArgs("-g", "30")
      .done();

FFmpegExecutor executor = new FFmpegExecutor(ffmpeg);
executor.createJob(builder).run();

Example 2: Setting ogv quality

FFmpegBuilder builder = new FFmpegBuilder()
    .setInput("input.mkv")
    .addOutput("output.ogv")
      .setVideoCodec("libtheora")
      .addExtraArgs("-qscale:v", "7")
      .setVideoCodec("libvorbis")
      .addExtraArgs("-qscale:v", "5")
    .done();
Clone this wiki locally