Streaming
General
You can limit the maximum bandwidth. With default settings MyTunesRSS does not limit the bandwidth, so it depends on the client if the files are transferred at once or only as much as the client needs. If you limit the bandwidth to 1.2 times the bitrate for example, MyTunesRSS will always stream enough data for gapless playback but not as much as possible at once. So even if the client does not limit the bandwidth but tries to get the complete file at once, MyTunesRSS would limit the bandwidth.
Transcoders
Transcoding lets you convert any audio or video files from one format to another on-the-fly. MyTunesRSS supports external tools for this purpose. You have to download them yourself and configure the binary locations and options here.
A transcoder has a name which you can find in the user configuration for forced transcoders or the web interface settings for enabling and disabling certain transcoders. The pattern defines for what files the transcoder will be used if activated. The pattern is a regular expression which is matched against the complete file path. If you don't know how regular expressions work, you can find some examples for a few simple cases at the end of this page. The matching is case-insensitive. If you have a pattern which matches MP4 files you can also specify any number of codecs for which the transcoder is used. This is important since MP4 is only a container for specific codecs. The target suffix is the one the browser sees for transcoded files. If you have a transcoder for converting m4a files to mp3, your target suffix mp3 will be used for any download link of m4a files. The binary is the path to the program which does the actual conversion. The content type is also used for generating the correct response. A nice command line tool for a number of conversions is ffmpeg. The binary configured here must be able to read from a file and write the transcoding result to standard out. In the options you specify the command line options for the binary and you can use a placeholder {infile} for the original file name.
Here is an example to transcode any m4a, mp4 (alac and mp4a codecs), mp3, flac or ogg file into an mp3 with 44.1 kHz and 128 bit/s using ffmpeg.
Name: MP3 Audio
Pattern: ^.+\.(m4a|mp4|mp3|flac|ogg)$
MP4 Codecs: alac,mp4a
Target suffix: mp3
Target Content-Type: audio/mp3
Binary: {path to your ffmpeg executable}
Options: -i {infile} -f mp3 -ar 44100 -ab 128 -acodec mp3 -
File cache
Converted or downsampled files are cached for later use. You can tell MyTunesRSS for how long it should cache each file and what maximum number of files to cache. Depending on your disk size you can set these options as necessary. The cache is used only if files are not converted on-the-fly but are converted first and then streamed after conversion. This might be necessary depending on the client request. So if the client requests only a part of the file, e.g. the last N bytes (which is the case on the Playstation Portable for example) the file will be converted first and then streamed. This means that there is a noticeable lag of several seconds when a file is requested because it has to be converted first. The time the conversion takes depends on your computer of course. In this case the cache will remove this lag if the file has already been converted.
Regular expression samples
Here are some examples of a few standard cases for matching files in transcoders. Please note that you have to escape characters with special regular expression pattern meaning (e.g. the dot or the backslash) with the backslash. If you need assistance please mail support@codewave.de or even better post your questions at http://board.codewave.de.
File suffixes ("aaa", "bbb", "ccc"): ^.+\.(aaa|bbb|ccc)$
Starts with ("/path/prefix/..."): ^/path/prefix/.+$
Ends with (".../ends/with"): "^.+/ends/with$