Ito ang command na ffmpeg-protocols na maaaring patakbuhin sa OnWorks na libreng hosting provider gamit ang isa sa aming maramihang libreng online na workstation gaya ng Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator
PROGRAMA:
NAME
ffmpeg-protocols - FFmpeg protocols
DESCRIPTION
Inilalarawan ng dokumentong ito ang mga protocol ng input at output na ibinigay ng libavformat
library.
PROTOCOLS
Ang mga protocol ay mga naka-configure na elemento sa FFmpeg na nagbibigay-daan sa pag-access sa mga mapagkukunang nangangailangan
mga tiyak na protocol.
Kapag na-configure mo ang iyong FFmpeg build, lahat ng sinusuportahang protocol ay pinagana bilang default.
Maaari mong ilista ang lahat ng magagamit gamit ang opsyon sa pag-configure na "--list-protocols".
Maaari mong huwag paganahin ang lahat ng mga protocol gamit ang opsyon sa pag-configure na "--disable-protocols", at
piling paganahin ang isang protocol gamit ang opsyong "--enable-protocol=PROTOKOL", o kaya mo
huwag paganahin ang isang partikular na protocol gamit ang opsyon na "--disable-protocol=PROTOKOL".
Ang opsyon na "-protocols" ng ff* tool ay magpapakita ng listahan ng mga sinusuportahang protocol.
Ang isang paglalarawan ng kasalukuyang magagamit na mga protocol ay sumusunod.
async
Asynchronous na data filling wrapper para sa input stream.
Punan ang data sa isang background na thread, upang i-decouple ang operasyon ng I/O mula sa demux thread.
async:
async:http://host/resource
async:cache:http://host/resource
bluray
Basahin ang BluRay playlist.
Ang mga tinatanggap na opsyon ay:
anggulo
BluRay anggulo
kabanata
Simulang kabanata (1...N)
playlist
Playlist na babasahin (BDMV/PLAYLIST/?????.mpls)
Halimbawa:
Basahin ang pinakamahabang playlist mula sa BluRay na naka-mount sa /mnt/bluray:
bluray:/mnt/bluray
Basahin ang anggulo 2 ng playlist 4 mula sa BluRay na naka-mount sa /mnt/bluray, simula sa kabanata 2:
-playlist 4 -anggulo 2 -chapter 2 bluray:/mnt/bluray
cache
Caching wrapper para sa input stream.
I-cache ang input stream sa pansamantalang file. Nagdadala ito ng kakayahang maghanap ng mga live stream.
cache:
concat
Pisikal na concatenation protocol.
Magbasa at maghanap mula sa maraming mapagkukunan sa pagkakasunud-sunod na para bang sila ay isang natatanging mapagkukunan.
Ang isang URL na tinatanggap ng protocol na ito ay may syntax:
concat: | |...|
saan URL1, URL2, ..., URLN ay ang mga url ng mapagkukunan na pagsasama-samahin, bawat isa
posibleng tumutukoy ng isang natatanging protocol.
Halimbawa upang basahin ang isang pagkakasunud-sunod ng mga file split1.mpeg, split2.mpeg, split3.mpeg sa ffplay
gamitin ang utos:
ffplay concat:split1.mpeg\|split2.mpeg\|split3.mpeg
Tandaan na maaaring kailanganin mong takasan ang karakter na "|" na espesyal para sa maraming shell.
crypto
Protocol sa pagbabasa ng stream na naka-encrypt ng AES.
Ang mga tinatanggap na opsyon ay:
susi Itakda ang AES decryption key binary block mula sa ibinigay na hexadecimal na representasyon.
iv Itakda ang AES decryption initialization vector binary block mula sa ibinigay na hexadecimal
representasyon.
Mga tinatanggap na format ng URL:
crypto:
crypto+
data
Data in-line sa URI. Tingnan mohttp://en.wikipedia.org/wiki/Data_URI_scheme>.
Halimbawa, upang i-convert ang isang GIF file na ibinigay inline sa ffmpeg:
ffmpeg -i "data:image/gif;base64,R0lGODdhCAAIAMIEAAAAAAAA//8AAP//AP///////////////ywAAAAACAAIAAADF0gEDLojDgdGiJdJqUX02iB4E8Q9jUMkADs=" smiley.png
file
Protocol sa pag-access ng file.
Magbasa mula o sumulat sa isang file.
Ang isang URL ng file ay maaaring magkaroon ng form:
file:
saan filename ay ang landas ng file upang basahin.
Ang isang URL na walang protocol prefix ay ipapalagay na isang file URL. Depende sa
ang build, isang URL na mukhang isang Windows path na may drive letter sa simula
ay ipapalagay din na isang file URL (karaniwan ay hindi ang kaso sa mga build para sa unix-like
mga system).
Halimbawa upang magbasa mula sa isang file input.mpeg sa ffmpeg gamitin ang utos:
ffmpeg -i file:input.mpeg output.mpeg
Tinatanggap ng protocol na ito ang mga sumusunod na opsyon:
putulin
Putulin ang mga umiiral nang file sa pagsulat, kung nakatakda sa 1. Pinipigilan ng value na 0 ang pagputol.
Ang default na halaga ay 1.
hinaharangan
Itakda ang I/O operation maximum block size, sa bytes. Ang default na halaga ay "INT_MAX", na
nagreresulta sa hindi paglilimita sa hiniling na laki ng bloke. Ang pagtatakda ng halagang ito ay makatwirang mababa
pinapabuti ang oras ng reaksyon ng kahilingan sa pagwawakas ng user, na mahalaga para sa mga file sa mabagal
daluyan.
ftp
FTP (File Transfer Protocol).
Magbasa mula o sumulat sa malalayong mapagkukunan gamit ang FTP protocol.
Kinakailangan ang pagsunod sa syntax.
ftp://[user[:password]@]server[:port]/path/to/remote/resource.mpeg
Tinatanggap ng protocol na ito ang mga sumusunod na opsyon.
oras
Itakda ang timeout sa microseconds ng mga pagpapatakbo ng socket I/O na ginagamit ng pinagbabatayan na mababang antas
operasyon. Bilang default, ito ay nakatakda sa -1, na nangangahulugan na ang timeout ay hindi tinukoy.
ftp-anonymous-password
Ginagamit ang password kapag nag-log in bilang hindi kilalang user. Karaniwan ang isang e-mail address ay dapat na
ginagamit.
ftp-write-seekable
Kontrolin ang paghahanap ng koneksyon sa panahon ng pag-encode. Kung nakatakda sa 1 ang mapagkukunan ay
dapat na hinahanap, kung itatakda sa 0 ito ay ipinapalagay na hindi mahahanap. Default na halaga
ay 0.
TANDAAN: Maaaring gamitin ang Protocol bilang output, ngunit inirerekomenda na huwag gawin ito, maliban kung espesyal
ginagawa ang pangangalaga (mga pagsubok, naka-customize na configuration ng server atbp.). Iba't ibang FTP server ang kumikilos
sa iba't ibang paraan habang naghahanap ng operasyon. Ang mga tool ng ff* ay maaaring makagawa ng hindi kumpletong nilalaman dahil sa
mga limitasyon ng server.
gopher
Protocol ng Gopher.
hls
Basahin ang Apple HTTP Live Streaming na sumusunod sa naka-segment na stream bilang isang pare-parehong stream. Ang M3U8
ang mga playlist na naglalarawan sa mga segment ay maaaring malayuang mapagkukunan ng HTTP o mga lokal na file, na na-access
gamit ang karaniwang file protocol. Ang nested protocol ay idineklara sa pamamagitan ng pagtukoy ng "+mga proto"
pagkatapos ng hls URI scheme name, kung saan mga proto ay alinman sa "file" o "http".
hls+http://host/path/to/remote/resource.m3u8
hls+file://path/to/local/resource.m3u8
Ang paggamit ng protocol na ito ay hindi hinihikayat - ang hls demuxer ay dapat gumana nang maayos (kung hindi,
mangyaring iulat ang mga isyu) at ito ay mas kumpleto. Upang gamitin ang hls demuxer sa halip, simple
gamitin ang mga direktang URL sa m3u8 file.
http
HTTP (Hyper Text Transfer Protocol).
Tinatanggap ng protocol na ito ang mga sumusunod na opsyon:
mahahanap
Kontrolin ang paghahanap ng koneksyon. Kung nakatakda sa 1 ang mapagkukunan ay dapat na
mahahanap, kung nakatakda sa 0 ito ay ipinapalagay na hindi mahahanap, kung nakatakda sa -1 susubukan nitong
autodetect kung ito ay hinahanap. Ang default na halaga ay -1.
chunked_post
Kung nakatakda sa 1, gumamit ng chunked Transfer-Encoding para sa mga post, ang default ay 1.
uri_ng nilalaman
Magtakda ng partikular na uri ng nilalaman para sa mga POST na mensahe.
header
Itakda ang mga custom na HTTP header, maaaring i-override ang mga built in na default na header. Ang halaga ay dapat na a
pag-encode ng string sa mga header.
maramihang_kahilingan
Gumamit ng mga paulit-ulit na koneksyon kung nakatakda sa 1, ang default ay 0.
post_data
Itakda ang custom na HTTP post data.
user-agent
user_agent
I-override ang header ng User-Agent. Kung hindi tinukoy ang protocol ay gagamit ng isang string
naglalarawan sa libavformat build. ("Lavf/ ")
oras
Itakda ang timeout sa microseconds ng mga pagpapatakbo ng socket I/O na ginagamit ng pinagbabatayan na mababang antas
operasyon. Bilang default, ito ay nakatakda sa -1, na nangangahulugan na ang timeout ay hindi tinukoy.
mime_type
I-export ang uri ng MIME.
nagyeyelo Kung nakatakda sa 1 kahilingan ICY (SHOUTcast) metadata mula sa server. Kung sinusuportahan ng server
ito, ang metadata ay kailangang makuha ng application sa pamamagitan ng pagbabasa ng
icy_metadata_headers at icy_metadata_packet mga pagpipilian. Ang default ay 1.
icy_metadata_headers
Kung sinusuportahan ng server ang metadata ng ICY, naglalaman ito ng tugon na HTTP na partikular sa ICY
mga header, na pinaghihiwalay ng mga newline na character.
icy_metadata_packet
Kung sinusuportahan ng server ang metadata ng ICY, at nagyeyelo ay itinakda sa 1, naglalaman ito ng huling hindi-
walang laman na metadata packet na ipinadala ng server. Dapat itong suriin sa mga regular na pagitan ng
mga application na interesado sa mid-stream na mga update sa metadata.
cookies
Itakda ang cookies na ipapadala sa mga kahilingan sa hinaharap. Ang format ng bawat cookie ay pareho
bilang ang halaga ng isang Set-Cookie HTTP response field. Maramihang cookies ay maaaring delimited sa pamamagitan ng
isang bagong linyang karakter.
ginalaw
Itakda ang paunang byte offset.
end_offset
Subukang limitahan ang kahilingan sa mga byte bago ang offset na ito.
paraan
Kapag ginamit bilang opsyon ng kliyente, itinatakda nito ang pamamaraang HTTP para sa kahilingan.
Kapag ginamit bilang opsyon sa server, itinatakda nito ang paraan ng HTTP na aasahan
ang (mga) kliyente. Kung ang inaasahan at ang natanggap na pamamaraan ng HTTP ay hindi tumutugma sa kliyente
ay bibigyan ng tugon ng Bad Request. Kapag na-unset ang pamamaraan ng HTTP ay hindi nasuri
ngayon. Ito ay papalitan ng autodetection sa hinaharap.
makinig
Kung nakatakda sa 1, pinapagana ang pang-eksperimentong HTTP server. Magagamit ito upang magpadala ng data kapag ginamit
bilang isang opsyon sa output, o basahin ang data mula sa isang kliyente na may HTTP POST kapag ginamit bilang isang input
opsyon. Kung nakatakda sa 2, pinapagana ang eksperimental na mutli-client na HTTP server. Ito ay hindi pa
ipinatupad sa ffmpeg.c o ffserver.c at sa gayon ay hindi dapat gamitin bilang command line
pagpipilian.
# Gilid ng server (nagpapadala):
ffmpeg -i somefile.ogg -c copy -listen 1 -f ogg http:// :
# Panig ng kliyente (natatanggap):
ffmpeg -i http:// : -c copy somefile.ogg
# Ang kliyente ay maaari ding gawin sa wget:
wget http:// : -O somefile.ogg
# Server side (natatanggap):
ffmpeg -makinig 1 -i http:// : -c copy somefile.ogg
# Panig ng kliyente (nagpapadala):
ffmpeg -i somefile.ogg -chunked_post 0 -c copy -f ogg http:// :
# Ang kliyente ay maaari ding gawin sa wget:
wget --post-file=somefile.ogg http:// :
HTTP Cookies
Ang ilang mga kahilingan sa HTTP ay tatanggihan maliban kung ang mga halaga ng cookie ay ipinasa kasama ng kahilingan. Ang
cookies pinapayagan ng opsyon ang mga cookies na ito na matukoy. Hindi bababa sa, dapat ang bawat cookie
tumukoy ng value kasama ng isang path at domain. Mga kahilingan sa HTTP na tumutugma sa parehong domain
at awtomatikong isasama ng path ang cookie value sa HTTP Cookie header field.
Ang maramihang cookies ay maaaring matanggal sa pamamagitan ng isang bagong linya.
Ang kinakailangang syntax para maglaro ng stream na tumutukoy sa isang cookie ay:
ffplay -cookies "nlqptid=nltid=tsn; path=/; domain=somedomain.com;" http://somedomain.com/somestream.m3u8
Icecast
Icecast protocol (stream sa Icecast server)
Tinatanggap ng protocol na ito ang mga sumusunod na opsyon:
ice_genre
Itakda ang genre ng stream.
ice_name
Itakda ang pangalan ng stream.
ice_description
Itakda ang paglalarawan ng stream.
ice_url
Itakda ang URL ng stream ng website.
ice_public
Itakda kung dapat na pampubliko ang stream. Ang default ay 0 (hindi pampubliko).
user_agent
I-override ang header ng User-Agent. Kung hindi tinukoy ang isang string ng form na "Lavf/ "
gagamitin.
password
Itakda ang Icecast mountpoint password.
uri_ng nilalaman
Itakda ang uri ng nilalaman ng stream. Dapat itong itakda kung iba ito sa audio/mpeg.
legacy_icecast
Nagbibigay-daan ito sa suporta para sa mga bersyon ng Icecast < 2.4.0, na hindi sumusuporta sa HTTP PUT
paraan ngunit ang SOURCE method.
icecast://[ [: ]@] : /
mmst
MMS (Microsoft Media Server) protocol sa TCP.
mmsh
MMS (Microsoft Media Server) protocol sa HTTP.
Ang kinakailangang syntax ay:
mmsh:// [: ][/ ][/ ]
md5
MD5 output protocol.
Kinakalkula ang MD5 hash ng data na isusulat, at sa malapit na isusulat ito sa
itinalagang output o stdout kung walang tinukoy. Maaari itong magamit upang subukan ang mga muxer nang wala
pagsulat ng isang aktwal na file.
Ang ilang mga halimbawa ay sumusunod.
# Isulat ang MD5 hash ng naka-encode na AVI file sa file output.avi.md5.
ffmpeg -i input.flv -f avi -y md5:output.avi.md5
# Isulat ang MD5 hash ng naka-encode na AVI file sa stdout.
ffmpeg -i input.flv -f avi -y md5:
Tandaan na ang ilang mga format (karaniwang MOV) ay nangangailangan ng output protocol upang maging mahahanap, kaya sila
ay mabibigo sa MD5 output protocol.
tubo
UNIX pipe access protocol.
Magbasa at magsulat mula sa mga tubo ng UNIX.
Ang tinatanggap na syntax ay:
tubo:[ ]
numero ay ang numero na naaayon sa file descriptor ng pipe (hal. 0 para sa stdin, 1
para sa stdout, 2 para sa stderr). Kung numero ay hindi tinukoy, bilang default ang stdout file
descriptor ang gagamitin sa pagsulat, stdin sa pagbabasa.
Halimbawa upang basahin mula sa stdin na may ffmpeg:
pagsubok ng pusa.wav | ffmpeg -i pipe:0
# ...ito ay kapareho ng...
pagsubok ng pusa.wav | ffmpeg -i pipe:
Para sa pagsulat sa stdout kasama ffmpeg:
ffmpeg -i test.wav -f avi pipe:1 | pusa > pagsubok.avi
# ...ito ay kapareho ng...
ffmpeg -i test.wav -f avi pipe: | pusa > pagsubok.avi
Tinatanggap ng protocol na ito ang mga sumusunod na opsyon:
hinaharangan
Itakda ang I/O operation maximum block size, sa bytes. Ang default na halaga ay "INT_MAX", na
nagreresulta sa hindi paglilimita sa hiniling na laki ng bloke. Ang pagtatakda ng halagang ito ay makatwirang mababa
pinapabuti ang oras ng reaksyon ng kahilingan sa pagwawakas ng user, na mahalaga kung data
mabagal ang transmission.
Tandaan na ang ilang mga format (karaniwang MOV), ay nangangailangan ng output protocol upang maging mahahanap, kaya
mabibigo sila sa pipe output protocol.
rtmp
Real-Time Messaging Protocol.
Ang Real-Time Messaging Protocol (RTMP) ay ginagamit para sa pag-stream ng nilalamang multimedia sa isang
TCP/IP network.
Ang kinakailangang syntax ay:
rtmp://[ : @] [: ][/ ][/ ][/ ]
Ang tinatanggap na mga parameter ay:
username
Isang opsyonal na username (karamihan para sa pag-publish).
password
Isang opsyonal na password (karamihan para sa pag-publish).
server
Ang address ng RTMP server.
port
Ang numero ng TCP port na gagamitin (bilang default ay 1935).
app Ito ang pangalan ng application upang ma-access. Karaniwan itong tumutugma sa landas kung saan
ang application ay naka-install sa RTMP server (hal /ondemand/, /flash/live/, Atbp).
Maaari mo ring i-override ang value na na-parse mula sa URI sa pamamagitan ng opsyong "rtmp_app".
playpath
Ito ay ang landas o pangalan ng mapagkukunan upang i-play na may reference sa application
tinukoy sa app, ay maaaring prefix ng "mp4:". Maaari mong i-override ang value na na-parse mula sa
ang URI sa pamamagitan ng opsyong "rtmp_playpath", masyadong.
makinig
Kumilos bilang isang server, nakikinig para sa isang papasok na koneksyon.
oras
Pinakamataas na oras upang maghintay para sa papasok na koneksyon. Nagpapahiwatig ng pakikinig.
Bilang karagdagan, ang mga sumusunod na parameter ay maaaring itakda sa pamamagitan ng mga opsyon sa command line (o sa code sa pamamagitan ng
"Mga AVOption"):
rtmp_app
Pangalan ng application na ikokonekta sa RTMP server. Ino-override ng opsyong ito ang parameter
tinukoy sa URI.
rtmp_buffer
Itakda ang oras ng buffer ng kliyente sa millisecond. Ang default ay 3000.
rtmp_conn
Mga sobrang arbitrary na parameter ng koneksyon ng AMF, na na-parse mula sa isang string, hal tulad ng "B:1
S:authMe O:1 NN:code:1.23 NS:flag:ok O:0". Ang bawat value ay naka-prefix ng isang solong
character na nagsasaad ng uri, B para sa Boolean, N para sa numero, S para sa string, O para sa bagay,
o Z para sa null, na sinusundan ng isang colon. Para sa mga Boolean ang data ay dapat na alinman sa 0 o 1 para sa
MALI o TAMA, ayon sa pagkakabanggit. Gayundin para sa Mga Bagay ang data ay dapat na 0 o 1 upang matapos o
simulan ang isang bagay, ayon sa pagkakabanggit. Maaaring pangalanan ang mga item ng data sa mga subobject, sa pamamagitan ng paglalagay ng prefix sa
mag-type ng 'N' at tukuyin ang pangalan bago ang halaga (ibig sabihin, "NB:myFlag:1"). Ito
ang opsyon ay maaaring gamitin nang maraming beses upang makabuo ng mga arbitrary na pagkakasunud-sunod ng AMF.
rtmp_flashver
Bersyon ng Flash plugin na ginamit upang patakbuhin ang SWF player. Ang default ay LNX 9,0,124,2.
(Kapag nag-publish, ang default ay FMLE/3.0 (katugma; ))
rtmp_flush_interval
Bilang ng mga packet na na-flush sa parehong kahilingan (RTMPT lang). Ang default ay 10.
rtmp_live
Tukuyin na ang media ay isang live stream. Walang pagpapatuloy o paghahanap sa mga live stream
maaari. Ang default na halaga ay "anumang", ibig sabihin, susubukan muna ng subscriber na maglaro
ang live stream na tinukoy sa playpath. Kung ang isang live stream ng pangalang iyon ay hindi makita,
pinapatugtog nito ang naitala na stream. Ang iba pang posibleng value ay "live" at "recorded".
rtmp_pageurl
URL ng web page kung saan naka-embed ang media. Bilang default, walang ipapadalang halaga.
rtmp_playpath
Stream identifier upang i-play o i-publish. Ino-override ng opsyong ito ang tinukoy na parameter
sa URI.
rtmp_subscribe
Pangalan ng live stream upang mag-subscribe. Bilang default, walang ipapadalang halaga. Ito ay lamang
ipinadala kung tinukoy ang opsyon o kung nakatakdang mabuhay ang rtmp_live.
rtmp_swfhash
SHA256 hash ng decompressed SWF file (32 bytes).
rtmp_swfsize
Sukat ng na-decompress na SWF file, kinakailangan para sa SWFVerification.
rtmp_swfurl
URL ng SWF player para sa media. Bilang default, walang ipapadalang halaga.
rtmp_swfverify
URL sa player swf file, awtomatikong kalkulahin ang hash/laki.
rtmp_tcurl
URL ng target na stream. Default sa proto://host[:port]/app.
Halimbawa sa pagbabasa ffplay isang mapagkukunang multimedia na pinangalanang "sample" mula sa application
"vod" mula sa isang RTMP server na "myserver":
ffplay rtmp://myserver/vod/sample
Upang mag-publish sa isang server na protektado ng password, pagpasa sa playpath at mga pangalan ng app nang hiwalay:
ffmpeg -re -i -f flv -rtmp_playpath some/long/path -rtmp_app long/app/name rtmp://username:password@myserver/
rtmpe
Naka-encrypt na Real-Time Messaging Protocol.
Ang Encrypted Real-Time Messaging Protocol (RTMPE) ay ginagamit para sa streaming multimedia
nilalaman sa loob ng karaniwang cryptographic primitives, na binubuo ng Diffie-Hellman key
exchange at HMACSHA256, na bumubuo ng isang pares ng RC4 key.
rtmps
Real-Time Messaging Protocol sa isang secure na SSL na koneksyon.
Ang Real-Time Messaging Protocol (RTMPS) ay ginagamit para sa pag-stream ng nilalamang multimedia sa kabuuan
isang naka-encrypt na koneksyon.
rtmpt
Real-Time Messaging Protocol na na-tunnel sa pamamagitan ng HTTP.
Ang Real-Time Messaging Protocol na naka-tunnel sa pamamagitan ng HTTP (RTMPT) ay ginagamit para sa streaming
nilalamang multimedia sa loob ng mga kahilingan ng HTTP na tumawid sa mga firewall.
rtmpte
Naka-encrypt na Real-Time Messaging Protocol na na-tunnel sa pamamagitan ng HTTP.
Ginagamit ang Encrypted Real-Time Messaging Protocol na naka-tunnel sa pamamagitan ng HTTP (RTMPTE).
pag-stream ng nilalamang multimedia sa loob ng mga kahilingan ng HTTP na dumaan sa mga firewall.
rtmpts
Real-Time Messaging Protocol na na-tunnel sa pamamagitan ng HTTPS.
Ang Real-Time Messaging Protocol na naka-tunnel sa pamamagitan ng HTTPS (RTMPTS) ay ginagamit para sa streaming
ang nilalamang multimedia sa loob ng HTTPS ay humihiling na dumaan sa mga firewall.
libsmbclient
pinahihintulutan ng libsmbclient ang isa na manipulahin ang mga mapagkukunan ng network ng CIFS/SMB.
Kinakailangan ang pagsunod sa syntax.
smb://[[domain:]user[:password@]]server[/share[/path[/file]]]
Tinatanggap ng protocol na ito ang mga sumusunod na opsyon.
oras
Itakda ang timeout sa mga milisecond ng mga pagpapatakbo ng socket I/O na ginagamit ng pinagbabatayan na mababang antas
operasyon. Bilang default, ito ay nakatakda sa -1, na nangangahulugan na ang timeout ay hindi tinukoy.
putulin
Putulin ang mga umiiral nang file sa pagsulat, kung nakatakda sa 1. Pinipigilan ng value na 0 ang pagputol.
Ang default na halaga ay 1.
workgroup
Itakda ang workgroup na ginagamit para sa paggawa ng mga koneksyon. Bilang default, hindi tinukoy ang workgroup.
Para sa karagdagang impormasyon tingnan ang:http://www.samba.org/>.
libsh
Secure File Transfer Protocol sa pamamagitan ng libssh
Magbasa mula o sumulat sa malalayong mapagkukunan gamit ang SFTP protocol.
Kinakailangan ang pagsunod sa syntax.
sftp://[user[:password]@]server[:port]/path/to/remote/resource.mpeg
Tinatanggap ng protocol na ito ang mga sumusunod na opsyon.
oras
Itakda ang timeout ng socket I/O operations na ginagamit ng pinagbabatayan na low level operation. Sa pamamagitan ng
default ito ay nakatakda sa -1, na nangangahulugan na ang timeout ay hindi tinukoy.
putulin
Putulin ang mga umiiral nang file sa pagsulat, kung nakatakda sa 1. Pinipigilan ng value na 0 ang pagputol.
Ang default na halaga ay 1.
private_key
Tukuyin ang path ng file na naglalaman ng pribadong key na gagamitin sa panahon ng awtorisasyon. Sa pamamagitan ng
Ang default na libssh ay naghahanap ng mga susi sa ~ / .ssh / direktoryo.
Halimbawa: Mag-play ng file na nakaimbak sa remote server.
ffplay sftp://user:password@server_address:22/home/user/resource.mpeg
librtmp rtmp, rtmpe, rtmps, rtmpt, rtmpte
Real-Time Messaging Protocol at ang mga variant nito na sinusuportahan sa pamamagitan ng librtmp.
Nangangailangan ng pagkakaroon ng mga librtmp header at library sa panahon ng pagsasaayos. Kailangan mong
tahasang i-configure ang build gamit ang "--enable-librtmp". Kung pinagana, papalitan nito ang
katutubong RTMP protocol.
Ang protocol na ito ay nagbibigay ng karamihan sa mga function ng kliyente at ilang mga function ng server na kailangan upang suportahan
RTMP, RTMP tunneled sa HTTP (RTMPT), encrypted RTMP (RTMPE), RTMP over SSL/TLS (RTMPS) at
mga tunneled na variant ng mga naka-encrypt na uri na ito (RTMPTE, RTMPTS).
Ang kinakailangang syntax ay:
:// [: ][/ ][/ ]
saan rtmp_proto ay isa sa mga string na "rtmp", "rtmpt", "rtmpe", "rtmps", "rtmpte",
"rtmpts" na naaayon sa bawat variant ng RTMP, at server, port, app at playpath magkaroon ng
parehong kahulugan tulad ng tinukoy para sa katutubong protocol ng RTMP. pagpipilian naglalaman ng listahan ng espasyo-
hiwalay na mga opsyon ng form susi=Val.
Tingnan ang pahina ng manu-manong librtmp (man 3 librtmp) para sa higit pang impormasyon.
Halimbawa, upang mag-stream ng isang file sa real-time sa isang RTMP server gamit ffmpeg:
ffmpeg -re -i myfile -f flv rtmp://myserver/live/mystream
Upang i-play ang parehong stream gamit ffplay:
ffplay "rtmp://myserver/live/mystream live=1"
rtp
Real-time na Transport Protocol.
Ang kinakailangang syntax para sa isang RTP URL ay: rtp://hostname[:port][?opsyon=Val...]
port tumutukoy sa RTP port na gagamitin.
Ang mga sumusunod na opsyon sa URL ay sinusuportahan:
ttl=n
Itakda ang halaga ng TTL (Time-To-Live) (para sa multicast lang).
rtcpport=n
Itakda ang remote RTCP port sa n.
localrtpport=n
Itakda ang lokal na RTP port sa n.
localrtcpport=n'
Itakda ang lokal na RTCP port sa n.
pkt_size=n
Itakda ang max na laki ng packet (sa bytes) sa n.
kumonekta=0|1
Gumawa ng "connect()" sa UDP socket (kung nakatakda sa 1) o hindi (kung nakatakda sa 0).
pinagmumulan=ip[,ip]
Ilista ang mga pinapayagang source IP address.
harangan=ip[,ip]
Maglista ng mga hindi pinapayagan (na-block) na pinagmulang IP address.
write_to_source=0|1
Magpadala ng mga packet sa source address ng pinakabagong natanggap na packet (kung nakatakda sa 1) o sa a
default na remote na address (kung nakatakda sa 0).
localport=n
Itakda ang lokal na RTP port sa n.
Ito ay isang hindi na ginagamit na opsyon. sa halip, localrtpport ay dapat gamitin.
Mga mahahalagang tala:
1. Kung rtcpport ay hindi nakatakda ang RTCP port ay itatakda sa RTP port value plus 1.
2. Kung localrtpport (ang lokal na RTP port) ay hindi nakatakda para sa anumang magagamit na port na gagamitin
ang mga lokal na RTP at RTCP port.
3. Kung localrtcpport (ang lokal na RTCP port) ay hindi nakatakda ito ay itatakda sa lokal na RTP port
halaga plus 1.
rtsp
Real-Time Streaming Protocol.
Ang RTSP ay hindi technically isang protocol handler sa libavformat, ito ay isang demuxer at muxer. Ang
Sinusuportahan ng demuxer ang parehong normal na RTSP (na may data na inilipat sa RTP; ito ay ginagamit ng hal
Apple at Microsoft) at Real-RTSP (na may data na inilipat sa RDT).
Maaaring gamitin ang muxer upang magpadala ng stream gamit ang RTSP ANNOUNCE sa isang server na sumusuporta dito
(kasalukuyang Darwin Streaming Server at Mischa Spiegelmock's
<https://github.com/revmischa/rtsp-server>).
Ang kinakailangang syntax para sa isang RTSP url ay:
rtsp:// [: ]/
Maaaring itakda ang mga opsyon sa ffmpeg/ffplay command line, o itakda sa code sa pamamagitan ng "AVOption" o sa
"avformat_open_input".
Ang mga sumusunod na opsyon ay suportado.
initial_pause
Huwag simulan kaagad ang paglalaro ng stream kung nakatakda sa 1. Ang default na halaga ay 0.
rtsp_transport
Itakda ang RTSP transport protocol.
Tinatanggap nito ang mga sumusunod na halaga:
udp Gamitin ang UDP bilang mas mababang transport protocol.
tcp Gamitin ang TCP (interleaving sa loob ng RTSP control channel) bilang mas mababang transportasyon
protocol.
udp_multicast
Gamitin ang UDP multicast bilang mas mababang transport protocol.
http
Gamitin ang HTTP tunneling bilang mas mababang transport protocol, na kapaki-pakinabang para sa pagpasa
mga proxy.
Maaaring tukuyin ang maramihang mas mababang transport protocol, sa kasong iyon, sinubukan ang isa
sa isang pagkakataon (kung ang setup ng isa ay nabigo, ang susunod ay sinubukan). Para sa muxer, tanging ang
tcp at udp sinusuportahan ang mga opsyon.
rtsp_flags
Itakda ang mga flag ng RTSP.
Ang mga sumusunod na halaga ay tinatanggap:
filter_src
Tanggapin lamang ang mga packet mula sa napagkasunduang peer address at port.
makinig
Kumilos bilang isang server, nakikinig para sa isang papasok na koneksyon.
prefer_tcp
Subukan muna ang TCP para sa RTP transport, kung available ang TCP bilang RTSP RTP transport.
Default na halaga ay wala.
pinapayagan_media_types
Itakda ang mga uri ng media na tatanggapin mula sa server.
Ang mga sumusunod na flag ay tinatanggap:
video
audio
data
Bilang default, tinatanggap nito ang lahat ng uri ng media.
min_port
Itakda ang minimum na lokal na UDP port. Ang default na halaga ay 5000.
max_port
Itakda ang maximum na lokal na UDP port. Ang default na halaga ay 65000.
oras
Itakda ang maximum na timeout (sa mga segundo) upang maghintay para sa mga papasok na koneksyon.
Ang halaga ng -1 ay nangangahulugang walang katapusan (default). Ang pagpipiliang ito ay nagpapahiwatig ng rtsp_flags itakda sa
makinig.
reorder_queue_size
Itakda ang bilang ng mga packet upang i-buffer para sa paghawak ng muling pagkakaayos ng mga packet.
mag-timeout
Itakda ang socket TCP I/O timeout sa microseconds.
user-agent
I-override ang header ng User-Agent. Kung hindi tinukoy, nagde-default ito sa libavformat
string ng identifier.
Kapag tumatanggap ng data sa UDP, sinusubukan ng demuxer na muling ayusin ang mga natanggap na packet (dahil sila ay
maaaring dumating nang hindi maayos, o maaaring mawala nang tuluyan ang mga pakete). Maaari itong i-disable sa pamamagitan ng pagtatakda
ang maximum na demuxing delay sa zero (sa pamamagitan ng "max_delay" na field ng AVFormatContext).
Kapag nanonood ng mga multi-bitrate na Real-RTSP stream na may ffplay, ang mga stream na ipapakita ay maaaring
pinili gamit ang "-vst" n at "-ast" n para sa video at audio ayon sa pagkakabanggit, at maaaring i-on
ang langaw sa pamamagitan ng pagpindot sa "v" at "a".
Mga halimbawa
Ang mga sumusunod na halimbawa ay lahat ay gumagamit ng ffplay at ffmpeg kagamitan.
· Manood ng stream sa UDP, na may max reordering delay na 0.5 segundo:
ffplay -max_delay 500000 -rtsp_transport udp rtsp://server/video.mp4
· Manood ng stream na naka-tunnel sa HTTP:
ffplay -rtsp_transport http rtsp://server/video.mp4
· Magpadala ng stream sa realtime sa isang RTSP server, para mapanood ng iba:
ffmpeg -re -i -f rtsp -muxdelay 0.1 rtsp://server/live.sdp
· Makatanggap ng stream sa realtime:
ffmpeg -rtsp_flags makinig -i rtsp://ownaddress/live.sdp
katas
Session Announcement Protocol (RFC 2974). Hindi ito teknikal na tagapangasiwa ng protocol
libavformat, ito ay isang muxer at demuxer. Ito ay ginagamit para sa pagsenyas ng mga RTP stream, sa pamamagitan ng
na regular na nag-aanunsyo ng SDP para sa mga stream sa isang hiwalay na port.
babae
Ang syntax para sa isang SAP url na ibinigay sa muxer ay:
katas:// [: ][? ]
Ang mga RTP packet ay ipinadala sa patutunguhan sa daungan port, o sa port 5004 kung walang port
tinukoy. pagpipilian ay isang "&"-separated list. Ang mga sumusunod na opsyon ay sinusuportahan:
announce_addr=tirahan
Tukuyin ang patutunguhang IP address para sa pagpapadala ng mga anunsyo sa. Kung aalisin, ang
ang mga anunsyo ay ipinapadala sa karaniwang ginagamit na SAP announcement multicast address
224.2.127.254 (sap.mcast.net), o ff0e::2:7ffe kung patutunguhan ay isang IPv6 address.
announce_port=port
Tukuyin ang port kung saan ipapadala ang mga anunsyo, magiging default sa 9875 kung hindi tinukoy.
ttl=ttl
Tukuyin ang oras upang mabuhay ang halaga para sa mga anunsyo at RTP packet, na ang default ay 255.
same_port=0 | 1
Kung nakatakda sa 1, ipadala ang lahat ng RTP stream sa parehong pares ng port. Kung zero (ang default), lahat
ang mga stream ay ipinapadala sa mga natatanging port, na ang bawat stream sa isang port ay 2 numero na mas mataas kaysa sa
dati. Kinakailangan ng VLC/Live555 na itakda ito sa 1, upang matanggap ang stream.
Ang RTP stack sa libavformat para sa pagtanggap ay nangangailangan ng lahat ng mga stream na maipadala sa natatangi
port.
Ang mga halimbawang linya ng utos ay sumusunod.
Upang mag-broadcast ng stream sa lokal na subnet, para sa panonood sa VLC:
ffmpeg -re -i -f sap sap://224.0.0.255?same_port=1
Katulad nito, para sa panonood sa ffplay:
ffmpeg -re -i -f sap sap://224.0.0.255
At para sa panonood sa ffplay, sa IPv6:
ffmpeg -re -i -f sap sap://[ff0e::1:2:3:4]
Demuxer
Ang syntax para sa isang SAP url na ibinigay sa demuxer ay:
katas://[ ][: ]
tirahan ay ang multicast address upang makinig para sa mga anunsyo sa, kung aalisin, ang default
224.2.127.254 (sap.mcast.net) ang ginagamit. port ay ang port na pinapakinggan, 9875 kung
tinanggal.
Ang mga demuxer ay nakikinig para sa mga anunsyo sa ibinigay na address at port. Minsan an
natanggap ang anunsyo, sinusubukan nitong matanggap ang partikular na stream.
Ang mga halimbawang linya ng utos ay sumusunod.
Upang i-play muli ang unang stream na inihayag sa normal na SAP multicast address:
ffplay sap://
Upang i-play muli ang unang stream na inihayag sa isa ang default na IPv6 SAP multicast address:
ffplay sap://[ff0e::2:7ffe]
sctp
Stream Control Transmission Protocol.
Ang tinatanggap na syntax ng URL ay:
sctp:// : [? ]
Tinatanggap ng protocol ang mga sumusunod na opsyon:
makinig
Kung nakatakda sa anumang halaga, makinig para sa isang papasok na koneksyon. Ang papalabas na koneksyon ay ginagawa ng
default.
max_streams
Itakda ang maximum na bilang ng mga stream. Bilang default, walang nakatakdang limitasyon.
srtp
Secure Real-time na Transport Protocol.
Ang mga tinatanggap na opsyon ay:
srtp_in_suite
srtp_out_suite
Pumili ng mga suite ng pag-encode ng input at output.
Mga sinusuportahang halaga:
AES_CM_128_HMAC_SHA1_80
SRTP_AES128_CM_HMAC_SHA1_80
AES_CM_128_HMAC_SHA1_32
SRTP_AES128_CM_HMAC_SHA1_32
srtp_in_params
srtp_out_params
Itakda ang mga parameter ng pag-encode ng input at output, na ipinahayag ng base64-encoded
representasyon ng isang binary block. Ang unang 16 byte ng binary block na ito ay ginagamit bilang
master key, ang sumusunod na 14 bytes ay ginagamit bilang master salt.
subfile
Halos i-extract ang isang segment ng isang file o isa pang stream. Ang pinagbabatayan na stream ay dapat na
mahahanap.
Mga tinanggap na opsyon:
simula
Simulan ang offset ng na-extract na segment, sa bytes.
dulo Tapusin ang offset ng na-extract na segment, sa bytes.
Halimbawa:
I-extract ang isang kabanata mula sa isang DVD VOB file (mga sektor ng pagsisimula at pagtatapos na nakuha sa labas at
pinarami ng 2048):
subfile,,start,153391104,end,268142592,,:/media/dvd/VIDEO_TS/VTS_08_1.VOB
Direktang mag-play ng AVI file mula sa archive ng TAR:
subfile,,start,183241728,end,366490624,,:archive.tar
tcp
Transmission Control Protocol.
Ang kinakailangang syntax para sa isang TCP url ay:
tcp:// : [? ]
pagpipilian naglalaman ng listahan ng &-separated na mga opsyon ng form susi=Val.
Ang listahan ng mga sinusuportahang opsyon ay sumusunod.
makinig =1 | 0
Makinig para sa isang papasok na koneksyon. Ang default na halaga ay 0.
timeout=microseconds
Itakda ang pagtaas ng error timeout, na ipinahayag sa microseconds.
Ang opsyong ito ay may kaugnayan lamang sa read mode: kung walang data na dumating nang higit sa oras na ito
pagitan, itaas ang error.
listen_timeout=milliseconds
Itakda ang timeout ng pakikinig, na ipinahayag sa millisecond.
Ipinapakita ng sumusunod na halimbawa kung paano mag-set up ng nakikinig na koneksyon sa TCP ffmpeg, Kung saan ay
pagkatapos ay na-access gamit ang ffplay:
ffmpeg -i -f tcp:// : ?makinig ka
ffplay tcp:// :
tls
Transport Layer Security (TLS) / Secure Sockets Layer (SSL)
Ang kinakailangang syntax para sa isang TLS/SSL url ay:
tls:// : [? ]
Ang mga sumusunod na parameter ay maaaring itakda sa pamamagitan ng mga opsyon sa command line (o sa code sa pamamagitan ng "AVOption"):
ca_file, cafile=filename
Isang file na naglalaman ng mga certificate authority (CA) root certificate upang ituring bilang pinagkakatiwalaan. Kung
ang naka-link na library ng TLS ay naglalaman ng isang default na maaaring hindi nito kailangang tukuyin
gumagana ang pag-verify, ngunit hindi lahat ng library at setup ay may mga default na built in. Ang
Ang file ay dapat nasa OpenSSL PEM format.
tls_verify=1 | 0
Kung naka-enable, subukang i-verify ang peer kung saan kami nakikipag-ugnayan. Tandaan, kung gumagamit
OpenSSL, ito ay kasalukuyang tinitiyak lamang na ang peer certificate ay nilagdaan ng isa sa
ang mga root certificate sa database ng CA, ngunit hindi nito pinapatunayan na ang
aktuwal na tumutugma ang sertipiko sa pangalan ng host na sinusubukan naming kumonekta. (Sa GnuTLS,
ang pangalan ng host ay napatunayan din.)
Ito ay hindi pinagana bilang default dahil nangangailangan ito ng CA database na ibibigay ng
tumatawag sa maraming pagkakataon.
cert_file, sertipikado=filename
Isang file na naglalaman ng certificate na gagamitin sa pakikipagkamay sa kapantay. (Kailan
operating bilang server, sa listen mode, ito ay mas madalas na kinakailangan ng peer, habang
ang mga sertipiko ng kliyente lamang ang ipinag-uutos sa ilang partikular na setup.)
key_file, susi =filename
Isang file na naglalaman ng pribadong key para sa certificate.
makinig =1 | 0
Kung pinagana, makinig para sa mga koneksyon sa ibinigay na port, at ipagpalagay ang tungkulin ng server sa
ang pakikipagkamay sa halip na ang tungkulin ng kliyente.
Halimbawa ng mga command line:
Para gumawa ng TLS/SSL server na naghahatid ng input stream.
ffmpeg -i -f tls:// : ?makinig&cert= &key=
Upang i-play muli ang isang stream mula sa TLS/SSL server gamit ang ffplay:
ffplay tls:// :
udp
User Datagram Protocol.
Ang kinakailangang syntax para sa isang UDP URL ay:
udp:// : [? ]
pagpipilian naglalaman ng listahan ng &-separated na mga opsyon ng form susi=Val.
Kung sakaling pinagana ang threading sa system, isang pabilog na buffer ang ginagamit upang iimbak ang
papasok na data, na nagpapahintulot sa isa na bawasan ang pagkawala ng data dahil sa UDP socket buffer overruns.
Ang fifo_size at overrun_nonfatal ang mga opsyon ay nauugnay sa buffer na ito.
Ang listahan ng mga sinusuportahang opsyon ay sumusunod.
buffer_size=laki
Itakda ang maximum na laki ng buffer ng socket ng UDP sa mga byte. Ito ay ginagamit upang itakda ang alinman sa
tumanggap o magpadala ng laki ng buffer, depende sa kung para saan ginagamit ang socket. Default ay
64KB. Tingnan din fifo_size.
localport=port
I-override ang lokal na port ng UDP upang i-bind.
localaddr=addr
Piliin ang lokal na IP address. Ito ay kapaki-pakinabang hal kung nagpapadala ng multicast at mayroon ang host
maramihang mga interface, kung saan maaaring piliin ng user kung aling interface ang ipapadala
pagtukoy sa IP address ng interface na iyon.
pkt_size=laki
Itakda ang laki sa mga byte ng UDP packet.
muling gamitin=1 | 0
Tahasang payagan o huwag payagan ang muling paggamit ng mga UDP socket.
ttl=ttl
Itakda ang oras upang mabuhay ang halaga (para sa multicast lamang).
kumonekta=1 | 0
I-initialize ang UDP socket gamit ang "connect()". Sa kasong ito, ang address ng patutunguhan
hindi mababago sa ff_udp_set_remote_url mamaya. Kung ang patutunguhang address ay hindi
kilala sa simula, ang opsyong ito ay maaaring tukuyin din sa ff_udp_set_remote_url. Ito
nagbibigay-daan sa paghahanap ng source address para sa mga packet na may getsockname, at gumagawa
nagsusulat ng return na may AVERROR(ECONNREFUSED) kung natanggap ang "destination unreachable".
Para sa pagtanggap, nagbibigay ito ng benepisyo ng pagtanggap lamang ng mga packet mula sa tinukoy
peer address/port.
pinagmumulan=tirahan[,tirahan]
Tumanggap lamang ng mga packet na ipinadala sa multicast group mula sa isa sa tinukoy na IP ng nagpadala
mga address.
harangan=tirahan[,tirahan]
Huwag pansinin ang mga packet na ipinadala sa multicast group mula sa tinukoy na mga IP address ng nagpadala.
fifo_size=yunit
Itakda ang laki ng buffer ng pagtanggap ng UDP, na ipinahayag bilang isang bilang ng mga packet na may sukat
ng 188 bytes. Kung hindi tinukoy ang mga default sa 7*4096.
overrun_nonfatal=1 | 0
Mabuhay sa kaso ng UDP na makatanggap ng circular buffer overrun. Ang default na halaga ay 0.
timeout=microseconds
Itakda ang pagtaas ng error timeout, na ipinahayag sa microseconds.
Ang opsyong ito ay may kaugnayan lamang sa read mode: kung walang data na dumating nang higit sa oras na ito
pagitan, itaas ang error.
broadcast=1 | 0
Tahasang payagan o huwag payagan ang UDP broadcasting.
Tandaan na maaaring hindi gumana nang maayos ang pagsasahimpapawid sa mga network na may bagyo sa pagsasahimpapawid
proteksyon.
Mga halimbawa
· Gamitin ffmpeg upang mag-stream sa UDP sa isang malayong endpoint:
ffmpeg -i -f udp:// :
· Gamitin ffmpeg upang mag-stream sa mpegts na format sa UDP gamit ang 188 sized na UDP packet, gamit ang a
malaking input buffer:
ffmpeg -i -f mpegts udp:// : ?pkt_size=188&buffer_size=65535
· Gamitin ffmpeg upang makatanggap sa UDP mula sa isang malayong endpoint:
ffmpeg -i udp://[ ]: ...
Unix
Lokal na socket ng Unix
Ang kinakailangang syntax para sa isang Unix socket URL ay:
unix://
Ang mga sumusunod na parameter ay maaaring itakda sa pamamagitan ng mga opsyon sa command line (o sa code sa pamamagitan ng "AVOption"):
oras
Timeout sa ms.
makinig
Lumikha ng Unix socket sa mode ng pakikinig.
Gumamit ng ffmpeg-protocols online gamit ang mga serbisyo ng onworks.net