Protocols are the ways in which ffmpeg can read and/or write data. Some common used are file, http and pipe.
| protocol | in | out | description |
|---|---|---|---|
| async | I | asynchronous data filling wrapper for input stream | |
| bluray | I | read BluRay playlist | |
| cache | I | caching wrapper for input stream | |
| concat | I | physical concatenation protocol | |
| crypto | I | O | AES-encrypted stream reading protocol |
| data | I | data in-line in the URI (typically base64 encoded) | |
| file | I | O | read from or write to a file |
| ftp | I | O | read from or write to remote resources using FTP protocol |
| gopher | I | O | gopher protocol |
| hls | I | read Apple HTTP Live Streaming compliant segmented stream as a uniform one (discouraged) | |
| http | I | O | read/write over HTTP (Hyper Text Transfer Protocol) |
| httpproxy | I | O | HTTP over a proxy server |
| https | I | O | read/write over HTTPS (secure HTTP) |
| icecast | O | stream to Icecast servers | |
| mmst | I | MMS (Microsoft Media Server) protocol over TCP | |
| mmsh | I | MMS (Microsoft Media Server) protocol over HTTP | |
| md5 | O | MD5 output protocol (used to test muxers without writing an actual file) | |
| pipe | I | O | read and write from UNIX pipes |
| rtp | I | O | Real-time Transport Protocol |
| rtsp | I | O | Real-Time Streaming Protocol |
| srtp | I | O | Secure Real-time Transport Protocol |
| subfile | I | extract a segment of a file or another stream | |
