fluent-ffmpeg/node-fluent-ffmpeg — pull request #276 by thanpolas (2014-06-28 08:40:36+00:00)
Title: Expose ffmpeg and ffprobe path set functions

The paths for `ffmpeg` and `ffprobe` binaries are constants and shouldn't be in the `FfmpegCommand` prototype to be set / changed on a per instance basis.

Thus the two string properties `ffmpegPath` and `ffprobePath` are now static. Likely i have properly exposed the `setFfmpegPath()` and `setFfprobePath()` methods as static so they can be utilized on a system-wide approach vs per-instance, which for the case of ffprobe it was just impossible to use the `setFfprobePath()` method as the ffprobe module reached for the `FfmpegCommand.prototype.ffprobePath` to get the path value.

This now enables to set the path programmatically by:

```js
var Ffmpeg = require('fluent-ffmpeg');

Ffmpeg.setFfmpegPath('/whatever/ffmpeg');
Ffmpeg.setFfprobePath('/whatever/ffrobe');
```

Which in combination with the [ffmpeg-binary-linux-64bit](https://github.com/thanpolas/ffmpeg-binary-linux-64bit) package that contains static linux binaries will solve the issue of pushing codebases to PaaS or environments that we cannot control system-wide library installs:

```js
var Ffmpeg = require('fluent-ffmpeg');
var ffmpegBin = require('ffmpeg-binary-linux-64bit');

Ffmpeg.setFfmpegPath(ffmpegBin());
Ffmpeg.setFfprobePath(ffmpegBin.ffprobe());
```