FFMPEG-PROTOCOLS(1) FFMPEG-PROTOCOLS(1) (NAME) ffmpeg-protocols - FFmpeg (DESCRIPTION) libavformat . (PROTOCOL OPTIONS) libavformat . (private options) . -option value FFmpeg "AVFormatContext" libavutil/opt.h . : protocol_whitelist list (input) (",") . "ALL" . "-" . ( ) . (PROTOCOLS) FFmpeg . FFmpeg . "--list-protocols" . "--disable-protocols" "--enable-protocol=PROTOCOL" "--disable-protocol=PROTOCOL" . -protocols *ff . : rw_timeout / () . . amqp Advanced Message Queueing Protocol (AMQP) 0-9-1 - (publish-subscribe) (broker) . AMQP FFmpeg --enable-librabbitmq . AMQP . AMQP RabbitMQ . FFmpeg : ffmpeg -re -i input -f mpegts amqp://[[user]:[password]@]hostname[:port][/vhost] hostname port ( 5672 ) . / (user/password) . "guest" . vhost . "/" . : ffplay amqp://[[user]:[password]@]hostname[:port][/vhost] RabbitMQ (exchange) / . exchange exchange routing_key . : exchange (exchange) . RabbitMQ : "amq.direct" routing_key "amq.fanout" (broadcast) ( routing_key fanout ) "amq.topic" "amq.direct" ( RabbitMQ ). routing_key . "amqp" . "amq.direct" "amq.topic" . pkt_size / . 131072 . 4096 ( int ). FFmpeg . . connection_timeout . rw_timeout rw_timeout . delivery_mode mode . : persistent "persistent" (2) . . . non-persistent "non-persistent" (1) . . async (asynchronous) . (thread) I/O demux . async: async:http://host/resource async:cache:http://host/resource bluray (playlist) BluRay. : angle (angle) BluRay chapter (1...N) playlist (BDMV/PLAYLIST/?????.mpls) : BluRay (mounted) /mnt/bluray: bluray:/mnt/bluray BluRay /mnt/bluray : -playlist 4 -angle 2 -chapter 2 bluray:/mnt/bluray cache . . / (seeking) . : read_ahead_limit / . -1 INT_MAX . -1 . 65536 . URL : cache: concat (concatenation). / . (URL) : concat:||...| URL1 URL2 ... URLN . split1.mpeg split2.mpeg split3.mpeg ffplay : ffplay concat:split1.mpeg\|split2.mpeg\|split3.mpeg "|" (shells) (backslash) . concatf (line break) . / . (URL) : concatf: URL . (single quotes) . "Quoting and escaping" ffmpeg-utils(1) . split1.mpeg split2.mpeg split3.mpeg split.txt ffplay : ffplay concatf:split.txt split.txt : split1.mpeg split2.mpeg split3.mpeg crypto AES. : key AES . iv (IV) AES . URL : crypto: crypto+ data URI. . GIF ffmpeg: ffmpeg -i "data:image/gif;base64,R0lGODdhCAAIAMIEAAAAAAAA//8AAP//AP///////////////ywAAAAACAAIAAADF0gEDLojDgdGiJdJqUX02iB4E8Q9jUMkADs=" smiley.png fd (file descriptor). : fd: -fd fd stdout stdin . pipe fd / (seek) . fd URL . : blocksize I/O . "INT_MAX" . . fd . file . . URL : file: filename . (URL) URL . (build) URL URL ( ). input.mpeg ffmpeg : ffmpeg -i file:input.mpeg output.mpeg : truncate 1 (truncate) . 0 . 1 . blocksize I/O . "INT_MAX" . . follow 1 . rw_timeout (interrupt callback API) . . seekable / (seekability) . 0 -1 ( ). ( ) . pkt_size I/O . . (throughput) . (32 ) . . 256 32 . ftp FTP (File Transfer Protocol). FTP. : ftp://[user[:password]@]server[:port]/path/to/remote/resource.mpeg : timeout I/O . -1 . ftp-user FTP . URL FTP . ftp-password FTP . URL FTP ftp-anonymous-password . ftp-anonymous-password (anonymous). . ftp-write-seekable / . 1 0 . 0 . : ( ). FTP . *ff . gopher Gopher. gophers Gophers. Gopher TLS. http HTTP (Hyper Text Transfer Protocol). : seekable (seekability) . 1 0 -1 . -1 . chunked_post 1 Transfer-Encoding (chunked) POST 1 . http_proxy HTTP http://example.com:1234 headers HTTP . . content_type (content type) POST (listen) . user_agent User-Agent . libavformat ("Lavf/"). referer Referer . 'Referer: URL' HTTP . multiple_requests 1 (persistent connections) 0 . request_size . (range requests) (throttle) . ( 0 ). multiple_requests short_seek_size . FFmpeg HTTP . initial_request_size . "request_size" . MXF MOV . ( ) . ( 0 ). multiple_requests short_seek_size . post_data HTTP POST . mime_type MIME . http_version HTTP . "1.0" "1.1". cookies . HTTP Set-Cookie . . icy 1 ICY (SHOUTcast) . icy_metadata_headers icy_metadata_packet . 1 . icy_metadata_headers ICY HTTP ICY . icy_metadata_packet ICY icy 1 . (poll) . metadata Icecast . API C . auth_type HTTP . (Digest) (nonce) Basic . none HTTP . . basic (basic) HTTP . Base64 . Base64 (clear text) (Base64 ). . HTTPS/TLS . . send_expect_100 Expect: 100-continue POST . 1 0 -1 . -1 . location . API C . offset . end_offset . method HTTP . HTTP () . HTTP Bad Request . HTTP . . reconnect EOF . reconnect_at_eof eof / . reconnect_on_network_error TCP/TLS . reconnect_on_http_error HTTP . ( '503') '4xx' / '5xx' . reconnect_streamed / . reconnect_delay_max . reconnect_max_retries . . reconnect_delay_total_max . respect_retry_after Retry-After . 429 503 . . listen 1 HTTP . HTTP POST . 2 HTTP . ffmpeg.c . # Server side (sending): ffmpeg -i somefile.ogg -c copy -listen 1 -f ogg http://: # Client side (receiving): ffmpeg -i http://: -c copy somefile.ogg # Client can also be done with wget: wget http://: -O somefile.ogg # Server side (receiving): ffmpeg -listen 1 -i http://: -c copy somefile.ogg # Client side (sending): ffmpeg -i somefile.ogg -chunked_post 0 -c copy -f ogg http://: # Client can also be done with wget: wget --post-file=somefile.ogg http://: resource HTTP . reply_code HTTP HTTP . short_seek_size (readahead) (seek) HTTP . . HTTP HTTP . cookies . . HTTP HTTP Cookie . . : ffplay -cookies "nlqptid=nltid=tsn; path=/; domain=somedomain.com;" http://somedomain.com/somestream.m3u8 Icecast Icecast ( Icecast) : ice_genre . ice_name . ice_description . ice_url . ice_public . 0 (). user_agent User-Agent . "Lavf/" . password (mountpoint) Icecast . content_type . audio/mpeg . legacy_icecast Icecast 2.4.0 HTTP PUT SOURCE . tls TLS (HTTPS) Icecast . icecast://[[:]@]:/ ipfs IPFS (InterPlanetary File System). (gateway) IPFS . http(s) . IPFS ( ipfs:// ipns://) . ( ) IPFS . : gateway . $IPFS_GATEWAY $IPFS_PATH "$HOME/.ipfs/" . . IPFS: ffplay ipfs:// IPNS ( IPFS ): ffplay ipns:// mmst MMS (Microsoft Media Server) TCP. mmsh MMS (Microsoft Media Server) HTTP. : mmsh://[:][/][/] md5 MD5. MD5 (stdout) . . . # Write the MD5 hash of the encoded AVI file to the file output.avi.md5. ffmpeg -i input.flv -f avi -y md5:output.avi.md5 # Write the MD5 hash of the encoded AVI file to stdout. ffmpeg -i input.flv -f avi -y md5: ( MOV) (seekable) MD5 . pipe (pipe) . . : pipe:[] fd number (file descriptor) ( 0 stdin 1 stdout 2 stderr). number stdout stdin . stdin ffmpeg: cat test.wav | ffmpeg -i pipe:0 # ...this is the same as... cat test.wav | ffmpeg -i pipe: stdout ffmpeg: ffmpeg -i test.wav -f avi pipe:1 | cat > test.avi # ...this is the same as... ffmpeg -i test.wav -f avi pipe: | cat > test.avi : blocksize / (I/O) . "INT_MAX" . . fd . ( MOV) (seekable) . prompeg FEC Pro-MPEG Code of Practice #3 Release 2. Pro-MPEG CoP#3 FEC (forward error correction) (2D parity-check) MPEG-2 (Transport Streams) RTP . "rtp_mpegts" "rtp" . : -f rtp_mpegts -fec prompeg=