Bu, Ubuntu Online, Fedora Online, Windows çevrimiçi öykünücüsü veya MAC OS çevrimiçi öykünücüsü gibi birden fazla ücretsiz çevrimiçi iş istasyonumuzdan birini kullanarak OnWorks ücretsiz barındırma sağlayıcısında çalıştırılabilen komut ffmpeg protokolleridir.
Program:
ADI
ffmpeg protokolleri - FFmpeg protokolleri
AÇIKLAMA
Bu belge, libavformat tarafından sağlanan giriş ve çıkış protokollerini açıklar.
kütüphane.
PROTOKOLLER
Protokoller, gerekli kaynaklara erişim sağlayan FFmpeg'de yapılandırılmış öğelerdir.
özel protokoller.
FFmpeg yapınızı yapılandırdığınızda, desteklenen tüm protokoller varsayılan olarak etkinleştirilir.
Tüm mevcut olanları "--list-protocols" yapılandırma seçeneğini kullanarak listeleyebilirsiniz.
"--disable-protocols" yapılandırma seçeneğini kullanarak tüm protokolleri devre dışı bırakabilirsiniz ve
"--enable-protocol=" seçeneğini kullanarak bir protokolü seçerek etkinleştirinPROTOKOL"ya da yapabilirsin
"--disable-protocol=" seçeneğini kullanarak belirli bir protokolü devre dışı bırakınPROTOKOL".
ff* araçlarının "-protocols" seçeneği, desteklenen protokollerin listesini görüntüler.
Şu anda mevcut protokollerin bir açıklaması aşağıdadır.
zaman uyumsuz
Giriş akışı için eşzamansız veri doldurma sarmalayıcısı.
G/Ç işlemini demux iş parçacığından ayırmak için verileri bir arka plan iş parçacığına doldurun.
zaman uyumsuz:
eşzamansız:http://host/resource
zaman uyumsuz:önbellek:http://host/resource
bluray
BluRay oynatma listesini okuyun.
Kabul edilen seçenekler şunlardır:
açı
BluRay açısı
bölüm
Bölüme başla (1...N)
çalma listesi
Okunacak oynatma listesi (BDMV/PLAYLIST/?????.mpls)
Örnekler:
/mnt/bluray'e monte edilen BluRay'den en uzun oynatma listesini okuyun:
bluray:/mnt/blueray
/mnt/bluray'e takılı BluRay'den oynatma listesi 2'ün 4. açısını okuyun, 2. bölümden başlayın:
-çalma listesi 4 -açı 2 -bölüm 2 bluray:/mnt/bluray
önbellek
Giriş akışı için önbelleğe alma sarmalayıcı.
Giriş akışını geçici dosyaya önbelleğe alın. Canlı akışlar için arama yeteneği getiriyor.
önbellek:
concat
Fiziksel birleştirme protokolü.
Benzersiz bir kaynakmış gibi birçok kaynağı sırayla okuyun ve arayın.
Bu protokol tarafından kabul edilen bir URL sözdizimine sahiptir:
concat: | |...|
nerede URL1, URL2, ..., URLN'si birleştirilecek kaynağın URL'leri, her biri
muhtemelen ayrı bir protokol belirterek.
Örneğin bir dizi dosyayı okumak için split1.mpeg, split2.mpeg, split3.mpeg ile ffplay
şu komutu kullanın:
ffplay concat:split1.mpeg\|split2.mpeg\|split3.mpeg
"|" karakterinden kaçmanız gerekebileceğini unutmayın. bu birçok kabuk için özeldir.
kripto
AES şifreli akış okuma protokolü.
Kabul edilen seçenekler şunlardır:
anahtar AES şifre çözme anahtarı ikili bloğunu verilen onaltılık gösterimden ayarlayın.
iv AES şifre çözme başlatma vektörü ikili bloğunu verilen onaltılık sayıdan ayarlayın
temsilidir.
Kabul edilen URL biçimleri:
kripto:
kripto+
veri
URI'de hat içi veriler. Görmekhttp://en.wikipedia.org/wiki/Data_URI_scheme>.
Örneğin, satır içi verilen bir GIF dosyasını dönüştürmek için ffmpeg:
ffmpeg -i "data:image/gif;base64,R0lGODdhCAAIAMIEAAAAAAAA//8AAP//AP///////////////ywAAAAACAAIAAADF0gEDLojDgdGiJdJqUX02iB4E8Q9jUMkADs=" smiley.png
dosya
Dosya erişim protokolü.
Bir dosyadan okuyun veya bir dosyaya yazın.
Bir dosya URL'si şu şekilde olabilir:
dosya:
nerede Dosya okunacak dosyanın yoludur.
Protokol ön ekine sahip olmayan bir URL'nin dosya URL'si olduğu varsayılacaktır. Bağlı olarak
yapı, başında sürücü harfi olan bir Windows yoluna benzeyen bir URL
ayrıca bir dosya URL'si olduğu varsayılacaktır (genellikle unix benzeri yapılarda durum böyle değildir)
sistemler).
Örneğin bir dosyadan okumak için giriş.mpeg ile ffmpeg şu komutu kullanın:
ffmpeg -i dosyası:input.mpeg output.mpeg
Bu protokol aşağıdaki seçenekleri kabul eder:
kesmek
1 olarak ayarlanmışsa, yazma sırasında mevcut dosyaları kısaltın. 0 değeri, kesmeyi önler.
Varsayılan değer 1'dir.
blok boyutu
G/Ç işlemi maksimum blok boyutunu bayt olarak ayarlayın. Varsayılan değer "INT_MAX" olup,
istenen blok boyutunu sınırlamamakla sonuçlanır. Bu değeri oldukça düşük ayarlamak
yavaş çalışan dosyalar için değerli olan kullanıcı sonlandırma isteği tepki süresini iyileştirir
orta.
ftp
FTP (Dosya Aktarım Protokolü).
FTP protokolünü kullanarak uzak kaynaklardan okuyun veya uzak kaynaklara yazın.
Aşağıdaki sözdizimi gereklidir.
ftp://[user[:password]@]sunucu[:port]/path/to/remote/resource.mpeg
Bu protokol aşağıdaki seçenekleri kabul eder.
zaman aşımı
Temel düşük seviye tarafından kullanılan soket G/Ç işlemlerinin mikrosaniye cinsinden zaman aşımını ayarlayın
operasyon. Varsayılan olarak -1'e ayarlanmıştır, bu da zaman aşımının belirtilmediği anlamına gelir.
ftp-anonim-şifre
Anonim kullanıcı olarak oturum açarken kullanılan parola. Tipik olarak bir e-posta adresi olmalıdır
Kullanılmış.
ftp yazılabilir
Kodlama sırasında bağlantının aranabilirliğini kontrol edin. 1 olarak ayarlanırsa kaynak
aranabilir olması gerekir, eğer 0'a ayarlanırsa aranabilir olmadığı varsayılır. Varsayılan değer
0.
NOT: Protokol çıktı olarak kullanılabilir ancak özel durumlar dışında yapılmaması tavsiye edilir.
özen gösterilir (testler, özelleştirilmiş sunucu yapılandırması vb.). Farklı FTP sunucuları davranır
arama işlemi sırasında farklı şekilde. ff* araçları, aşağıdaki nedenlerle eksik içerik üretebilir:
sunucu sınırlamaları
sincap
Gopher protokolü.
hls
Apple HTTP Canlı Akış uyumlu bölümlenmiş akışı tek tip olarak okuyun. M3U8
Segmentleri açıklayan çalma listeleri, erişilen uzak HTTP kaynakları veya yerel dosyalar olabilir.
standart dosya protokolünü kullanarak. İç içe protokol, "+bu nedenle"
hls URI şeması adından sonra, burada bu nedenle "dosya" veya "http"dir.
hs+http://host/path/to/remote/resource.m3u8
hls+file://path/to/local/resource.m3u8
Bu protokolün kullanılması önerilmez - hls demuxer da aynı şekilde çalışmalıdır (değilse,
lütfen sorunları bildirin) ve daha eksiksizdir. Bunun yerine hls demuxer'ı kullanmak için
m3u8 dosyalarının doğrudan URL'lerini kullanın.
http
HTTP (Köprü Metni Aktarım Protokolü).
Bu protokol aşağıdaki seçenekleri kabul eder:
aranabilir
Bağlantının aranabilirliğini kontrol edin. 1 olarak ayarlanırsa kaynağın
aranabilir, 0'a ayarlanırsa aranamaz olduğu varsayılır, -1'e ayarlanırsa aranmaya çalışılır
aranabilir olup olmadığını otomatik olarak algıla. Varsayılan değer -1'dir.
yığın_post
1 olarak ayarlanırsa gönderiler için yığınlanmış Aktarım Kodlaması kullan, varsayılan 1'dir.
içerik türü
POST mesajları için belirli bir içerik türü belirleyin.
başlıkları
Özel HTTP başlıklarını ayarlayın, yerleşik varsayılan başlıkları geçersiz kılabilir. Değer bir olmalıdır
başlıkları kodlayan dize.
çoklu_istekler
1 olarak ayarlanırsa kalıcı bağlantılar kullanın, varsayılan 0'dır.
post_data
Özel HTTP gönderi verilerini ayarlayın.
kullanıcı aracısı
user_agent
User-Agent başlığını geçersiz kılın. Belirtilmezse protokol bir dize kullanır
libavformat yapısını açıklayan. ("Lavf/ ")
zaman aşımı
Temel düşük seviye tarafından kullanılan soket G/Ç işlemlerinin mikrosaniye cinsinden zaman aşımını ayarlayın
operasyon. Varsayılan olarak -1'e ayarlanmıştır, bu da zaman aşımının belirtilmediği anlamına gelir.
mime_type
MIME türünü dışa aktarın.
buzlu 1 olarak ayarlandıysa, sunucudan ICY (SHOUTcast) meta verileri isteyin. Sunucu destekliyorsa
bu, meta verinin uygulama tarafından okunarak alınması gerekir.
icey_metadata_headers ve buzlu_metadata_paket seçenekler. Varsayılan 1'dir.
icey_metadata_headers
Sunucu ICY meta verilerini destekliyorsa, bu ICY'ye özel HTTP yanıtını içerir
yeni satır karakterleriyle ayrılmış başlıklar.
buzlu_metadata_paket
Sunucu ICY meta verilerini destekliyorsa ve buzlu 1 olarak ayarlandı, bu, son olmayanı içerir.
sunucu tarafından gönderilen boş meta veri paketi. tarafından düzenli aralıklarla sorgulanmalıdır.
orta akış meta veri güncellemeleriyle ilgilenen uygulamalar.
kurabiye
Gelecekteki isteklerde gönderilecek çerezleri ayarlayın. Her çerezin formatı aynıdır
Set-Cookie HTTP yanıt alanının değeri olarak. Birden fazla çerez şu şekilde sınırlandırılabilir:
yeni satır karakteri.
ofset
İlk bayt ofsetini ayarlayın.
end_offset
İsteği, bu ofsetten önceki baytlarla sınırlamaya çalışın.
yöntem
İstemci seçeneği olarak kullanıldığında, istek için HTTP yöntemini ayarlar.
Sunucu seçeneği olarak kullanıldığında, kendisinden beklenen HTTP yöntemini ayarlar.
müşteriler). Beklenen ve alınan HTTP yöntemi istemciyle eşleşmiyorsa
Kötü İstek yanıtı verilecektir. Ayarlanmadığında, HTTP yöntemi kontrol edilmez.
şimdi. Bu, gelecekte otomatik algılama ile değiştirilecektir.
dinlemek
1 olarak ayarlanırsa, deneysel HTTP sunucusunu etkinleştirir. Bu, kullanıldığında veri göndermek için kullanılabilir
çıktı seçeneği olarak veya girdi olarak kullanıldığında HTTP POST ile bir istemciden veri okuyun
seçenek. 2 olarak ayarlanırsa, deneysel çok istemcili HTTP sunucusunu etkinleştirir. Bu henüz değil
ffmpeg.c veya ffserver.c'de uygulanır ve bu nedenle komut satırı olarak kullanılmamalıdır
seçeneği.
# Sunucu tarafı (gönderme):
ffmpeg -i somefile.ogg -c kopyala -listen 1 -f ogg http:// :
# İstemci tarafı (alıcı):
ffmpeg -i http:// : -c bir dosya.ogg kopyala
# İstemci, wget ile de yapılabilir:
http:// : -O bir dosya.ogg
# Sunucu tarafı (alıcı):
ffmpeg -dinle 1 -i http:// : -c bir dosya.ogg kopyala
# İstemci tarafı (gönderme):
ffmpeg -i somefile.ogg -chunked_post 0 -c kopya -f ogg http:// :
# İstemci, wget ile de yapılabilir:
wget --post-file=somefile.ogg http:// :
HTTP Çerezler
Bazı HTTP istekleri, istekle birlikte çerez değerleri iletilmediği sürece reddedilecektir. bu
kurabiye seçeneği, bu çerezlerin belirtilmesine izin verir. En azından, her çerez
bir yol ve etki alanı ile birlikte bir değer belirtin. Her iki etki alanıyla da eşleşen HTTP istekleri
ve yol, HTTP Tanımlama Bilgisi başlık alanına tanımlama bilgisi değerini otomatik olarak dahil edecektir.
Birden fazla çerez, yeni bir satırla sınırlandırılabilir.
Tanımlama bilgisi belirten bir akışı oynatmak için gerekli sözdizimi şöyledir:
ffplay -cookies "nlqptid=nltid=tsn; yol=/; alan=biralan.com;" http://somedomain.com/somestream.m3u8
buz dökümü
Icecast protokolü (Icecast sunucularına akış)
Bu protokol aşağıdaki seçenekleri kabul eder:
buz_tarzı
Akış türünü ayarlayın.
buz_adı
Akış adını ayarlayın.
buz_açıklaması
Akış açıklamasını ayarlayın.
ice_url
Akış web sitesi URL'sini ayarlayın.
buz_public
Akışın herkese açık olup olmayacağını ayarlayın. Varsayılan 0'dır (genel değil).
user_agent
User-Agent başlığını geçersiz kılın. "Lavf/" biçiminde bir dize belirtilmemişse "
kullanılacaktır.
şifre
Icecast bağlama noktası parolasını ayarlayın.
içerik türü
Akış içerik türünü ayarlayın. Bu, ses/mpeg'den farklıysa ayarlanmalıdır.
Legacy_icecast
Bu, HTTP PUT'u desteklemeyen Icecast < 2.4.0 sürümleri için destek sağlar
yöntemi değil, SOURCE yöntemi.
buzdağı://[ [: ]@] : /
mmst
TCP üzerinden MMS (Microsoft Media Server) protokolü.
mmsh
HTTP üzerinden MMS (Microsoft Media Server) protokolü.
Gerekli sözdizimi:
mmsh:// [: ][/ ][/ ]
md5
MD5 çıkış protokolü.
Yazılacak verilerin MD5 karmasını hesaplar ve kapatıldığında bunu
atanmış çıktı veya hiçbiri belirtilmemişse stdout. Muxer'ları test etmek için kullanılabilir.
gerçek bir dosya yazmak.
Bazı örnekler aşağıdadır.
# Kodlanmış AVI dosyasının MD5 karmasını output.avi.md5 dosyasına yazın.
ffmpeg -i giriş.flv -f avi -y md5:çıkış.avi.md5
# Kodlanmış AVI dosyasının MD5 karmasını stdout'a yazın.
ffmpeg -i girdi.flv -f avi -y md5:
Bazı biçimlerin (tipik olarak MOV) çıktı protokolünün aranabilir olmasını gerektirdiğine dikkat edin.
MD5 çıkış protokolü ile başarısız olur.
boru
UNIX boru erişim protokolü.
UNIX borularından okuma ve yazma.
Kabul edilen sözdizimi:
boru:[ ]
numara borunun dosya tanımlayıcısına karşılık gelen sayıdır (örn. stdin için 0, 1
stdout için, 2 stderr için). Eğer numara belirtilmemiş, varsayılan olarak stdout dosyası
tanımlayıcı yazmak için, stdin okumak için kullanılacaktır.
Örneğin stdin'den okumak için ffmpeg:
kedi testi.wav | ffmpeg -i boru:0
# ...bu aynı...
kedi testi.wav | ffmpeg -i borusu:
ile stdout'a yazmak için ffmpeg:
ffmpeg -i test.wav -f avi boru:1 | kedi > test.avi
# ...bu aynı...
ffmpeg -i test.wav -f avi borusu: | kedi > test.avi
Bu protokol aşağıdaki seçenekleri kabul eder:
blok boyutu
G/Ç işlemi maksimum blok boyutunu bayt olarak ayarlayın. Varsayılan değer "INT_MAX" olup,
istenen blok boyutunu sınırlamamakla sonuçlanır. Bu değeri oldukça düşük ayarlamak
veri olması durumunda değerli olan kullanıcı sonlandırma isteği tepki süresini iyileştirir
iletim yavaş.
Bazı biçimlerin (tipik olarak MOV), çıkış protokolünün aranabilir olmasını gerektirdiğini unutmayın, bu nedenle
boru çıkış protokolü ile başarısız olurlar.
rtmp
Gerçek Zamanlı Mesajlaşma Protokolü.
Gerçek Zamanlı Mesajlaşma Protokolü (RTMP), çoklu ortam içeriğinin bir platformda akışı için kullanılır.
TCP/IP ağı.
Gerekli sözdizimi:
rtmp://[ : @] [: ][/ ][/ ][/ ]
Kabul edilen parametreler şunlardır:
kullanıcı adı
İsteğe bağlı bir kullanıcı adı (çoğunlukla yayınlamak için).
şifre
İsteğe bağlı bir parola (çoğunlukla yayınlamak için).
sunucu
RTMP sunucusunun adresi.
Liman
Kullanılacak TCP bağlantı noktasının numarası (varsayılan olarak 1935'tir).
uygulamayı yükleyeceğiz Erişilecek uygulamanın adıdır. Genellikle yola karşılık gelir
uygulama RTMP sunucusuna yüklenir (örn. /Talep üzerine/, /flaş/canlı/, Vb.)
URI'den ayrıştırılan değeri "rtmp_app" seçeneğiyle de geçersiz kılabilirsiniz.
oyun yolu
Uygulamaya referansla oynatılacak kaynağın yolu veya adıdır.
belirtilen uygulamayı yükleyeceğiz, "mp4:" ön eki olabilir. Ayrıştırılan değeri geçersiz kılabilirsiniz
URI'yi de "rtmp_playpath" seçeneği aracılığıyla.
dinlemek
Gelen bir bağlantıyı dinleyerek bir sunucu gibi davranın.
zaman aşımı
Gelen bağlantı için beklenecek maksimum süre. Dinle anlamına gelir.
Ek olarak, aşağıdaki parametreler komut satırı seçenekleriyle (veya aşağıdakiler aracılığıyla kodda) ayarlanabilir:
"AVOption"lar):
rtmp_app
RTMP sunucusuna bağlanılacak uygulamanın adı. Bu seçenek parametreyi geçersiz kılar
URI'de belirtilen.
rtmp_buffer
İstemci arabellek süresini milisaniye olarak ayarlayın. Varsayılan 3000'dir.
rtmp_conn
Bir dizgeden ayrıştırılan ekstra isteğe bağlı AMF bağlantı parametreleri, örneğin "B:1
S:authMe O:1 NN:kod:1.23 NS:flag:ok O:0". Her değerin önüne tek bir değer eklenir
tipi gösteren karakter, Boolean için B, sayı için N, string için S, nesne için O,
veya boş için Z, ardından iki nokta üst üste. Booleanlar için veriler 0 veya 1 olmalıdır.
Sırasıyla YANLIŞ veya DOĞRU. Benzer şekilde, Nesneler için verilerin bitmesi için 0 veya 1 olması gerekir veya
sırasıyla bir nesneyi başlatın. Alt nesnelerdeki veri öğeleri, ön eki getirilerek adlandırılabilir.
'N' ile yazın ve değerden önce adı belirtin (örn. "NB:myFlag:1"). Bu
seçeneği, keyfi AMF dizileri oluşturmak için birden çok kez kullanılabilir.
rtmp_flashver
SWF oynatıcısını çalıştırmak için kullanılan Flash eklentisinin sürümü. Varsayılan LNX 9,0,124,2'dir.
(Yayınlarken, varsayılan değer FMLE/3.0'dır (uyumlu; )
rtmp_flush_interval
Aynı istekte temizlenen paket sayısı (yalnızca RTMPT). Varsayılan 10'dur.
rtmp_live
Medyanın bir canlı akış olduğunu belirtin. Canlı akışlarda devam etme veya arama yok
mümkün. Varsayılan değer "any"dır, yani abone ilk önce çalmaya çalışır.
oynatma yolunda belirtilen canlı akış. Bu isimde bir canlı yayın bulunamazsa,
kaydedilen akışı oynatır. Diğer olası değerler "canlı" ve "kaydedildi".
rtmp_pageurl
Medyanın gömülü olduğu web sayfasının URL'si. Varsayılan olarak hiçbir değer gönderilmeyecektir.
rtmp_playpath
Oynatmak veya yayınlamak için akış tanımlayıcısı. Bu seçenek belirtilen parametreyi geçersiz kılar
URI'de.
rtmp_subscribe
Abone olunacak canlı akışın adı. Varsayılan olarak hiçbir değer gönderilmeyecektir. Bu sadece
seçenek belirtilmişse veya rtmp_live canlı olarak ayarlanmışsa gönderilir.
rtmp_swfhash
Sıkıştırılmış SWF dosyasının (256 bayt) SHA32 karması.
rtmp_swfsize
SWFVerification için gerekli olan, sıkıştırılmış SWF dosyasının boyutu.
rtmp_swfurl
Medya için SWF oynatıcısının URL'si. Varsayılan olarak hiçbir değer gönderilmeyecektir.
rtmp_swfdoğrula
Oynatıcı swf dosyasının URL'si, karma/boyutu otomatik olarak hesaplayın.
rtmp_tcurl
Hedef akışın URL'si. Varsayılan olarak proto://host[:port]/app şeklindedir.
Örneğin ile okumak için ffplay uygulamadan "örnek" adlı bir multimedya kaynağı
"myserver" RTMP sunucusundan "vod":
ffplay rtmp://sunucum/vod/örnek
Oynatma yolunu ve uygulama adlarını ayrı ayrı ileterek parola korumalı bir sunucuya yayınlamak için:
ffmpeg -re -i -f flv -rtmp_playpath bazı/uzun/yol -rtmp_app uzun/uygulama/adı rtmp://username:password@myserver/
rtmp
Şifreli Gerçek Zamanlı Mesajlaşma Protokolü.
Şifreli Gerçek Zamanlı Mesajlaşma Protokolü (RTMPE), multimedya akışı için kullanılır
Diffie-Hellman anahtarından oluşan standart şifreleme ilkelleri içindeki içerik
exchange ve HMACSHA256, bir çift RC4 anahtarı oluşturur.
rtmp'ler
Güvenli bir SSL bağlantısı üzerinden Gerçek Zamanlı Mesajlaşma Protokolü.
Gerçek Zamanlı Mesajlaşma Protokolü (RTMPS), çoklu ortam içeriği akışı için kullanılır.
şifreli bir bağlantı.
rtmpt
HTTP üzerinden tünellenmiş Gerçek Zamanlı Mesajlaşma Protokolü.
HTTP (RTMPT) üzerinden tünellenen Gerçek Zamanlı Mesajlaşma Protokolü, akış için kullanılır
güvenlik duvarlarını geçmek için HTTP istekleri içindeki multimedya içeriği.
rtmpte
HTTP aracılığıyla tünellenmiş Şifreli Gerçek Zamanlı Mesajlaşma Protokolü.
HTTP (RTMPTE) üzerinden tünellenen Şifreli Gerçek Zamanlı Mesajlaşma Protokolü, aşağıdakiler için kullanılır:
güvenlik duvarlarını geçmek için HTTP istekleri içinde multimedya içeriği akışı.
rtmpt'ler
HTTPS üzerinden tünellenen Gerçek Zamanlı Mesajlaşma Protokolü.
Akış için HTTPS (RTMPTS) üzerinden tünellenen Gerçek Zamanlı Mesajlaşma Protokolü kullanılır
güvenlik duvarlarını geçmek için HTTPS istekleri içindeki multimedya içeriği.
libsmbclient
libsmbclient, birinin CIFS/SMB ağ kaynaklarını değiştirmesine izin verir.
Aşağıdaki sözdizimi gereklidir.
smb://[[alan:]kullanıcı[:şifre@]]sunucu[/paylaşım[/yol[/dosya]]]
Bu protokol aşağıdaki seçenekleri kabul eder.
zaman aşımı
Altta yatan düşük seviye tarafından kullanılan soket G/Ç işlemlerinin milisaniye cinsinden zaman aşımını ayarlayın
operasyon. Varsayılan olarak -1'e ayarlanmıştır, bu da zaman aşımının belirtilmediği anlamına gelir.
kesmek
1 olarak ayarlanmışsa, yazma sırasında mevcut dosyaları kısaltın. 0 değeri, kesmeyi önler.
Varsayılan değer 1'dir.
çalışma grubu
Bağlantı yapmak için kullanılan çalışma grubunu ayarlayın. Varsayılan olarak çalışma grubu belirtilmemiştir.
Daha fazla bilgi için, bkz:http://www.samba.org/>.
kitap
libssh aracılığıyla Güvenli Dosya Aktarım Protokolü
SFTP protokolünü kullanarak uzak kaynaklardan okuyun veya uzak kaynaklara yazın.
Aşağıdaki sözdizimi gereklidir.
sftp://[kullanıcı[:parola]@]sunucu[:port]/path/to/remote/resource.mpeg
Bu protokol aşağıdaki seçenekleri kabul eder.
zaman aşımı
Temeldeki düşük seviyeli işlem tarafından kullanılan soket G/Ç işlemlerinin zaman aşımını ayarlayın. İle
varsayılan olarak -1'e ayarlanmıştır, bu da zaman aşımının belirtilmediği anlamına gelir.
kesmek
1 olarak ayarlanmışsa, yazma sırasında mevcut dosyaları kısaltın. 0 değeri, kesmeyi önler.
Varsayılan değer 1'dir.
Özel anahtar
Yetkilendirme sırasında kullanılacak özel anahtarı içeren dosyanın yolunu belirtin. İle
varsayılan libssh, içindeki anahtarları arar. ~ / .ssh / dizin.
Örnek: Uzak sunucuda depolanan bir dosyayı oynatın.
ffplaysftp://kullanıcı:password@sunucu_adresi:22/home/user/resource.mpeg
librtmp rtmp, rtmp, rtmp'ler, rtmpt, rtmpte
Gerçek Zamanlı Mesajlaşma Protokolü ve librtmp aracılığıyla desteklenen türevleri.
Yapılandırma sırasında librtmp başlıklarının ve kitaplığının bulunmasını gerektirir. Gerek
yapıyı "--enable-librtmp" ile açıkça yapılandırın. Etkinleştirilirse, bu,
yerel RTMP protokolü.
Bu protokol, istemci işlevlerinin çoğunu ve desteklemek için gereken birkaç sunucu işlevini sağlar.
RTMP, HTTP'de tünellenmiş RTMP (RTMPT), şifreli RTMP (RTMPE), SSL/TLS üzerinden RTMP (RTMPS) ve
bu şifreli türlerin tünelli varyantları (RTMPTE, RTMPTS).
Gerekli sözdizimi:
:// [: ][/ ][/ ]
nerede rtmp_proto "rtmp", "rtmpt", "rtmpe", "rtmps", "rtmpte" dizelerinden biridir,
her RTMP varyantına karşılık gelen "rtmpts" ve sunucu, Liman, uygulamayı yükleyeceğiz ve oyun yolu sahip
RTMP yerel protokolü için belirtilenle aynı anlama gelir. seçenekleri bir boşluk listesi içerir-
formun ayrılmış seçenekleri anahtar=val.
Daha fazla bilgi için librtmp kılavuz sayfasına (man 3 librtmp) bakın.
Örneğin, bir dosyayı gerçek zamanlı olarak kullanarak bir RTMP sunucusuna aktarmak için ffmpeg:
ffmpeg -re -i dosyam -f flv rtmp://myserver/live/mystream
kullanarak aynı akışı oynatmak için ffplay:
ffplay "rtmp://myserver/live/mystream live=1"
rtp
Gerçek Zamanlı Taşıma Protokolü.
Bir RTP URL'si için gerekli sözdizimi: rtp://hostname[:Liman][?seçenek=val...]
Liman kullanılacak RTP bağlantı noktasını belirtir.
Aşağıdaki URL seçenekleri desteklenir:
tt=n
TTL (Yaşama Süresi) değerini ayarlayın (yalnızca çok noktaya yayın için).
rtcpport=n
Uzak RTCP bağlantı noktasını şu şekilde ayarlayın: n.
yerelrtpport=n
Yerel RTP bağlantı noktasını şu şekilde ayarlayın: n.
yerelrtcpport=n'
Yerel RTCP bağlantı noktasını şu şekilde ayarlayın: n.
pkt_size=n
Maksimum paket boyutunu (bayt cinsinden) olarak ayarlayın n.
bağlan=0|1
UDP soketinde bir "connect()" yapın (1'e ayarlanmışsa) veya (0'a ayarlanmışsa) yapmayın.
kaynaklar=ip[,ip]
İzin verilen kaynak IP adreslerini listeleyin.
blok=ip[,ip]
İzin verilmeyen (engellenen) kaynak IP adreslerini listeleyin.
write_to_source=0|1
Paketleri en son alınan paketin kaynak adresine (1'e ayarlanmışsa) veya bir
varsayılan uzak adres (0'a ayarlanmışsa).
yerel bağlantı noktası=n
Yerel RTP bağlantı noktasını şu şekilde ayarlayın: n.
Bu, kullanımdan kaldırılmış bir seçenektir. Bunun yerine, yerel rtpport kullanılmalıdır.
Önemli notlar:
1. Eğer rtcpport RTCP bağlantı noktası, RTP bağlantı noktası değeri artı 1'e ayarlanacaktır.
2. Eğer yerel rtpport (yerel RTP bağlantı noktası) ayarlanmadıysa, kullanılabilir herhangi bir bağlantı noktası için kullanılacaktır.
yerel RTP ve RTCP bağlantı noktaları.
3. Eğer yerelrtcpport (yerel RTCP bağlantı noktası) ayarlanmadıysa, yerel RTP bağlantı noktasına ayarlanacaktır.
değer artı 1.
rtsp
Gerçek Zamanlı Akış Protokolü.
RTSP teknik olarak libavformat'ta bir protokol işleyicisi değildir, bir demuxer ve muxer'dır. bu
demuxer hem normal RTSP'yi destekler (RTP üzerinden aktarılan verilerle; bu, örn.
Apple ve Microsoft) ve Real-RTSP (RDT üzerinden aktarılan verilerle).
Muxer, onu destekleyen bir sunucuya RTSP DUYURUsunu kullanarak bir akış göndermek için kullanılabilir.
(şu anda Darwin Streaming Server ve Mischa Spiegelmock's
<https://github.com/revmischa/rtsp-server>).
Bir RTSP url'si için gerekli sözdizimi şöyledir:
rtsp:// [: ]/
Seçenekler üzerinde ayarlanabilir ffmpeg/ffplay komut satırında veya "AVOption"lar aracılığıyla kodda veya
"avformat_open_input".
Aşağıdaki seçenekler desteklenir.
başlangıç_duraklatma
1 olarak ayarlanmışsa akışı hemen oynatmaya başlamayın. Varsayılan değer 0'dır.
rtsp_transport
RTSP aktarım protokollerini ayarlayın.
Aşağıdaki değerleri kabul eder:
udp UDP'yi alt aktarım protokolü olarak kullanın.
tcp Alt aktarım olarak TCP'yi (RTSP kontrol kanalı içinde serpiştirme) kullanın
protokol.
udp_multicast
Alt aktarım protokolü olarak UDP çok noktaya yayın kullanın.
http
Geçmek için yararlı olan daha düşük aktarım protokolü olarak HTTP tünelini kullanın
vekiller.
Birden çok alt aktarım protokolü belirtilebilir, bu durumda bir tanesi denenir.
bir seferde (birinin kurulumu başarısız olursa, bir sonraki denenir). Muxer için sadece
tcp ve udp seçenekler desteklenir.
rtsp_flags
RTSP bayraklarını ayarlayın.
Aşağıdaki değerler kabul edilir:
filtre_src
Yalnızca anlaşmalı eş adres ve bağlantı noktasından gelen paketleri kabul edin.
dinlemek
Gelen bir bağlantıyı dinleyerek bir sunucu gibi davranın.
tercih_tcp
TCP, RTSP RTP aktarımı olarak kullanılabiliyorsa, önce RTP aktarımı için TCP'yi deneyin.
Varsayılan değer Yok.
allow_media_types
Sunucudan kabul edilecek ortam türlerini ayarlayın.
Aşağıdaki bayraklar kabul edilir:
video
ses
veri
Varsayılan olarak tüm medya türlerini kabul eder.
min_port
Minimum yerel UDP bağlantı noktasını ayarlayın. Varsayılan değer 5000'dir.
maksimum_port
Maksimum yerel UDP bağlantı noktasını ayarlayın. Varsayılan değer 65000'dir.
zaman aşımı
Gelen bağlantıları beklemek için maksimum zaman aşımını (saniye cinsinden) ayarlayın.
-1 değeri sonsuz (varsayılan) anlamına gelir. Bu seçenek şu anlama gelir: rtsp_flags ayarlandığında
dinlemek.
reorder_queue_size
Yeniden sıralanan paketlerin işlenmesi için arabelleğe alınacak paket sayısını ayarlayın.
zaman aşımı
Soket TCP G/Ç zaman aşımını mikrosaniye cinsinden ayarlayın.
kullanıcı aracısı
User-Agent başlığını geçersiz kıl. Belirtilmezse, varsayılan olarak libavformat olur
tanımlayıcı dize.
UDP üzerinden veri alırken, ayrıştırıcı alınan paketleri yeniden sıralamaya çalışır (çünkü bunlar
bozuk gelebilir veya paketler tamamen kaybolabilir). Bu ayarlanarak devre dışı bırakılabilir
sıfıra kadar maksimum demuxing gecikmesi (AVFormatContext'in "max_delay" alanı aracılığıyla).
ile çoklu bit hızlı Real-RTSP akışlarını izlerken ffplay, görüntülenecek akışlar
"-vst" ile seçilmiş n ve "-ast" n sırasıyla video ve ses için ve açılabilir
"v" ve "a" tuşlarına basarak sinek.
Örnekler
Aşağıdaki örneklerin tümü ffplay ve ffmpeg araç sağlar.
· Maksimum yeniden sıralama gecikmesi 0.5 saniye olan UDP üzerinden bir akış izleyin:
ffplay -max_delay 500000 -rtsp_transport udp rtsp://sunucu/video.mp4
· HTTP üzerinden tünellenmiş bir akışı izleyin:
ffplay -rtsp_transport http rtsp://sunucu/video.mp4
· Başkalarının izlemesi için bir akışı gerçek zamanlı olarak bir RTSP sunucusuna gönderin:
ffmpeg -re -i -f rtsp -muxdelay 0.1 rtsp://sunucu/live.sdp
· Gerçek zamanlı olarak bir akış alın:
ffmpeg -rtsp_flags dinle -i rtsp://ownaddress/live.sdp
özsu
Oturum Duyuru Protokolü (RFC 2974). Bu teknik olarak bir protokol işleyicisi değildir.
libavformat, bir muxer ve demuxer'dır. RTP akışlarının sinyallenmesi için kullanılır.
akışlar için SDP'nin ayrı bir bağlantı noktasında düzenli olarak duyurulması.
muxer
Muxer'a verilen bir SAP url'sinin sözdizimi şöyledir:
sap:// [: ][? ]
RTP paketleri şu adrese gönderilir: hedef limanda Limanveya bağlantı noktası yoksa 5004 numaralı bağlantı noktasına
belirtildi. seçenekleri "&" ile ayrılmış bir listedir. Aşağıdaki seçenekler desteklenir:
duyuru_addr=adres
Duyuruların gönderileceği hedef IP adresini belirtin. atlanırsa,
duyurular yaygın olarak kullanılan SAP duyuru çok noktaya yayın adresine gönderilir
224.2.127.254 (sap.mcast.net) veya ff0e::2:7ffe ise hedef bir IPv6 adresidir.
duyuru_port=Liman
Duyuruların gönderileceği bağlantı noktasını belirtin, belirtilmemişse varsayılan olarak 9875'tir.
tt=ttl
Duyurular ve RTP paketleri için yaşam süresi değerini belirtin, varsayılan değer 255'tir.
aynı_port=0 | 1
1 olarak ayarlanırsa, aynı bağlantı noktası çiftindeki tüm RTP akışlarını gönderin. Sıfırsa (varsayılan), tümü
akışlar benzersiz bağlantı noktalarında gönderilir, her akış, bağlantı noktasından 2 numara daha yüksek
öncesi. VLC/Live555, akışı alabilmek için bunun 1 olarak ayarlanmasını gerektirir.
Alma için libav biçimindeki RTP yığını, tüm akışların benzersiz bir şekilde gönderilmesini gerektirir.
bağlantı noktaları.
Örnek komut satırları takip eder.
VLC'de izlemek üzere yerel alt ağda bir akış yayınlamak için:
ffmpeg -re -i -f öz sap://224.0.0.255?same_port=1
Benzer şekilde, izlemek için ffplay:
ffmpeg -re -i -f özsuyu://224.0.0.255
Ve izlemek için ffplay, IPv6 üzerinden:
ffmpeg -re -i -f özsuyu:://[ff0e::1:2:3:4]
Demuxer
Demuxer'a verilen bir SAP url'sinin sözdizimi şöyledir:
öz: //[ ][: ]
adres atlanırsa varsayılan olarak duyuruları dinlemek için çok noktaya yayın adresidir.
224.2.127.254 (sap.mcast.net) kullanılır. Liman dinlenen bağlantı noktası, 9875 ise
atlanmış.
Demuxer'lar, verilen adres ve bağlantı noktasındaki duyuruları dinler. bir kez
duyuru alındığında, o belirli akışı almaya çalışır.
Örnek komut satırları takip eder.
Normal SAP çok noktaya yayın adresinde duyurulan ilk akışı oynatmak için:
ffplay sap://
Bir varsayılan IPv6 SAP çok noktaya yayın adresinde duyurulan ilk akışı oynatmak için:
ffplay öz://[ff0e::2:7ffe]
sctp
Akış Kontrolü İletim Protokolü.
Kabul edilen URL sözdizimi:
sctp:// : [? ]
Protokol aşağıdaki seçenekleri kabul eder:
dinlemek
Herhangi bir değere ayarlanmışsa, gelen bağlantıyı dinleyin. Giden bağlantı tarafından yapılır
Varsayılan.
max_streams
Maksimum akış sayısını ayarlayın. Varsayılan olarak herhangi bir sınır belirlenmemiştir.
srtp
Güvenli Gerçek Zamanlı Aktarım Protokolü.
Kabul edilen seçenekler şunlardır:
srtp_in_suite
srtp_out_suite
Giriş ve çıkış kodlama takımlarını seçin.
Desteklenen değerler:
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
Base64 ile kodlanmış bir kodla ifade edilen giriş ve çıkış kodlama parametrelerini ayarlayın.
bir ikili bloğun temsili. Bu ikili bloğun ilk 16 baytı şu şekilde kullanılır:
ana anahtar, aşağıdaki 14 bayt ana tuz olarak kullanılır.
alt dosya
Bir dosyanın veya başka bir akışın bir bölümünü sanal olarak çıkarın. Temel akış olmalıdır
aranabilir.
Kabul edilen seçenekler:
başlama
Ayıklanan segmentin bayt cinsinden başlangıç ofseti.
son Ayıklanan segmentin bayt cinsinden bitiş ofseti.
Örnekler:
Bir DVD VOB dosyasından bir bölüm çıkarın (harici olarak elde edilen başlangıç ve bitiş sektörleri ve
2048 ile çarpılır):
alt dosya,,start,153391104,end,268142592,,:/media/dvd/VIDEO_TS/VTS_08_1.VOB
Bir AVI dosyasını doğrudan bir TAR arşivinden oynatın:
alt dosya ,,start,183241728,end,366490624,:archive.tar
tcp
Geçiş kontrol protokolü.
Bir TCP url'si için gerekli sözdizimi şöyledir:
tcp:// : [? ]
seçenekleri formun &-ayrılmış seçeneklerinin bir listesini içerir anahtar=val.
Desteklenen seçeneklerin listesi aşağıdadır.
dinle=1 | 0
Gelen bir bağlantıyı dinleyin. Varsayılan değer 0'dır.
zaman aşımı=mikrosaniye
Mikrosaniye cinsinden ifade edilen yükseltme hatası zaman aşımını ayarlayın.
Bu seçenek yalnızca okuma modunda geçerlidir: bu süreden daha fazla veri gelmemişse
aralık, yükseltme hatası.
dinle_zaman aşımı=milisaniye
Milisaniye cinsinden ifade edilen dinleme zaman aşımını ayarlayın.
Aşağıdaki örnek, bir dinleme TCP bağlantısının nasıl kurulacağını gösterir. ffmpeg, Olduğu bir
daha sonra ile erişildi ffplay:
ffmpeg -i -F tcp:// : ?dinlemek
ffplay tcp:// :
tls
Taşıma Katmanı Güvenliği (TLS) / Güvenli Yuva Katmanı (SSL)
TLS/SSL url'si için gerekli sözdizimi şöyledir:
tls:// : [? ]
Aşağıdaki parametreler komut satırı seçenekleriyle (veya "AVOption"lar aracılığıyla kodda) ayarlanabilir:
ca_dosyası, kafe=Dosya
Güvenilir olarak kabul edilecek sertifika yetkilisi (CA) kök sertifikalarını içeren bir dosya. Eğer
bağlantılı TLS kitaplığı, bunun için belirtilmesi gerekmeyebilecek bir varsayılan içeriyor
doğrulamanın çalışması için çalışır, ancak tüm kitaplıkların ve kurulumların yerleşik varsayılanları yoktur.
dosya OpenSSL PEM formatında olmalıdır.
tls_verify=1 | 0
Etkinleştirilirse, iletişim kurduğumuz eşi doğrulamayı deneyin. Not, kullanıyorsanız
OpenSSL, bu şu anda yalnızca eş sertifikanın aşağıdakilerden biri tarafından imzalandığından emin olur.
CA veritabanındaki kök sertifikalar, ancak
sertifika aslında bağlanmaya çalıştığımız ana bilgisayar adıyla eşleşiyor. (GnuTLS ile,
ana bilgisayar adı da doğrulanır.)
tarafından sağlanacak bir CA veritabanı gerektirdiğinden bu varsayılan olarak devre dışıdır.
birçok durumda arayan.
sertifika_dosyası, sertifika=Dosya
Eş ile el sıkışmada kullanılacak bir sertifika içeren bir dosya. (Ne zaman
sunucu olarak çalışırken, dinleme modunda bu daha çok eş tarafından istenirken,
istemci sertifikaları yalnızca belirli kurulumlarda zorunludur.)
Anahtar dosya, anahtar =Dosya
Sertifikanın özel anahtarını içeren bir dosya.
dinle=1 | 0
Etkinleştirilirse, sağlanan bağlantı noktasındaki bağlantıları dinleyin ve sunucu rolünü üstlenin.
müşteri rolü yerine el sıkışma.
Örnek komut satırları:
Giriş akışına hizmet eden bir TLS/SSL sunucusu oluşturmak için.
ffmpeg -i -F tls:// : ?dinle&sertifika= &anahtar=
TLS/SSL sunucusundan bir akışı oynatmak için ffplay:
ffplay tls:// :
udp
Kullanıcı Datagram Protokolü.
Bir UDP URL'si için gerekli sözdizimi şöyledir:
udp:// : [? ]
seçenekleri formun &-ayrılmış seçeneklerinin bir listesini içerir anahtar=val.
Sistemde diş açmanın etkinleştirilmesi durumunda, verileri depolamak için dairesel bir tampon kullanılır.
UDP soket arabellek taşmaları nedeniyle veri kaybını azaltmaya izin veren gelen veriler.
The fifo_size ve overrun_nonfatal seçenekler bu arabellekle ilgilidir.
Desteklenen seçeneklerin listesi aşağıdadır.
tampon_size=boyut
UDP maksimum yuva arabellek boyutunu bayt olarak ayarlayın. Bu, aşağıdakilerden birini ayarlamak için kullanılır:
soketin ne için kullanıldığına bağlı olarak arabellek boyutunu alır veya gönderir. Varsayılan
64KB. Ayrıca bakınız fifo_size.
yerel bağlantı noktası=Liman
Bağlanacak yerel UDP bağlantı noktasını geçersiz kılın.
yereladdr=adr
Yerel IP adresini seçin. Bu, örneğin çok noktaya yayın gönderiliyorsa ve ana bilgisayar
kullanıcının hangi arayüzü göndereceğini seçebileceği çoklu arayüzler
o arayüzün IP adresini belirterek.
pkt_size=boyut
UDP paketlerinin bayt cinsinden boyutunu ayarlayın.
yeniden kullanım=1 | 0
UDP soketlerinin yeniden kullanılmasına açıkça izin verin veya izin vermeyin.
tt=ttl
Canlı değer için zamanı ayarlayın (yalnızca çok noktaya yayın için).
bağlanmak=1 | 0
UDP soketini "connect()" ile başlatın. Bu durumda hedef adres
daha sonra ff_udp_set_remote_url ile değiştirilemez. Hedef adres değilse
başlangıçta bilinen bu seçenek, ff_udp_set_remote_url içinde de belirtilebilir. Bu
getockname ile paketlerin kaynak adresini bulmayı sağlar ve
"hedefe ulaşılamaz" alındığında AVERROR(ECONNREFUSED) ile dönüş yazar.
Alma için bu, yalnızca belirtilen paketlerden alma avantajı sağlar.
eş adres/port.
kaynaklar=adres[,adres]
Yalnızca belirtilen gönderici IP'lerinden birinden çok noktaya yayın grubuna gönderilen paketleri alın
adresleri.
blok=adres[,adres]
Belirtilen gönderici IP adreslerinden çok noktaya yayın grubuna gönderilen paketleri yoksayın.
fifo_size=birimleri
UDP alıcı dairesel arabellek boyutunu ayarlayın, boyutu olan paket sayısı olarak ifade edilir.
188 bayt. Belirtilmemişse varsayılan olarak 7*4096'dır.
overrun_nonfatal=1 | 0
UDP'nin dairesel arabellek taşması alması durumunda hayatta kalın. Varsayılan değer 0'dır.
zaman aşımı=mikrosaniye
Mikrosaniye cinsinden ifade edilen yükseltme hatası zaman aşımını ayarlayın.
Bu seçenek yalnızca okuma modunda geçerlidir: bu süreden daha fazla veri gelmemişse
aralık, yükseltme hatası.
yayın=1 | 0
UDP yayınına açıkça izin verin veya izin vermeyin.
Yayın fırtınası olan ağlarda yayının düzgün çalışmayabileceğini unutmayın.
koruma.
Örnekler
· Kullanmak ffmpeg UDP üzerinden uzak bir uç noktaya akış yapmak için:
ffmpeg -i -F udp:// :
· Kullanmak ffmpeg kullanarak, 188 boyutlu UDP paketleri kullanarak UDP üzerinden mpegts formatında akış yapmak için
büyük giriş arabelleği:
ffmpeg -i -f mpegts udp:// : ?pkt_size=188&buffer_size=65535
· Kullanmak ffmpeg uzak bir uç noktadan UDP üzerinden almak için:
ffmpeg -i udp://[ ]: ...
unix
Unix yerel soket
Bir Unix soket URL'si için gerekli sözdizimi şöyledir:
unix://
Aşağıdaki parametreler komut satırı seçenekleriyle (veya "AVOption"lar aracılığıyla kodda) ayarlanabilir:
zaman aşımı
ms cinsinden zaman aşımı
dinlemek
Unix soketini dinleme modunda oluşturun.
onworks.net hizmetlerini kullanarak çevrimiçi ffmpeg protokollerini kullanın