With IceLink, you have total control over what you want to send to the media server (or to your peers). A common request is to send audio and video from a pre-recorded file instead of from the camera/microphone of a device. To do this, modify your
LocalMedia class to use a
MatroskaVideoSource by updating the
CreateVideoSource functions. As the class names imply, your files must use the Matroska container format. The files must also be readable using a known codec. Out-of-the-box support is provided for PCMU, PCMA, and Opus for audio and VP8, H.264, and VP9 for video. If your files are in a different container format or use a different code, they must first be transcoded (e.g. using ffmpeg).
Here is a sample local media class for .NET that uses Matroska files as the audio and video sources (download big-buck-bunny.mkv):
Note that the Matroska audio source and video source must be supplied with references to the Opus decoder, VP8 decoder, and H.264 decoder in case the remote receivers don't support the codec used in the recording. As needed, the media will be transcoded for remote playback and to support handling of packet loss and keyframe requests.