Times have certainly changed and now an up to date FFmpeg, including the version packaged with Xenial Xerus LTS, will now easily encode ProRes files. The following will work well:
ffmpeg -i input.mp4 \
-c:v prores -profile:v 3 \
-c:a pcm_s16le \
output.mov
The available -profile
settings are as follows:
-profile 0 = Apple ProRes Proxy
-profile 1 = Apple ProRes LT
-profile 2 = Apple ProRes 422 for SD (lower bitrate)
-profile 3 = Apple ProRes HQ for HD (higher bitrate)
You can test your own copy of FFmpeg for ProRes capability as follows:
andrew@ilium~$ ffmpeg -encoders -hide_banner | grep -i prores
VF.... prores Apple ProRes
VF.... prores_aw Apple ProRes (codec prores)
VFS... prores_ks Apple ProRes (iCodec Pro) (codec prores)
andrew@ilium~$
(Note that as my colleague @llogan has mentioned there are actually only two ProRes encoders available: prores_aw (the default aliased to prores) and prores_ks.)
The leading letters indicate:
Encoders:
V..... = Video
.F.... = Frame-level multithreading
..S... = Slice-level multithreading
For playback you should find that most of the major media players, examples being MPlayer, SMPlayer and VLC, will happily play these files...
References: