Sunday, May 17, 2020

FL Studio and FFmpeg Libraries

Did you know that under the hood, FL Studio uses FFmpeg for some of their operations? For example, the Fruity Video Player plugin uses FFmpeg to load wide array of video codecs. And ZGameEditor Visualizer export function uses FFmpeg libraries for its video encoding.

Is this good or bad? Both. It's good because FFmpeg is the mother of codecs and formats, so it can decode lots of audio and video formats. But it's bad because FL Studio's bundled FFmpeg libraries are LGPL which lack some video encoder like x264. This causes problem where ZGameEditor Visualizer plugin lossy encoding option exports to H263 when using .mkv.

Note: ZGameEditor Visualizer seems always export to PNG in MP4 if you choose MP4 regardless of the "Uncompressed video" option.

So is it possible to change the old H263 to H264? Yes. LGPL software must be dynamically linked so it's user-replaceable, and fortunate for us, FL Studio dynamically links to FFmpeg. So how to replace the libraries? Just follow the steps below. Note that I assume 64-bit version of Windows and you're using 64-bit version of FL Studio executable.
  1. Make sure FL Studio is not running.
  2. Download 64-bit Windows FFmpeg shared binaries (release essential or release full). If you already have it downloaded before, you can use that. Just make sure it's latest version.
  3. Navigate to "%ProgramFiles(x86)%\Image-Line\Shared\ffmpeg\x64" and replace all the DLLs (except ILVideo_x64.dll) with the DLLs from the downloaded zip. Just the DLLs, not the exes too. It's good idea to backup all the DLL files there, just in case.

UPDATE: If you come here before, you'll notice I changed the link. This is because Zeranoe no longer provides FFmpeg binaries.

 Now start the FL Studio again, export to .mkv and it will use H264 (x264).

So what about other video codecs? Unfortunately FL Studio specialize MP4 extension and forces PNG in MP4 when used. But from my experiment, here are list of possible extension to use and the resulting video codec:

  • .mkv - H264 video codec (high profile) and Vorbis audio codec
  • .webm - VP9 video codec and Opus audio codec
  • .ogv - Theora video codec and Vorbis audio codec
  • .nut - MPEG4 video codec and AAC audio codec
Any other benefits of replacing the DLLs? Not sure if this another feature is caused by replacing DLL, but you can basically load any audio as long as the extension is one of FL Studio can recognize. Sadly that means you have to change the extension to .wav, .flac, .wv, .ogg, or .mp3 first before loading it to FL Studio.

I just hope the ZGameEditor Visualizer export function has more option of controlling the video output when using custom presets. I'd love that.

9 comments:

  1. Are you still Active ?
    And are you from Indonesia ?

    ReplyDelete
    Replies
    1. Yes, I'm still active but I have nothing to posts atm.
      And yes I am.

      Delete
    2. Syukurlah... gini bang,saya nemu "HonokaMiku"-nya abang di github. Tapi saya gak tau yang begituan, cara gunainnya gimana sih bang ? Plis..

      Delete
    3. HonokaMiku sudah tidak dipake lagi dan tidak bakal diupdate karena banyak orang Indo bikin cheat pake itu.

      Delete
    4. Jadi gak bisa dipake lagi bang ?
      Cuman buat decrypt .ogg nya Nico bang, udah diekstrak dari AppAsset tapi gak bisa diputar. Ato tau gak caranya bisa mainin .ogg nya ?

      Delete
    5. Harusnya sudah tidak, karena versi enkripsinya tidak didukung sama HonokaMiku.

      Delete
  2. Just a quick heads up, unfortunately Zeranoe deleted all of their builds since September 18th, so this blog post may or may no longer be useful.

    ReplyDelete
    Replies
    1. Updated the download link to point to new FFmpeg Windows builds.

      Delete
  3. FL Studio Crack I really like your message because this message helps me a lot and gives me new knowledge.

    ReplyDelete