EngelsFransSpaans

Ad


OnWorks-favicon

ffserver - Online in de cloud

Voer ffserver uit in de gratis hostingprovider van OnWorks via Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator

Dit is de opdracht ffserver die kan worden uitgevoerd in de gratis hostingprovider van OnWorks met behulp van een van onze meerdere gratis online werkstations zoals Ubuntu Online, Fedora Online, Windows online-emulator of MAC OS online-emulator

PROGRAMMA:

NAAM


ffserver - ffserver videoserver

KORTE INHOUD


ffserver [opties]

PRODUCTBESCHRIJVING


ffserver is een streaming server voor zowel audio als video. Het ondersteunt verschillende live feeds,
streamen van bestanden en timeshiften op live feeds. U kunt zoeken naar posities in de
verleden op elke live feed, op voorwaarde dat u een voldoende grote feedopslag opgeeft.

ffserver wordt geconfigureerd via een configuratiebestand, dat wordt gelezen bij het opstarten. Als niet
expliciet gespecificeerd, zal het lezen van /etc/ffserver.conf.

ffserver ontvangt van sommigen vooraf opgenomen bestanden of FFM-streams ffmpeg bijvoorbeeld als invoer,
streamt ze vervolgens via RTP/RTSP/HTTP.

An ffserver instantie zal op een bepaalde poort luisteren, zoals gespecificeerd in het configuratiebestand. Jij
kan een of meer exemplaren van starten ffmpeg en stuur een of meer FFM-streams naar de haven
waar ffserver ze verwacht te ontvangen. Als alternatief kunt u maken ffserver lancering
dergelijk ffmpeg gevallen bij het opstarten.

Inputstromen worden feeds genoemd en elke stream wordt gespecificeerd door een " " sectie in de
configuratiebestand.

Voor elke feed kunt u verschillende uitvoerstromen in verschillende formaten hebben, elk gespecificeerd
door een " " in het configuratiebestand.

GEDETAILLEERD PRODUCTBESCHRIJVING


ffserver werkt door streams door te sturen die zijn gecodeerd door ffmpeg, of vooraf opgenomen streams die dat wel zijn
lezen van schijf.

Precies, ffserver fungeert als een HTTP-server en accepteert POST-verzoeken van ffmpeg verwerven
de stream die moet worden gepubliceerd en RTSP-clients of HTTP-clients GET-verzoeken bedienen met de
media-inhoud streamen.

Een voer is een FFM stroom gemaakt door ffmpeg, en verzonden naar een haven waar ffserver luistert.

Elke feed wordt geïdentificeerd door een unieke naam, die overeenkomt met de naam van de bron
gepubliceerd op ffserver, en wordt geconfigureerd door een speciale "Feed"-sectie in de
configuratiebestand.

De URL voor het publiceren van de feed wordt gegeven door:

http://<ffserver_ip_address>:<http_port>/<feed_name>

WAAR ffserver_ip_adres is het IP-adres van de machine waar ffserver is geinstalleerd,
http_poort is het poortnummer van de HTTP-server (geconfigureerd via de HTTP-poort optie),
en feednaam is de naam van de corresponderende feed die is gedefinieerd in het configuratiebestand.

Elke feed is gekoppeld aan een bestand dat op schijf is opgeslagen. Dit opgeslagen bestand wordt gebruikt om
stuur vooraf opgenomen gegevens zo snel mogelijk naar een speler wanneer nieuwe inhoud in het echt wordt toegevoegd
tijd naar de stroom.

Een "live-stream" of "stream" is een bron gepubliceerd door ffserver, en toegankelijk gemaakt
via het HTTP-protocol naar clients.

Een stream kan worden gekoppeld aan een feed of aan een bestand. In het eerste geval de gepubliceerde stream
wordt doorgestuurd vanuit de overeenkomstige feed die is gegenereerd door een lopende instantie van ffmpeg, in de
in het tweede geval wordt de stream uit een vooraf opgenomen bestand gelezen.

Elke stream wordt geïdentificeerd door een unieke naam, die overeenkomt met de naam van de bron
bediend door ffserver, en wordt geconfigureerd door een speciale sectie "Stream" in de configuratie
bestand.

De HTTP-URL voor streamtoegang wordt gegeven door:

http://<ffserver_ip_address>:<http_port>/<stream_name>[<options>]

De RTSP-URL voor streamtoegang wordt gegeven door:

http://<ffserver_ip_address>:<rtsp_port>/<stream_name>[<options>]

stroom_naam is de naam van de corresponderende stream die is gedefinieerd in het configuratiebestand.
opties is een lijst met opties gespecificeerd na de URL die van invloed zijn op hoe de stream is
bediend door ffserver. http_poort en rtsp_poort zijn de HTTP- en RTSP-poorten waarmee is geconfigureerd
de opties HTTP-poort en RTSP-poort respectievelijk.

Als de stream is gekoppeld aan een feed, moeten de coderingsparameters worden geconfigureerd in
de streamconfiguratie. Ze worden gestuurd naar ffmpeg bij het instellen van de codering. Dit
toestaat ffserver om de coderingsparameters te definiëren die worden gebruikt door de ffmpeg encoders.

De ffmpeg override_ffserver Met de opdrachtregeloptie kan men de codering overschrijven
parameters ingesteld door de server.

Er kunnen meerdere streams op dezelfde feed worden aangesloten.

U kunt bijvoorbeeld een situatie hebben die wordt beschreven door de volgende grafiek:

__________ __________
| | | |
ffmpeg 1 -----| voer 1 |-----| stroom 1 |
\ |________|\ |__________|

\ \ __________
\ \ | |
\ \| stroom 2 |
\ |__________|
\
\ _________ __________
\ | | | |
\| voer 2 |-----| stroom 3 |
|__________| |__________|

__________ __________
| | | |
ffmpeg 2 -----| voer 3 |-----| stroom 4 |
|__________| |__________|

__________ __________
| | | |
| bestand 1 |-----| stroom 5 |
|__________| |__________|

FFM, FFM2 formaten
FFM en FFM2 zijn formaten die worden gebruikt door ffserver. Ze maken het opslaan van een breed scala aan video- en
audiostreams en coderingsopties, en kan een bewegend tijdsegment van oneindig opslaan
film of een hele film.

FFM is versiespecifiek en er is beperkte compatibiliteit van FFM-bestanden die door één worden gegenereerd
versie van ffmpeg/ffserver en een andere versie van ffmpeg/ffserver. Het kan werken, maar het is
werkt niet gegarandeerd.

FFM2 is uitbreidbaar met behoud van compatibiliteit en zou moeten werken tussen verschillende
versies van gereedschappen. FFM2 is de standaardinstelling.

Status stream
ffserver ondersteunt een HTTP-interface die de huidige status van de server weergeeft.

Richt uw browser gewoon op het adres van de speciale statusstream die is opgegeven in de
configuratiebestand.

Als je bijvoorbeeld hebt:


Formaatstatus

# Laat alleen lokale mensen de status krijgen
ACL staat localhost toe
ACL staat 192.168.0.0 192.168.255.255 toe


dan zal de server een pagina plaatsen met de statusinformatie wanneer de speciale stream
status.html is verzocht.

Hoe do I maken it werken?
Voer als eenvoudige test de volgende twee opdrachtregels uit, waarbij INPUTFILE een bestand is
die je kunt decoderen met ffmpeg:

ffserver -f doc/ffserver.conf &
ffmpeg -i INPUTBESTAND http://localhost:8090/feed1.ffm

Op dit punt zou u naar uw Windows-machine moeten kunnen gaan en Windows Media kunnen starten
Speler (WMP). Ga naar URL openen en voer in

http://<linuxbox>:8090/test.asf

U zou (na een korte vertraging) video moeten zien en audio horen.

WAARSCHUWING: proberen om test1.mpg te streamen werkt niet met WMP omdat het probeert om het
hele bestand voordat u begint met afspelen. Hetzelfde geldt voor AVI-bestanden.

Je zou de moeten bewerken ffserver.conf bestand om aan uw behoeften te voldoen (in termen van framesnelheden, enz.).
Installeer dan ffserver en ffmpeg, schrijf een script om ze op te starten, en daar ga je.

Wat anders wel it do?
U kunt video afspelen van .ffm-bestanden die eerder zijn opgenomen. Er zijn echter een
aantal kanttekeningen, waaronder het feit dat de ffserver-parameters overeen moeten komen met het origineel
parameters die worden gebruikt om het bestand op te nemen. Als dat niet het geval is, verwijdert ffserver het bestand eerder
opnemen erin. (Nu ik dit schrijf, lijkt het gebroken).

Je kunt spelen met veel van de codec-keuzes en coderingsparameters, en er zijn een
bos meer parameters die u niet kunt controleren. Plaats een bericht op de mailinglijst als die er is
zijn enkele 'must have'-parameters. Kijk in ffserver.conf voor een lijst van de momenteel
beschikbare controles.

Het genereert automatisch de ASX- of RAM-bestanden die vaak in browsers worden gebruikt. Deze
bestanden zijn eigenlijk omleidingen naar het onderliggende ASF- of RM-bestand. De reden hiervoor is
dat de browser vaak het hele bestand ophaalt voordat de externe viewer wordt opgestart. De
omleidingsbestanden zijn erg klein en kunnen snel worden overgedragen. [De stroom zelf is
vaak 'oneindig' en dus probeert de browser het te downloaden en wordt het nooit voltooid.]

Tips
* Wanneer u verbinding maakt met een livestream, willen de meeste spelers (WMP, RA, enz.) Een bepaalde buffer bufferen
aantal seconden materiaal zodat ze het signaal continu kunnen weergeven. Echter,
ffserver (standaard) begint met het in realtime verzenden van gegevens. Dit betekent dat er een pauze van is
een paar seconden terwijl de speler buffert. Het goede nieuws is dat dit
kan worden verholpen door een '?buffer=5' toe te voegen aan het einde van de URL. Dit betekent dat de stroom
zou 5 seconden in het verleden moeten beginnen - en dus worden de eerste 5 seconden van de stream verzonden als
snel als het netwerk toelaat. Het zal dan vertragen tot real-time. Dit merkbaar
verbetert de opstartervaring.

U kunt ook een 'Preroll 15'-instructie toevoegen aan ffserver.conf die de 15 zal toevoegen
tweede prebuffering op alle verzoeken die anders geen tijd specificeren. In aanvulling,
ffserver zal frames overslaan totdat een key_frame is gevonden. Dit vermindert het opstarten nog verder
vertragen door geen gegevens over te dragen die worden weggegooid.

Waarom doet de ?buffer / voorrollen stoppen werkzaam na a tijd?
Het blijkt dat (tenminste op mijn machine) het aantal frames dat met succes is gepakt, is
iets minder dan het aantal dat zou moeten worden gepakt. Dit betekent dat de tijdstempel in
de gecodeerde datastroom raakt realtime achter. Dit betekent dat als je 'Preroll 10' zegt,
wanneer de stream 10 seconden of meer achterloopt, is er geen preroll meer.

Om dit op te lossen, is een verandering nodig in de manier waarop tijdstempels worden behandeld.

Doet de "?datum=" spul werken.
Ja (behoudens de hierboven beschreven beperking). Merk ook op dat wanneer u begint
ffserver, het verwijdert het ffm-bestand (als er parameters zijn gewijzigd), waardoor wat wordt weggevaagd
je eerder had opgenomen.

Het formaat van de "?date=x" is redelijk flexibel. U moet een van de volgende gebruiken:
formaten (de 'T' is letterlijk):

* JJJJ-MM-DDTUU:MM:SS (lokale tijd)
* JJJJ-MM-DDTUU:MM:SSZ (UTC)

U kunt JJJJ-MM-DD weglaten, dan verwijst het naar de huidige dag. Merk echter op dat
?datum=16:00:00 verwijst naar 16:00 uur op de huidige dag -- dit kan in de toekomst zijn en dat is ook zo
waarschijnlijk niet nuttig.

U gebruikt dit door de ?date= toe te voegen aan het einde van de URL voor de stream. Bijvoorbeeld:
http://localhost:8080/test.asf?date=2002-07-26T23:05:00.

OPTIES


Alle numerieke opties accepteren, tenzij anders gespecificeerd, een tekenreeks die een vertegenwoordigt
nummer als invoer, dat kan worden gevolgd door een van de SI-eenheidsvoorvoegsels, bijvoorbeeld: 'K',
'M' of 'G'.

Als 'i' wordt toegevoegd aan het voorvoegsel van de SI-eenheid, wordt het volledige voorvoegsel geïnterpreteerd als a
eenheidsvoorvoegsel voor binaire veelvouden, die zijn gebaseerd op machten van 1024 in plaats van machten van
1000. Door 'B' toe te voegen aan het voorvoegsel van de SI-eenheid, wordt de waarde vermenigvuldigd met 8. Dit maakt het gebruik van,
bijvoorbeeld: 'KB', 'MiB', 'G' en 'B' als nummerachtervoegsels.

Opties die geen argumenten accepteren, zijn booleaanse opties en stellen de overeenkomstige waarde in
naar waar. Ze kunnen worden ingesteld op false door de naam van de optie te laten voorafgaan door "no". Bijvoorbeeld
het gebruik van "-nofoo" zal de booleaanse optie met de naam "foo" instellen op false.

Stroom bestekschrijvers
Sommige opties worden per stream toegepast, bijvoorbeeld bitrate of codec. Streamspecificaties zijn gewend
specificeer precies tot welke stream(s) een bepaalde optie behoort.

Een stroomspecificatie is een tekenreeks die over het algemeen aan de optienaam wordt toegevoegd en daarvan wordt gescheiden
door een dubbele punt. Bijv. "-codec:a:1 ac3" bevat de "a:1" streamspecificatie, die overeenkomt met de
tweede audiostream. Daarom zou het de ac3-codec selecteren voor de tweede audiostream.

Een streamspecificatie kan overeenkomen met meerdere streams, zodat de optie op alle wordt toegepast
hen. De streamspecificatie in "-b:a 128k" komt bijvoorbeeld overeen met alle audiostreams.

Een lege streamspecificatie komt overeen met alle streams. Bijvoorbeeld "-codec kopiëren" of "-codec:
kopiëren" zou alle streams kopiëren zonder opnieuw te coderen.

Mogelijke vormen van streamspecificaties zijn:

stroom_index
Komt overeen met de stream met deze index. Bijv. "-threads:1 4" stelt het aantal threads in
de tweede stroom naar 4.

stream_type[:stroom_index]
stream_type is een van de volgende: 'v' of 'V' voor video, 'a' voor audio, 's' voor
ondertitel, 'd' voor gegevens en 't' voor bijlagen. 'v' komt overeen met alle videostreams, 'V'
komt alleen overeen met videostreams die geen bijgevoegde afbeeldingen, videothumbnails of omslag zijn
kunst. Als stroom_index wordt gegeven, komt het overeen met het streamnummer stroom_index deze
type. Anders komt het overeen met alle streams van dit type.

p:programma_id[:stroom_index]
If stroom_index wordt gegeven, dan komt het overeen met de stream met nummer stroom_index in de
programma met de id programma_id. Anders komt het overeen met alle streams in het programma.

#stream_id or i:stream_id
Match de stream op stream-ID (bijv. PID in MPEG-TS-container).

m:sleutel[:waarde]
Komt overeen met streams met de metadata-tag sleutel met de opgegeven waarde. Als waarde is niet
gegeven, komt overeen met streams die de gegeven tag bevatten met een willekeurige waarde.

u Komt overeen met streams met bruikbare configuratie, de codec moet gedefinieerd en essentieel zijn
informatie zoals videodimensie of audiosamplefrequentie moet aanwezig zijn.

Merk op dat in ffmpeg, werkt matchen op metadata alleen goed voor invoerbestanden.

Algemeen opties
Deze opties worden gedeeld door de ff*-tools.

-L Licentie tonen.

-H, -?, -helpen, --help [arg]
Hulp laten zien. Er kan een optionele parameter worden opgegeven om hulp over een specifiek item af te drukken.
Als er geen argument is opgegeven, worden alleen basis (niet-geavanceerde) toolopties weergegeven.

Mogelijke waarden van arg zijn:

lang
Druk geavanceerde toolopties af naast de basistoolopties.

vol
Volledige lijst met opties afdrukken, inclusief gedeelde en privé-opties voor encoders,
decoders, demuxers, muxers, filters, enz.

decoder=decoder_naam
Print gedetailleerde informatie over de genoemde decoder decoder_naam. Gebruik de -decoders
optie om een ​​lijst van alle decoders te krijgen.

encoder=encoder_naam
Print gedetailleerde informatie over de genoemde encoder encoder_naam. Gebruik de -encoders
optie om een ​​lijst van alle encoders te krijgen.

demuxer=demuxer_naam
Print gedetailleerde informatie over de genoemde demuxer demuxer_naam. Gebruik de -formaten
optie om een ​​lijst te krijgen van alle demuxers en muxers.

muxer=muxer_naam
Print gedetailleerde informatie over de genoemde muxer muxer_naam. Gebruik de -formaten
optie om een ​​lijst te krijgen van alle muxers en demuxers.

filteren=filternaam
Print gedetailleerde informatie over de filternaam filternaam. Gebruik de - filters
optie om een ​​lijst met alle filters te krijgen.

-versie
Toon versie.

-formaten
Toon beschikbare formaten (inclusief apparaten).

-devices
Toon beschikbare apparaten.

-codecs
Toon alle codecs die bekend zijn bij libavcodec.

Merk op dat de term 'codec' in deze documentatie wordt gebruikt als een afkorting voor
wat correcter een media-bitstream-indeling wordt genoemd.

-decoders
Toon beschikbare decoders.

-encoders
Toon alle beschikbare encoders.

-bsfs
Toon beschikbare bitstreamfilters.

-protocollen
Toon beschikbare protocollen.

- filters
Toon beschikbare libavfilter-filters.

-pix_fmts
Toon beschikbare pixelformaten.

-voorbeeld_fmts
Toon beschikbare voorbeeldformaten.

-lay-outs
Toon kanaalnamen en standaard kanaallay-outs.

-kleuren
Toon herkende kleurnamen.

-bronnen apparaat[,opt1=val1[,opt2=val2]...]
Toon automatisch gedetecteerde bronnen van het invoerapparaat. Sommige apparaten kunnen systeem-
afhankelijke bronnamen die niet automatisch kunnen worden gedetecteerd. De geretourneerde lijst kan dat niet zijn
verondersteld altijd compleet te zijn.

ffmpeg -bronnenpuls,server=192.168.0.4

-zinkt apparaat[,opt1=val1[,opt2=val2]...]
Toon automatisch gedetecteerde putten van het uitvoerapparaat. Sommige apparaten kunnen systeem-
afhankelijke Sink-namen die niet automatisch kunnen worden gedetecteerd. De geretourneerde lijst kan niet worden aangenomen
om altijd compleet te zijn.

ffmpeg -sinkt puls,server=192.168.0.4

-Log niveau [herhaal+]loglevel | -v [herhaal+]loglevel
Stel het logboekniveau in dat door de bibliotheek wordt gebruikt. Het toevoegen van "herhalen+" geeft aan dat herhaald
log uitvoer mag niet worden gecomprimeerd tot de eerste regel en de "Laatste bericht herhaald n
times" wordt weggelaten. "repeat" kan ook alleen worden gebruikt. Als "repeat" wordt gebruikt
alleen, en zonder vooraf ingesteld logniveau, wordt het standaard logniveau gebruikt. Indien meerdere
loglevel parameters zijn gegeven, het gebruik van 'repeat' verandert het loglevel niet. loglevel
is een tekenreeks of een getal met een van de volgende waarden:

stil, -8
Laat helemaal niets zien; zwijg.

paniek, 0
Toon alleen fatale fouten die ertoe kunnen leiden dat het proces crasht, zoals en assert
mislukking. Dit wordt momenteel nergens voor gebruikt.

dodelijk, 8
Toon alleen fatale fouten. Dit zijn fouten waarna het proces absoluut niet meer kan
daarna doorgaan.

fout, 16
Toon alle fouten, inclusief fouten die hersteld kunnen worden.

waarschuwing, 24
Toon alle waarschuwingen en fouten. Elk bericht met betrekking tot mogelijk onjuiste of
onverwachte gebeurtenissen worden getoond.

informatie, 32
Toon informatieve berichten tijdens de verwerking. Dit is naast waarschuwingen en
fouten. Dit is de standaardwaarde.

breedsprakig, 40
Hetzelfde als "info", behalve meer uitgebreid.

debuggen, 48
Laat alles zien, inclusief foutopsporingsinformatie.

spoor, 56

Standaard logt het programma in stderr, als kleuren wordt ondersteund door de terminal,
kleuren worden gebruikt om fouten en waarschuwingen te markeren. Logkleuring kan worden uitgeschakeld door de
variabele omgeving AV_LOG_FORCE_NOCOLOR or GEEN KLEUR, of kan geforceerd worden ingesteld
variabele omgeving AV_LOG_FORCE_COLOR. Het gebruik van de omgevingsvariabele GEEN KLEUR
is verouderd en wordt verwijderd in een volgende FFmpeg-versie.

-verslag doen van
Dump de volledige opdrachtregel en console-uitvoer naar een bestand met de naam
"programma-JJJJMMDD-UUMMSS.log" in de huidige map. Dit bestand kan nuttig zijn voor
foutmeldingen. Het impliceert ook "-loglevel breedsprakig".

De omgevingsvariabele instellen FFRAPPORT elke waarde heeft hetzelfde effect. Als de
waarde een door ':' gescheiden sleutel=waarde-reeks is, deze opties zijn van invloed op het rapport;
optiewaarden moeten worden geëscaped als ze speciale tekens of de opties bevatten
delimiter ':' (zie de sectie ``Quoting and escape'' in de ffmpeg-utils handleiding).

De volgende opties worden herkend:

filet
stel de bestandsnaam in die voor het rapport moet worden gebruikt; %p wordt uitgebreid naar de naam van het
programma, %t wordt uitgebreid tot een tijdstempel, "%%" wordt uitgebreid tot een gewoon "%"

niveau
stel het log breedsprakigheidsniveau in met behulp van een numerieke waarde (zie "-loglevel").

Om bijvoorbeeld een rapport uit te voeren naar een bestand met de naam ffrapport.log met een logniveau van 32
(alias voor logniveau "info"):

FFREPORT=file=ffreport.log:level=32 ffmpeg -i invoeruitvoer

Fouten bij het ontleden van de omgevingsvariabele zijn niet fataal en verschijnen niet in het
melden.

-verberg_banner
Drukbanner onderdrukken.

Alle FFmpeg-tools tonen normaal gesproken een copyright-melding, build-opties en bibliotheek
versies. Deze optie kan worden gebruikt om het afdrukken van deze informatie te onderdrukken.

-cpu-vlaggen vlaggen (globaal)
Maakt het instellen en wissen van cpu-vlaggen mogelijk. Deze optie is bedoeld om te testen. Gebruik niet
tenzij je weet wat je doet.

ffmpeg -cpuflags -sse+mmx ...
ffmpeg -cpuflags mmx ...
ffmpeg -cpuflags 0 ...

Mogelijke vlaggen voor deze optie zijn:

x86
mmx
mmxt
sse
sse2
sse2langzaam
sse3
sse3langzaam
ssse3
atoom
sse4.1
sse4.2
avx
avx2
xop
fma3
fma4
3dnu
3dnext
bmi1
bmi2
cmov
ARM
armv5te
armv6
armv6t2
vfp
vfpv3
neon-
einde
Arch64
armv8
vfp
neon-
PowerPC
altiefc
specifiek Processoren
pentium2
pentium3
pentium4
k6
k62
Athlon
atlonxp
k8
-opencl_bench
Deze optie wordt gebruikt om alle beschikbare OpenCL-apparaten te benchmarken en de resultaten af ​​te drukken.
Deze optie is alleen beschikbaar als FFmpeg is gecompileerd met "--enable-opencl".

Wanneer FFmpeg is geconfigureerd met "--enable-opencl", zijn de opties voor de globale OpenCL
context worden ingesteld via -opencl_opties. Zie de sectie "OpenCL-opties" in de ffmpeg-
utils-handleiding voor de volledige lijst met ondersteunde opties. Onder andere deze opties
omvatten de mogelijkheid om een ​​specifiek platform en apparaat te selecteren om de OpenCL-code uit te voeren
op. FFmpeg draait standaard op het eerste apparaat van het eerste platform. Terwijl de
opties voor de globale OpenCL-context bieden de gebruiker flexibiliteit bij het selecteren van de
OpenCL-apparaat van hun keuze, de meeste gebruikers zouden waarschijnlijk het snelste willen selecteren
OpenCL-apparaat voor hun systeem.

Deze optie helpt bij het selecteren van de meest efficiënte configuratie door te identificeren
het juiste apparaat voor het systeem van de gebruiker. De ingebouwde benchmark wordt uitgevoerd op alle
OpenCL-apparaten en de prestaties worden voor elk apparaat gemeten. De toestellen in de
resultatenlijst zijn gesorteerd op basis van hun prestaties met het snelste vermelde apparaat
Eerst. De gebruiker kan vervolgens een beroep doen ffmpeg met behulp van het apparaat dat het meest wordt geacht
geschikt via -opencl_opties om de beste prestaties voor de OpenCL te verkrijgen
versnelde codes.

Typisch gebruik om het snelste OpenCL-apparaat te gebruiken, omvat de volgende stappen.

Voer de opdracht uit:

ffmpeg -opencl_bench

Noteer de platform-ID (pidx) en apparaat-ID (didx) van het eerste dwz snelste apparaat
in de lijst. Selecteer het platform en apparaat met behulp van de opdracht:

ffmpeg -opencl_options platform_idx= :device_idx= ...

-opencl_opties opties (globaal)
Stel OpenCL-omgevingsopties in. Deze optie is alleen beschikbaar wanneer FFmpeg is geweest
gecompileerd met "--enable-opencl".

opties moet een lijst zijn van sleutel=waarde optieparen gescheiden door ':'. Zie de ``OpenCL
Opties'' in de ffmpeg-utils-handleiding voor de lijst met ondersteunde opties.

AVOpties
Deze opties worden rechtstreeks geleverd door libavformat, libavdevice en libavcodec
bibliotheken. Om de lijst met beschikbare AVOptions te zien, gebruikt u de -Help keuze. Zij zijn
gescheiden in twee categorieën:

algemeen
Deze opties kunnen worden ingesteld voor elke container, codec of apparaat. Generieke opties zijn
vermeld onder AVFormatContext-opties voor containers/apparaten en onder AVCodecContext
opties voor codecs.

privaat
Deze opties zijn specifiek voor de betreffende container, het apparaat of de codec. Privé opties
worden vermeld onder hun overeenkomstige containers/apparaten/codecs.

Om bijvoorbeeld een ID3v2.3-header te schrijven in plaats van een standaard ID3v2.4 naar een MP3-bestand, gebruikt u
de id3v2_versie privé-optie van de MP3-muxer:

ffmpeg -i input.flac -id3v2_versie 3 uit.mp3

Alle codec AVOptions zijn per-stream en daarom moet er een stream-specificatie aan worden gekoppeld
Hen.

Merk op -geen optie syntaxis kan niet worden gebruikt voor booleaanse AVOptions, use -Keuze 0/-Keuze 1.

Opmerking: de oude ongedocumenteerde manier om per-stream AVOptions te specificeren door v/a/s voor te laten gaan
de optienaam is nu achterhaald en zal binnenkort worden verwijderd.

Hoofd opties
-f configuratiebestand
Configuratiebestand lezen configuratiebestand. Indien niet gespecificeerd zal het standaard lezen van
/etc/ffserver.conf.

-n Schakel de niet-startmodus in. Deze optie schakelt alle "Launch"-richtlijnen binnen de
verscheidene " " secties. Sinds ffserver zal er geen starten ffmpeg gevallen, jij
zal ze handmatig moeten starten.

-d Schakel de foutopsporingsmodus in. Deze optie verhoogt de uitgebreidheid van logbestanden en stuurt logberichten naar
stoer. Indien gespecificeerd, de Aangepast logboek optie wordt genegeerd.

CONFIGURATIE FILE SYNTAXIS


ffserver leest een configuratiebestand met algemene opties en instellingen voor elke stream
en voer.

Het configuratiebestand bestaat uit globale opties en speciale secties, die moeten zijn
voorgesteld door "SECTIE NAAM ARGS>" op een aparte regel en moet worden afgesloten met een regel in
het formulier "</SECTIE NAAM>". ARGS is optioneel.

Momenteel worden de volgende secties herkend: Voeden, Stroom, redirect.

Een regel die begint met "#" wordt genegeerd en behandeld als commentaar.

Naam van opties en secties zijn niet hoofdlettergevoelig.

ACL syntaxis
Een ACL (Access Control List) specificeert het adres dat toegang heeft tot een gegeven
stream, of om een ​​bepaalde feed te schrijven.

Het accepteert de volgende formulieren

· Toegang toestaan/weigeren adres.

ACL TOEGESTAAN
ACL ONTKENNEN

· Toegang toestaan/weigeren tot reeksen adressen vanaf eerste_adres naar laatste_adres.

ACL TOEGESTAAN
ACL ONTKENNEN

U kunt de ACL toestaan/weigeren zo vaak herhalen als u wilt. Het is per stream. De
eerste match definieert de actie. Als er geen overeenkomsten zijn, is de standaard het omgekeerde
van de laatste ACL-instructie.

Dus 'ACL staat localhost toe' staat alleen toegang toe vanaf localhost. 'ACL weigeren 1.0.0.0
1.255.255.255' zou het hele netwerk 1 weigeren en iedereen toestaan.

Globaal opties
HTTP-poort poortnummer
Haven poortnummer
RTSP-poort poortnummer
HTTP-poort stelt het luisterende TCP-poortnummer van de HTTP-server in, RTSP-poort stelt de RTSP-server in
luisterend TCP-poortnummer.

Haven is het equivalent van HTTP-poort en wordt afgeraden.

U moet een andere poort selecteren dan uw standaard HTTP-webserver als deze actief is
op dezelfde computer.

Indien niet opgegeven, wordt er geen overeenkomstige server gemaakt.

HTTPBindAdres IP adres
BindAdres IP adres
RTSPBindadres IP adres
Stel het adres in waarop de HTTP/RTSP-server is gebonden. Alleen handig als je er meerdere hebt
Netwerk interfaces.

BindAdres is het equivalent van HTTPBindAdres en wordt afgeraden.

MaxHTTP-verbindingen n
Stel het aantal gelijktijdige HTTP-verbindingen in dat kan worden verwerkt. Het moet worden gedefinieerd
vaardigheden de maxClients parameter, omdat het de maxClients maximale limiet.

De standaardwaarde is 2000.

maxClients n
Stel het aantal gelijktijdige verzoeken in dat kan worden afgehandeld. Sinds ffserver is erg snel,
het is waarschijnlijker dat u deze high wilt verlaten en wilt gebruiken Maximale bandbreedte.

De standaardwaarde is 5.

Maximale bandbreedte kbps
Stel de maximale hoeveelheid kbit/sec in die u bereid bent te verbruiken bij het streamen
clients.

De standaardwaarde is 1000.

Aangepast logboek bestandsnaam
Toegangslogbestand instellen (gebruikt standaard Apache-logbestandsindeling). '-' is de standaard
uitgang.

Indien niet opgegeven ffserver zal geen logboek produceren.

In het geval dat de opdrachtregeloptie -d is opgegeven, wordt deze optie genegeerd en wordt het logboek
naar standaarduitvoer geschreven.

Geen Daemon
Stel de no-daemon-modus in. Deze optie wordt momenteel genegeerd sinds nu ffserver zal altijd
werkt in no-daemon-modus en is verouderd.

Gebruik standaarden
Geen standaardwaarden
Bepaal of standaard codec-opties worden gebruikt voor alle streams of niet. Elk
stream kan deze instelling voor zichzelf overschrijven. Standaard is Gebruik standaarden. De laatste
voorkomen heeft voorrang op vorige als er meerdere definities zijn.

Voeden sectie
Een Feed-sectie definieert een feed die wordt verstrekt aan ffserver.

Elke live feed bevat één video- en/of audiosequentie afkomstig van een ffmpeg encoder of
ander ffserver. Deze reeks kan tegelijkertijd met meerdere codecs tegelijk worden gecodeerd
meerdere resoluties.

Een specificatie van een feedinstantie wordt geïntroduceerd door een regel in het formulier:



WAAR FEED_FILENAME specificeert de unieke naam van de FFM-stream.

Binnen een Feed-sectie worden de volgende opties herkend.

Dien in bestandsnaam
Alleen-lezenbestand bestandsnaam
Stel het pad in waar het feedbestand op schijf wordt opgeslagen.

Indien niet gespecificeerd, de /tmp/FEED.ffm wordt aangenomen, waar FEED is de voernaam.

If Alleen-lezenbestand wordt gebruikt, wordt het bestand gemarkeerd als alleen-lezen en wordt het niet verwijderd of
bijgewerkt.

Afkappen
Kap het feedbestand af in plaats van eraan toe te voegen. Standaard ffserver zal toevoegen
gegevens naar het bestand, totdat de maximale bestandsgroottewaarde is bereikt (zie BestandMaxSize
keuze).

BestandMaxSize grootte
Stel de maximale grootte van het feedbestand in bytes in. 0 betekent onbeperkt. De achtervoegsels "K"
(2^10), "M" (2^20) en "G" (2^30) worden herkend.

Standaardwaarde is 5M.

Lancering betoogt
Start een ffmpeg opdracht bij het maken ffserver.

betoogt moet een opeenvolging van argumenten zijn die aan een ffmpeg voorbeeld. De eerste
opgegeven argument wordt genegeerd en vervangen door een pad met dezelfde dirname van
de ffserver bijvoorbeeld, gevolgd door het resterende argument en afgesloten met een pad
overeenkomend met het voer.

Wanneer het gestarte proces wordt afgesloten, ffserver zal een ander programma-exemplaar starten.

Voor het geval u een meer complex nodig heeft ffmpeg configuratie, bijvoorbeeld als u moet genereren
meerdere FFM-feeds met een enkele ffmpeg u zou bijvoorbeeld moeten starten ffmpeg met de hand.

Deze optie wordt genegeerd in het geval van de opdrachtregeloptie -n is gespecificeerd.

ACL spec
Specificeer de lijst met IP-adressen die wel of niet mogen schrijven naar de feed. Meerdere
ACL-opties kunnen worden gespecificeerd.

Stroom sectie
Een Stream-sectie definieert een stream die wordt geleverd door ffserver, en geïdentificeerd door een enkele naam.

De stream wordt verzonden bij het beantwoorden van een verzoek met de naam van de stream.

Een stroomsectie moet worden ingeleid door de lijn:



WAAR STREAM_NAME specificeert de unieke naam van de stream.

Binnen een Stream-sectie worden de volgende opties herkend.

Coderingsopties zijn gemarkeerd met de codering tag, en ze worden gebruikt om de codering in te stellen
parameters, en worden toegewezen aan libavcodec-coderingsopties. Niet alle coderingsopties zijn dat
ondersteund, met name is het niet mogelijk om privé-opties voor de encoder in te stellen. Om te
de coderingsopties overschrijven die zijn opgegeven door ffserver, kunt u de ffmpeg
override_ffserver opdrachtregel optie.

Slechts een van de Voeden en Dien in opties moeten worden ingesteld.

Voeden feednaam
Stel de invoerfeed in. feednaam moet overeenkomen met een bestaande feed gedefinieerd in een "Feed"
pagina.

Als deze optie is ingesteld, worden coderingsopties gebruikt om de codering in te stellen die wordt beheerd door
de afstandsbediening ffmpeg proces.

Dien in bestandsnaam
Stel de bestandsnaam in van het vooraf opgenomen invoerbestand om te streamen.

Als deze optie is ingesteld, worden de coderingsopties genegeerd en wordt de inhoud van het invoerbestand genegeerd
opnieuw gestreamd zoals het is.

Formaat formaat_naam
Stel het formaat van de uitvoerstroom in.

Moet de naam zijn van een formaat dat wordt herkend door FFmpeg. Indien ingesteld op toestand, wordt het behandeld als
een statusstroom.

Invoer formaat formaat_naam
Stel het invoerformaat in. Indien niet opgegeven, wordt het automatisch geraden.

voorrollen n
Stel dit in op het aantal seconden terug in de tijd om te starten. Merk op dat de meeste spelers
zal 5-10 seconden video bufferen, en je moet ook toestaan ​​dat er een keyframe verschijnt
in de datastroom.

De standaardwaarde is 0.

StartSendOnKey
Verzend geen stream totdat deze het eerste keyframe heeft ontvangen. Standaard ffserver zal verzenden
gegevens onmiddellijk.

MaxTijd n
Stel het aantal seconden in dat moet worden uitgevoerd. Deze waarde stelt de maximale duur van de stream in
cliënt zal kunnen ontvangen.

Een waarde van 0 betekent dat er geen limiet is ingesteld op de streamduur.

ACL spec
Stel ACL in voor de stream.

Dynamische ACL spec
RTSPOptie optie
Multicast-adres adres
Multicastpoort port
MulticastTTL geheel getal
Geen lus
FaviconURL url
Stel favicon (favoriet pictogram) in voor de serverstatuspagina. Het wordt genegeerd voor regelmatig
streams.

Auteur waarde
Opmerking waarde
Auteursrechten waarde
Titel waarde
Stel metadata in die overeenkomen met de optie. Al deze opties worden afgeschaft ten gunste van
Metadata.

Metadata sleutel waarde
Stel de metadatawaarde in voor de uitvoerstroom.

Gebruik standaarden
Geen standaardwaarden
Bepaal of standaard codec-opties worden gebruikt voor de stream of niet. Standaard is
Gebruik standaarden tenzij wereldwijd uitgeschakeld.

Geen geluid
Geen video
Onderdruk audio/video.

Audiocodec codec_naam (codering, audio)
Audiocodec instellen.

AudioBitRate tarief (codering, audio)
Stel de bitsnelheid in voor de audiostream in kbits per seconde.

Audiokanalen n (codering, audio)
Stel het aantal audiokanalen in.

AudioSampleRate n (codering, audio)
Stel de bemonsteringsfrequentie voor audio in. Bij gebruik van lage bitrates dient u deze te verlagen
frequentie naar 22050 of 11025. De ondersteunde frequenties zijn afhankelijk van de geselecteerde audio
codec.

AVOptionAudio [codec:]optie waarde (codering, audio)
Stel generieke of privéoptie in voor audiostream. Private optie moet worden voorafgegaan door
codecnaam of codec moet vooraf worden gedefinieerd.

AVPresetAudio vooraf ingestelde (codering, audio)
Voorinstelling instellen voor audiostream.

Video codec codec_naam (codering, video)
Stel videocodec in.

VideoBitRate n (codering, video)
Stel de bitsnelheid voor de videostream in kbits per seconde in.

VideoBitRateRange reeks (codering, video)
Stel het videobitsnelheidsbereik in.

Er moet een bereik worden opgegeven in het formulier minuut-maximaal tarief, en specificeert de minuut en
maximaal tarief coderingsopties uitgedrukt in kbits per seconde.

VideoBitRateRangeTolerantie n (codering, video)
Stel de videobitsnelheidstolerantie in kbits per seconde in.

PixelFormaat pixel_formaat (codering, video)
Stel het videopixelformaat in.

Debug geheel getal (codering, video)
Stel video in debug codering optie.

Streng geheel getal (codering, video)
Stel video in streng codering optie.

Videobuffergrootte n (codering, video)
Stel de buffergrootte van ratecontrol in, uitgedrukt in KB.

Video frame rate n (codering, video)
Stel het aantal videoframes per seconde in.

Videoformaat (codering, video)
Stel de grootte van het videoframe in, moet een afkorting zijn of in de vorm WxH. Zien de
Video grootte sectie in de ffmpeg-utils(1) handboek.

Standaardwaarde is "160x128".

VideoIntraOnly (codering, video)
Verzend alleen intraframes (handig voor lage bitrates, maar doodt framesnelheid).

VideoGopSize n (codering, video)
Indien alleen niet-intra, wordt een intra-frame verzonden voor elke VideoGopSize-frames. Video
synchronisatie kan alleen beginnen bij een intraframe.

Videotag label (codering, video)
Videotag instellen.

VideoHoge kwaliteit (codering, video)
Video4MotionVector (codering, video)
BitExact (codering, video)
Bitexact-coderingsvlag instellen.

IdctEenvoudig (codering, video)
Stel eenvoudig IDCT-algoritme in.

Qschaal n (codering, video)
Schakel codering met constante kwaliteit in en stel video qscale (kwantiseringsschaal) waarde in,
uitgedrukt in n QP-eenheden.

VideoQMin n (codering, video)
VideoQMax n (codering, video)
Stel video qmin/qmax in.

VideoQVerschil geheel getal (codering, video)
Stel video in qdiff codering optie.

Lumi Mask drijven (codering, video)
Donker masker drijven (codering, video)
Zet de lumi_masker/donker_masker codering opties.

AVOptionVideo [codec:]optie waarde (codering, video)
Stel generieke of privéoptie in voor videostream. Private optie moet worden voorafgegaan door
codecnaam of codec moet vooraf worden gedefinieerd.

AVPresetVideo vooraf ingestelde (codering, video)
Voorinstelling instellen voor videostream.

vooraf ingestelde moet het pad zijn van een vooraf ingesteld bestand.

server toestand stream

Een serverstatusstream is een speciale stream die wordt gebruikt om statistieken over de server weer te geven
ffserver operaties.

Het moet worden opgegeven bij het instellen van de optie Formaat naar toestand.

redirect sectie
Een omleidingssectie geeft aan waar de gevraagde URL naar een andere pagina moet worden omgeleid.

Een omleidingssectie moet worden ingeleid door de regel:



WAAR NAAM is de naam van de pagina waarnaar moet worden omgeleid.

Het accepteert alleen de optie URL, die de omleidings-URL specificeren.

STREAM Voorbeelden


· Meerdelige JPEG


Voer voer1.ffm in
Mpjpeg formatteren
VideoFrameRate 2
VideoIntraOnly
Geen geluid
Strikte -1


· Enkele JPEG


Voer voer1.ffm in
JPEG formatteren
VideoFrameRate 2
VideoIntraOnly
Videoformaat 352x240
Geen geluid
Strikte -1


· Flits


Voer voer1.ffm in
Formaat swf
VideoFrameRate 2
VideoIntraOnly
Geen geluid


· ASF-compatibel


Voer voer1.ffm in
Formaat asf
VideoFrameRate 15
Videoformaat 352x240
VideoBitRate 256
VideoBufferMaat 40
VideoGopMaat 30
AudioBitRate 64
StartSendOnKey


· MP3-audio


Voer voer1.ffm in
Formaat mp2
Audiocodec mp3
AudioBitRate 64
Audiokanalen 1
AudioSampleRate 44100
Geen video


· Ogg Vorbis-audio


Voer voer1.ffm in
Metadatatitel "Streamtitel"
AudioBitRate 64
Audiokanalen 2
AudioSampleRate 44100
Geen video


· Real met alleen audio op 32 kbits


Voer voer1.ffm in
Formaat rm
AudioBitRate 32
Geen video


· Real met audio en video op 64 kbits


Voer voer1.ffm in
Formaat rm
AudioBitRate 32
VideoBitRate 128
VideoFrameRate 25
VideoGopMaat 25


· Voor stream afkomstig van een bestand: u hoeft alleen de invoerbestandsnaam en optioneel in te stellen
een nieuw formaat.


Bestand "/usr/local/httpd/htdocs/tlive.rm"
Geen geluid



Bestand "/usr/local/httpd/htdocs/test.asf"
Geen geluid
Metadata-auteur "Ik"
Metadata copyright "Super MegaCorp"
Metadatatitel "Teststream vanaf schijf"
Metadatacommentaar "Testcommentaar"


Gebruik ffserver online met behulp van onworks.net-services


Gratis servers en werkstations

Windows- en Linux-apps downloaden

  • 1
    SLOK
    SLOK
    SWIG is een tool voor softwareontwikkeling
    dat programma's verbindt die zijn geschreven in C en
    C ++ met een verscheidenheid aan high-level
    programmeertalen. SWIG wordt gebruikt met
    verschillend...
    SWIG downloaden
  • 2
    WooCommerce Nextjs React-thema
    WooCommerce Nextjs React-thema
    Reageer WooCommerce-thema, gebouwd met
    Volgende JS, Webpack, Babel, Node en
    Express, met behulp van GraphQL en Apollo
    Cliënt. WooCommerce Store in React(
    bevat: Producten...
    Download het WooCommerce Nextjs React-thema
  • 3
    archlabs_repo
    archlabs_repo
    Pakketrepo voor ArchLabs Dit is een
    toepassing die ook kan worden opgehaald
    oppompen van
    https://sourceforge.net/projects/archlabs-repo/.
    Het is gehost in OnWorks in...
    Archlabs_repo downloaden
  • 4
    Zephyr-project
    Zephyr-project
    Het Zephyr Project is een nieuwe generatie
    real-time besturingssysteem (RTOS) dat
    ondersteunt meerdere hardware
    architecturen. Het is gebaseerd op een
    kernel met kleine voetafdruk ...
    Zephyr-project downloaden
  • 5
    SConen
    SConen
    SCons is een softwareconstructietool
    dat is een superieur alternatief voor de
    klassieke "Make" build-tool die
    we kennen en houden allemaal van. SCons is
    implementeerde een...
    SCons downloaden
  • 6
    PSeInt
    PSeInt
    PSeInt is een pseudo-code-interpreter voor
    Spaanstalige programmeerstudenten.
    Het belangrijkste doel is om een ​​hulpmiddel te zijn voor:
    de basis leren en begrijpen
    concept...
    PSeInt downloaden
  • Meer "

Linux-commando's

  • 1
    7z
    7z
    7z - Een bestandsarchiveringstool met de hoogste
    compressieverhouding ...
    Loop 7z
  • 2
    7za
    7za
    7za - Een bestandsarchiveringstool met de hoogste
    compressieverhouding ...
    Loop 7za
  • 3
    griezelig
    griezelig
    CREEPY - Een geolocatie-informatie
    aggregator BESCHRIJVING: griezelig is een
    applicatie waarmee u kunt verzamelen
    geolocatie gerelateerde informatie over
    gebruikers van ...
    Loop griezelig
  • 4
    cricket-compileren
    cricket-compileren
    cricket - Een programma om de
    verzameling en weergave van tijdreeksen
    gegevens ...
    Voer cricket-compilatie uit
  • 5
    g-wrap-config
    g-wrap-config
    g-wrap-config - script om te krijgen
    informatie over de geïnstalleerde versie
    van G-wrap ...
    Voer g-wrap-config uit
  • 6
    g.toegangsgras
    g.toegangsgras
    g.access - Beheert de toegang tot de
    huidige kaartenset voor andere gebruikers op de
    systeem. Als er geen optie wordt gegeven, drukt u af
    huidige status. KEYWORDS: algemeen, kaart
    management, pr...
    Voer g.accessgrass uit
  • Meer "

Ad