Il s'agit de la commande ffserver qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS
PROGRAMME:
Nom
ffserver - serveur vidéo ffserver
SYNOPSIS
ffserveur [Options]
DESCRIPTION
ffserveur est un serveur de streaming pour l'audio et la vidéo. Il prend en charge plusieurs flux en direct,
diffusion en continu à partir de fichiers et décalage temporel sur les flux en direct. Vous pouvez rechercher des postes dans le
passé sur chaque flux en direct, à condition que vous spécifiez un stockage de flux suffisamment grand.
ffserveur est configuré via un fichier de configuration, qui est lu au démarrage. Si non
explicitement spécifié, il lira à partir de /etc/ffserver.conf.
ffserveur reçoit des fichiers préenregistrés ou des flux FFM de certains ffmpeg exemple en entrée,
puis les diffuse via RTP/RTSP/HTTP.
An ffserveur instance écoutera sur un port comme spécifié dans le fichier de configuration. Tu
peut lancer une ou plusieurs instances de ffmpeg et envoyer un ou plusieurs flux FFM au port
où ffserver s'attend à les recevoir. Alternativement, vous pouvez faire ffserveur lancer
tel ffmpeg instances au démarrage.
Les flux d'entrée sont appelés flux, et chacun est spécifié par un " " rubrique dans le
fichier de configuration.
Pour chaque flux, vous pouvez avoir différents flux de sortie dans différents formats, chacun spécifié
par un " " dans le fichier de configuration.
DÉTAILLÉ DESCRIPTION
ffserveur fonctionne en transférant des flux encodés par ffmpeg, ou des flux préenregistrés qui sont
lire à partir du disque.
Précisément, ffserveur agit comme un serveur HTTP, acceptant les requêtes POST de ffmpeg acquérir
le flux à publier, et servir les demandes GET des clients RTSP ou HTTP avec le
diffuser du contenu multimédia.
Un flux est un FFM flux créé par ffmpeg, et envoyé à un port où ffserveur écoute.
Chaque flux est identifié par un nom unique, correspondant au nom de la ressource
publié sur ffserveur, et est configuré par une section dédiée "Flux" dans le
fichier de configuration.
L'URL de publication du flux est donnée par :
http://<ffserver_ip_address>:<http_port>/<feed_name>
où ffserver_ip_address est l'adresse IP de la machine sur laquelle ffserveur est installé,
port_http est le numéro de port du serveur HTTP (configuré via le Port HTTP option),
et votre nom_du_flux est le nom du flux correspondant défini dans le fichier de configuration.
Chaque flux est associé à un fichier qui est stocké sur disque. Ce fichier stocké est utilisé pour
envoyer des données préenregistrées à un lecteur aussi rapidement que possible lorsqu'un nouveau contenu est ajouté en temps réel.
temps au ruisseau.
Un "live-stream" ou "stream" est une ressource publiée par ffserveur, et rendu accessible
via le protocole HTTP aux clients.
Un flux peut être connecté à un flux ou à un fichier. Dans le premier cas, le flux publié
est transmis à partir du flux correspondant généré par une instance en cours d'exécution de ffmpeg, Dans le
dans le deuxième cas, le flux est lu à partir d'un fichier pré-enregistré.
Chaque flux est identifié par un nom unique, correspondant au nom de la ressource
servi par ffserveur, et est configuré par une section dédiée "Stream" dans la configuration
fichier.
L'URL HTTP d'accès au flux est donnée par :
http://<ffserver_ip_address>:<http_port>/<stream_name>[<options>]
L'URL RTSP d'accès au flux est donnée par :
http://<ffserver_ip_address>:<rtsp_port>/<stream_name>[<options>]
nom_flux est le nom du flux correspondant défini dans le fichier de configuration.
Options est une liste d'options spécifiées après l'URL qui affecte la façon dont le flux est
servi par ffserveur. port_http et votre port_rtsp les ports HTTP et RTSP sont-ils configurés avec
les options Port HTTP et votre Port RTSP respectivement.
Dans le cas où le flux est associé à un flux, les paramètres d'encodage doivent être configurés dans
la configuration du flux. Ils sont envoyés à ffmpeg lors de la configuration de l'encodage. Cette
permet ffserveur pour définir les paramètres d'encodage utilisés par le ffmpeg encodeurs.
Notre ffmpeg override_ffserver l'option de ligne de commande permet de remplacer l'encodage
paramètres définis par le serveur.
Plusieurs flux peuvent être connectés au même flux.
Par exemple, vous pouvez avoir une situation décrite par le graphique suivant :
_________ __________
| | | |
ffmpeg 1 -----| flux 1 |-----| flux 1 |
\ |_________|\ |__________|
\ \
\ \ __________
\ \ | |
\ \| flux 2 |
\ |__________|
\
\ _________ __________
\ | | | |
\| alimentation 2 |-----| flux 3 |
|_________| |__________|
_________ __________
| | | |
ffmpeg 2 -----| flux 3 |-----| flux 4 |
|_________| |__________|
_________ __________
| | | |
| fichier 1 |-----| flux 5 |
|_________| |__________|
FFM, FFM2 formats
FFM et FFM2 sont des formats utilisés par ffserver. Ils permettent de stocker une grande variété de vidéos et
flux audio et options d'encodage, et peut stocker un segment de temps en mouvement d'une infinité
film ou un film entier.
FFM est spécifique à la version, et il y a une compatibilité limitée des fichiers FFM générés par un
version de ffmpeg/ffserver et une autre version de ffmpeg/ffserver. ça peut marcher mais c'est
pas garanti de fonctionner.
FFM2 est extensible tout en maintenant la compatibilité et devrait fonctionner entre différents
versions d'outils. FFM2 est la valeur par défaut.
Statut courant
ffserveur prend en charge une interface HTTP qui expose l'état actuel du serveur.
Pointez simplement votre navigateur sur l'adresse du flux de statut spécial spécifié dans le
fichier de configuration.
Par exemple si vous avez :
État du formatage
# Autoriser uniquement les populations locales à obtenir le statut
ACL autoriser l'hôte local
ACL autoriser 192.168.0.0 192.168.255.255
alors le serveur publiera une page avec les informations d'état lorsque le flux spécial
statut.html Est demandé.
Comment do I a prendre une it marche ?
Comme test simple, exécutez simplement les deux lignes de commande suivantes où INPUTFILE est un fichier
que vous pouvez décoder avec ffmpeg :
ffserver -f doc/ffserver.conf &
ffmpeg -i FICHIER D'ENTRÉE http://localhost:8090/feed1.ffm
À ce stade, vous devriez pouvoir accéder à votre ordinateur Windows et lancer Windows Media
Lecteur (WMP). Allez sur Ouvrir l'URL et entrez
http://<linuxbox>:8090/test.asf
Vous devriez (après un court délai) voir la vidéo et entendre le son.
AVERTISSEMENT : essayer de diffuser test1.mpg ne fonctionne pas avec WMP car il essaie de transférer le
fichier entier avant de commencer à jouer. Il en est de même pour les fichiers AVI.
Vous devez modifier le ffserver.conf fichier en fonction de vos besoins (en termes de fréquences d'images, etc.).
Puis installez ffserveur et votre ffmpeg, écrivez un script pour les démarrer, et c'est parti.
Ce que d'autre vous it cobots?
Vous pouvez relire la vidéo à partir de fichiers .ffm qui ont été enregistrés précédemment. Cependant, il existe un
nombre de mises en garde, y compris le fait que les paramètres ffserver doivent correspondre à l'original
paramètres utilisés pour enregistrer le fichier. Si ce n'est pas le cas, ffserver supprime le fichier avant
l'enregistrement dedans. (Maintenant que j'écris ceci, il semble cassé).
Vous pouvez manipuler de nombreux choix de codecs et paramètres d'encodage, et il existe un
groupe plus de paramètres que vous ne pouvez pas contrôler. Publiez un message sur la liste de diffusion s'il y a
sont des paramètres « indispensables ». Recherchez dans ffserver.conf une liste des
contrôles disponibles.
Il générera automatiquement les fichiers ASX ou RAM qui sont souvent utilisés dans les navigateurs. Ces
les fichiers sont en fait des redirections vers le fichier ASF ou RM sous-jacent. La raison en est
que le navigateur récupère souvent l'intégralité du fichier avant de démarrer la visionneuse externe. Les
les fichiers de redirection sont très petits et peuvent être transférés rapidement. [Le ruisseau lui-même est
souvent « infini » et donc le navigateur essaie de le télécharger et ne termine jamais.]
Pourboires
* Lorsque vous vous connectez à un flux en direct, la plupart des lecteurs (WMP, RA, etc.) souhaitent mettre en mémoire tampon un certain
nombre de secondes de matériel afin qu'ils puissent afficher le signal en continu. Cependant,
ffserver (par défaut) commence à envoyer des données en temps réel. Cela signifie qu'il y a une pause de
quelques secondes pendant que la mise en mémoire tampon est effectuée par le lecteur. La bonne nouvelle est que ce
peut être corrigé en ajoutant un '?buffer=5' à la fin de l'URL. Cela signifie que le flux
devrait commencer 5 secondes dans le passé -- et donc les 5 premières secondes du flux sont envoyées comme
aussi vite que le réseau le permet. Il ralentira ensuite en temps réel. Cela notablement
améliore l'expérience de démarrage.
Vous pouvez également ajouter une déclaration 'Preroll 15' dans le ffserver.conf qui ajoutera le 15
deuxième pré-tampon sur toutes les demandes qui ne spécifient pas d'heure par ailleurs. En outre,
ffserver sautera des images jusqu'à ce qu'une image-clé soit trouvée. Cela réduit encore le démarrage
retard en ne transférant pas les données qui seront supprimées.
Pourquoi Choisir le ?amortir / Pré-rouler Arrêtez de travail après a temps?
Il s'avère que (sur ma machine au moins) le nombre d'images capturées avec succès est
légèrement inférieur au nombre qui devrait être saisi. Cela signifie que l'horodatage dans
le flux de données codé prend du retard en temps réel. Cela signifie que si vous dites "Preroll 10",
puis, lorsque le flux a 10 secondes ou plus de retard, il ne reste plus de Preroll.
Pour résoudre ce problème, il faut modifier les éléments internes de la gestion des horodatages.
Le le "?date=" étoffe .
Oui (sous réserve de la limitation décrite ci-dessus). Notez également que chaque fois que vous démarrez
ffserver, il supprime le fichier ffm (si des paramètres ont changé), effaçant ainsi ce
vous aviez enregistré avant.
Le format du "?date=x" est assez flexible. Vous devez utiliser l'un des éléments suivants
formats (le 'T' est littéral) :
* AAAA-MM-JJTHH:MM:SS (heure locale)
* AAAA-MM-JJTHH:MM:SSZ (UTC)
Vous pouvez omettre le AAAA-MM-JJ, puis il fait référence au jour en cours. Notez cependant que
?date=16:00:00 fait référence à 16h00 le jour en cours -- cela peut être dans le futur et c'est aussi le cas
peu probable d'être utile.
Vous l'utilisez en ajoutant le ?date= à la fin de l'URL du flux. Par exemple:
http://localhost:8080/test.asf?date=2002-07-26T23:05:00.
OPTIONS
Toutes les options numériques, sauf indication contraire, acceptent une chaîne représentant un
nombre en entrée, qui peut être suivi de l'un des préfixes d'unité SI, par exemple : 'K',
« M » ou « G ».
Si 'i' est ajouté au préfixe d'unité SI, le préfixe complet sera interprété comme un
préfixe d'unité pour les multiples binaires, qui sont basés sur des puissances de 1024 au lieu de puissances de
1000. L'ajout de « B » au préfixe d'unité SI multiplie la valeur par 8. Cela permet d'utiliser,
par exemple : 'KB', 'MiB', 'G' et 'B' comme suffixes numériques.
Les options qui ne prennent pas d'arguments sont des options booléennes et définissent la valeur correspondante
à vrai. Ils peuvent être définis sur false en préfixant le nom de l'option avec "no". Par exemple
l'utilisation de "-nofoo" définira l'option booléenne avec le nom "foo" sur false.
Discussions spécificateurs
Certaines options sont appliquées par flux, par exemple le débit binaire ou le codec. Les spécificateurs de flux sont utilisés pour
spécifier précisément à quel(s) flux une option donnée appartient.
Un spécificateur de flux est une chaîne généralement ajoutée au nom de l'option et séparée de celui-ci
par un côlon. Par exemple, "-codec:a:1 ac3" contient le spécificateur de flux "a:1", qui correspond au
deuxième flux audio. Par conséquent, il sélectionnerait le codec ac3 pour le deuxième flux audio.
Un spécificateur de flux peut correspondre à plusieurs flux, de sorte que l'option est appliquée à tous
eux. Par exemple, le spécificateur de flux dans "-b:a 128k" correspond à tous les flux audio.
Un spécificateur de flux vide correspond à tous les flux. Par exemple, "-codec copy" ou "-codec :
copy" copierait tous les flux sans réencodage.
Les formes possibles de spécificateurs de flux sont :
index_flux
Correspond au flux avec cet index. Par exemple, "-threads:1 4" définira le nombre de threads pour
le deuxième flux à 4.
type_flux[:index_flux]
type_flux est l'un des suivants : 'v' ou 'V' pour vidéo, 'a' pour audio, 's' pour
sous-titre, « d » pour les données et « t » pour les pièces jointes. 'v' correspond à tous les flux vidéo, 'V'
correspond uniquement aux flux vidéo qui ne sont pas des images jointes, des vignettes vidéo ou une couverture
arts. Si index_flux est donné, alors il correspond au numéro de flux index_flux de cette
taper. Sinon, il correspond à tous les flux de ce type.
p:id_programme[:index_flux]
If index_flux est donné, alors il correspond au flux avec le numéro index_flux dans le
programme avec l'identifiant id_programme. Sinon, il correspond à tous les flux du programme.
#id_flux or i:id_flux
Faites correspondre le flux par identifiant de flux (par exemple, PID dans le conteneur MPEG-TS).
m:clé[:Plus-value]
Correspond aux flux avec la balise de métadonnées clé ayant la valeur spécifiée. Si Plus-value n'est pas
donné, correspond aux flux qui contiennent la balise donnée avec n'importe quelle valeur.
u Correspond aux flux avec une configuration utilisable, le codec doit être défini et l'essentiel
des informations telles que la dimension vidéo ou la fréquence d'échantillonnage audio doivent être présentes.
Notez que dans ffmpeg, la correspondance par métadonnées ne fonctionnera correctement que pour les fichiers d'entrée.
Générique Options
Ces options sont partagées entre les outils ff*.
-L Afficher la licence.
-h, - ?, -aider, --Aidez-moi [arg]
Afficher l'aide. Un paramètre facultatif peut être spécifié pour imprimer l'aide sur un élément spécifique.
Si aucun argument n'est spécifié, seules les options d'outil de base (non avancées) sont affichées.
Valeurs possibles de arg sont:
Long
Imprimer des options d'outils avancées en plus des options d'outils de base.
plein
Imprimer la liste complète des options, y compris les options partagées et privées pour les encodeurs,
décodeurs, démultiplexeurs, multiplexeurs, filtres, etc.
décodeur=nom_décodeur
Imprimer des informations détaillées sur le décodeur nommé nom_décodeur. Utilisez le -décodeurs
option pour obtenir une liste de tous les décodeurs.
encodeur=nom_encodeur
Imprimer des informations détaillées sur l'encodeur nommé nom_encodeur. Utilisez le -encodeurs
option pour obtenir une liste de tous les encodeurs.
démultiplexeur=nom_démultiplexeur
Imprimer des informations détaillées sur le démultiplexeur nommé nom_démultiplexeur. Utilisez le - mise en forme
option pour obtenir une liste de tous les démultiplexeurs et multiplexeurs.
multiplexeur=nom_muxer
Imprimer des informations détaillées sur le multiplexeur nommé nom_muxer. Utilisez le - mise en forme
option pour obtenir une liste de tous les multiplexeurs et démultiplexeurs.
filtre=nom_filtre
Imprimer des informations détaillées sur le nom du filtre nom_filtre. Utilisez le -filtres
option pour obtenir une liste de tous les filtres.
-version
Afficher la version.
- mise en forme
Afficher les formats disponibles (y compris les appareils).
-dispositifs
Afficher les appareils disponibles.
-codecs
Afficher tous les codecs connus de libavcodec.
Notez que le terme 'codec' est utilisé tout au long de cette documentation comme raccourci pour
ce qu'on appelle plus correctement un format de flux binaire multimédia.
-décodeurs
Afficher les décodeurs disponibles.
-encodeurs
Afficher tous les encodeurs disponibles.
-bsfs
Afficher les filtres de flux de bits disponibles.
-protocoles
Afficher les protocoles disponibles.
-filtres
Afficher les filtres libavfilter disponibles.
-pix_fmts
Afficher les formats de pixels disponibles.
-sample_fmts
Afficher les exemples de formats disponibles.
-mises en page
Afficher les noms de canaux et les dispositions de canaux standard.
-couleurs
Afficher les noms de couleurs reconnus.
-sources dispositif[,opt1=val1[,opt2=val2(...)...]
Afficher les sources détectées automatiquement du périphérique d'entrée. Certains appareils peuvent fournir des
les noms de source dépendants qui ne peuvent pas être détectés automatiquement. La liste renvoyée ne peut pas être
supposée toujours complète.
ffmpeg -sources impulsion, serveur = 192.168.0.4
-les puits dispositif[,opt1=val1[,opt2=val2(...)...]
Afficher les récepteurs détectés automatiquement du périphérique de sortie. Certains appareils peuvent fournir des
les noms de récepteurs dépendants qui ne peuvent pas être détectés automatiquement. La liste renvoyée ne peut pas être supposée
être toujours complet.
ffmpeg -sinks pulse, server=192.168.0.4
-niveau de journalisation [répéter+]loglevel | -v [répéter+]loglevel
Définissez le niveau de journalisation utilisé par la bibliothèque. L'ajout de « repeat+ » indique que répété
la sortie du journal ne doit pas être compressée sur la première ligne et le "Dernier message répété n
times" sera omise. "repeat" peut également être utilisé seul. Si "repeat" est utilisé
seul et sans aucun niveau de journalisation défini, le niveau de journalisation par défaut sera utilisé. Si plusieurs
les paramètres de niveau de journalisation sont fournis, l'utilisation de 'repeat' ne changera pas le niveau de journalisation. loglevel
est une chaîne ou un nombre contenant l'une des valeurs suivantes :
silencieux, -8
Ne rien montrer du tout ; soit silencieux.
panique, 0
Afficher uniquement les erreurs fatales qui pourraient entraîner le blocage du processus, telles que et assert
échec. Ce n'est actuellement utilisé pour rien.
mortel, 8
Afficher uniquement les erreurs fatales. Ce sont des erreurs après lesquelles le processus ne peut absolument pas
continuer après.
Erreur, 16
Afficher toutes les erreurs, y compris celles qui peuvent être récupérées.
Attention, 24
Afficher tous les avertissements et erreurs. Tout message lié à des informations éventuellement incorrectes ou
les événements inattendus seront affichés.
Info, 32
Afficher des messages informatifs pendant le traitement. Ceci s'ajoute aux avertissements et
les erreurs. Ceci est la valeur par défault.
verbeux, 40
Identique à "info", sauf plus détaillé.
déboguer, 48
Tout afficher, y compris les informations de débogage.
tracer, 56
Par défaut, le programme se connecte à stderr, si la coloration est prise en charge par le terminal,
les couleurs sont utilisées pour marquer les erreurs et les avertissements. La coloration du journal peut être désactivée en définissant le
variable d'environnement AV_LOG_FORCE_NOCOLOR or SANS COULEUR, ou peut être forcé à régler le
variable d'environnement AV_LOG_FORCE_COLOR. L'utilisation de la variable d'environnement SANS COULEUR
est obsolète et sera supprimé dans une version FFmpeg suivante.
-rapport
Videz la ligne de commande complète et la sortie de la console dans un fichier nommé
"programme-AAAAMMJJ-HHMMSS.log" dans le répertoire courant. Ce fichier peut être utile pour
rapports de bogues. Cela implique également "-loglevel verbose".
Définition de la variable d'environnement FFRAPPORT à n'importe quelle valeur a le même effet. Si la
la valeur est une séquence clé=valeur séparée par ':', ces options affecteront le rapport ;
les valeurs d'option doivent être échappées si elles contiennent des caractères spéciaux ou les options
délimiteur ':' (voir la section ``Citation et échappement'' dans le manuel ffmpeg-utils).
Les options suivantes sont reconnues :
filet
définir le nom de fichier à utiliser pour le rapport ; %p est étendu au nom du
programme, %t est étendu à un horodatage, "%%" est étendu à un simple "%"
niveau
définir le niveau de verbosité du journal à l'aide d'une valeur numérique (voir "-loglevel").
Par exemple, pour générer un rapport dans un fichier nommé ffreport.log en utilisant un niveau de journalisation de 32
(alias pour le niveau de journal "info") :
FFREPORT=file=ffreport.log:level=32 ffmpeg -i entrée sortie
Les erreurs d'analyse de la variable d'environnement ne sont pas fatales et n'apparaîtront pas dans le
signaler.
-hide_banner
Supprimer la bannière d'impression.
Tous les outils FFmpeg afficheront normalement un avis de droit d'auteur, des options de construction et une bibliothèque
versions. Cette option peut être utilisée pour supprimer l'impression de ces informations.
-cpuflags drapeaux (de défis)
Permet de définir et d'effacer les drapeaux du processeur. Cette option est destinée aux tests. Ne pas utiliser
à moins que vous ne sachiez ce que vous faites.
ffmpeg -cpuflags -sse+mmx ...
ffmpeg -cpuflags mmx ...
ffmpeg -cpuflags 0 ...
Les drapeaux possibles pour cette option sont :
x86
mmx
mmxext
sse
sse2
sse2lent
sse3
sse3lent
ssse3
atome
sse4.1
sse4.2
avx
avx2
xop
fma3
fma4
3dmaintenant
3dnowext
imc1
imc2
cmov
BRAS
armv5te
armv6
armv6t2
VFP
vfpv3
néon
régler
AAArch64
armv8
VFP
néon
PowerPC
altivec
Autres ingrédients Processeurs
pentium2
pentium3
pentium4
k6
k62
athlon
athlonxp
k8
-opencl_bench
Cette option est utilisée pour comparer tous les périphériques OpenCL disponibles et imprimer les résultats.
Cette option n'est disponible que lorsque FFmpeg a été compilé avec "--enable-opencl".
Lorsque FFmpeg est configuré avec "--enable-opencl", les options pour l'OpenCL global
le contexte est défini via -opencl_options. Voir la section "Options OpenCL" dans le ffmpeg-
manuel utils pour la liste complète des options prises en charge. Entre autres, ces options
inclure la possibilité de sélectionner une plate-forme et un appareil spécifiques pour exécuter le code OpenCL
au. Par défaut, FFmpeg s'exécutera sur le premier appareil de la première plate-forme. Tandis que le
les options pour le contexte OpenCL global offrent une flexibilité à l'utilisateur dans la sélection du
périphérique OpenCL de leur choix, la plupart des utilisateurs voudront probablement sélectionner le plus rapide
périphérique OpenCL pour leur système.
Cette option aide à sélectionner la configuration la plus efficace en identifiant
l'appareil approprié pour le système de l'utilisateur. Le benchmark intégré est exécuté sur tous les
appareils OpenCL et les performances sont mesurées pour chaque appareil. Les appareils de la
la liste des résultats est triée en fonction de leurs performances avec l'appareil le plus rapide répertorié
premier. L'utilisateur peut ensuite invoquer ffmpeg en utilisant l'appareil considéré comme le plus
approprié via -opencl_options pour obtenir les meilleures performances pour l'OpenCL
code accéléré.
L'utilisation typique pour utiliser le périphérique OpenCL le plus rapide implique les étapes suivantes.
Exécutez la commande:
ffmpeg -opencl_bench
Notez l'ID de la plate-forme (pidx) et l'identifiant de l'appareil (didx) du premier appareil, c'est-à-dire le plus rapide
dans la liste. Sélectionnez la plate-forme et l'appareil à l'aide de la commande :
ffmpeg -opencl_options platform_idx= :périphérique_idx= ...
-opencl_options Options (de défis)
Définissez les options de l'environnement OpenCL. Cette option n'est disponible que lorsque FFmpeg a été
compilé avec "--enable-opencl".
Options doit être une liste de clé=Plus-value paires d'options séparées par ':'. Voir le ``OpenCL
Section "Options" dans le manuel ffmpeg-utils pour la liste des options prises en charge.
Options AV
Ces options sont fournies directement par libavformat, libavdevice et libavcodec
bibliothèques. Pour voir la liste des AVOptions disponibles, utilisez le -Aide option. Elles sont
séparés en deux catégories :
générique
Ces options peuvent être définies pour n'importe quel conteneur, codec ou périphérique. Les options génériques sont
répertorié sous AVFormatContext options pour les conteneurs/périphériques et sous AVCodecContext
options pour les codecs.
Privé
Ces options sont spécifiques au conteneur, périphérique ou codec donné. Options privées
sont répertoriés sous leurs conteneurs/périphériques/codecs correspondants.
Par exemple, pour écrire un en-tête ID3v2.3 au lieu d'un ID3v2.4 par défaut dans un fichier MP3, utilisez
le id3v2_version option privée du multiplexeur MP3 :
ffmpeg -i input.flac -id3v2_version 3 out.mp3
Tous les codecs AVOptions sont par flux, et donc un spécificateur de flux doit être attaché à
Eux.
Noter la -pas d'option la syntaxe ne peut pas être utilisée pour les AVOptions booléennes, utilisez -Option 0/-Option 1.
Remarque : l'ancienne façon non documentée de spécifier les AVOptions par flux en ajoutant v/a/s à
le nom des options est désormais obsolète et sera bientôt supprimé.
Entrée Options
-f fichier de configuration
Lire le fichier de configuration fichier de configuration. S'il n'est pas spécifié, il sera lu par défaut à partir de
/etc/ffserver.conf.
-n Activez le mode sans lancement. Cette option désactive toutes les directives "Launch" dans le
divers " ". Depuis ffserveur ne lancera aucun ffmpeg cas, vous
devra les lancer manuellement.
-d Activer le mode de débogage. Cette option augmente la verbosité du journal et dirige les messages du journal vers
sortie standard. Lorsqu'il est spécifié, le CustomLog l'option est ignorée.
CONFIGURATION DOSSIER SYNTAXE
ffserveur lit un fichier de configuration contenant les options et paramètres globaux pour chaque flux
et nourrir.
Le fichier de configuration se compose d'options globales et de sections dédiées, qui doivent être
introduit par "NOM DE LA SECTION ARGS>" sur une ligne séparée et doit se terminer par une ligne dans
la forme "</NOM DE LA SECTION>". ARGS Est facultatif.
Actuellement, les sections suivantes sont reconnues : Fil d'actualité, Discussions, Réorienter.
Une ligne commençant par "#" est ignorée et traitée comme un commentaire.
Le nom des options et des sections est insensible à la casse.
ACL syntaxe
Une ACL (Access Control List) spécifie les adresses qui sont autorisées à accéder à un
stream, ou pour écrire un flux donné.
Il accepte les formulaires suivants
· Autoriser/refuser l'accès à propos.
ACL AUTORISER
ACL REFUSER
· Autoriser/refuser l'accès aux plages d'adresses de première_adresse à dernière_adresse.
ACL AUTORISER
ACL REFUSER
Vous pouvez répéter l'autorisation/le refus d'ACL aussi souvent que vous le souhaitez. C'est par flux. Les
le premier match définit l'action. S'il n'y a pas de correspondance, la valeur par défaut est l'inverse
de la dernière instruction ACL.
Ainsi, 'ACL allow localhost' n'autorise l'accès qu'à partir de localhost. 'ACL refuser 1.0.0.0
1.255.255.255' refuserait l'ensemble du réseau 1 et autoriserait tout le monde.
Global Options
Port HTTP numéro de port
Port numéro de port
Port RTSP numéro de port
Port HTTP définit le numéro de port TCP d'écoute du serveur HTTP, Port RTSP définit le serveur RTSP
écoute du numéro de port TCP.
Port est l'équivalent de Port HTTP et est obsolète.
Vous devez sélectionner un port différent de votre serveur Web HTTP standard s'il est en cours d'exécution
sur le même ordinateur.
Si non spécifié, aucun serveur correspondant ne sera créé.
HTTPBindAddress adresse IP
Adresse de liaison adresse IP
RTSPBindAdresse adresse IP
Définissez l'adresse à laquelle le serveur HTTP/RTSP est lié. Utile seulement si vous en avez plusieurs
Interfaces réseau.
Adresse de liaison est l'équivalent de HTTPBindAddress et est obsolète.
MaxHTTPConnectionsMaxHTTPConnections n
Définissez le nombre de connexions HTTP simultanées pouvant être gérées. il faut le définir
avant le Maxclients paramètre, car il définit le Maxclients limite maximale.
La valeur par défaut est 2000.
Maxclients n
Définissez le nombre de requêtes simultanées pouvant être traitées. Depuis ffserveur est très rapide,
il est plus probable que vous souhaitiez laisser ce niveau élevé et utiliser Bande passante maximale.
La valeur par défaut est 5.
Bande passante maximale kbps
Définissez la quantité maximale de kbit/s que vous êtes prêt à consommer lors de la diffusion vers
clients.
La valeur par défaut est 1000.
CustomLog nom de fichier
Définir le fichier journal d'accès (utilise le format de fichier journal Apache standard). '-' est la norme
sortie.
Si non spécifié ffserveur ne produira aucun journal.
Dans le cas où l'option de ligne de commande -d est spécifié, cette option est ignorée et le journal est
écrit sur la sortie standard.
AucunDaemon
Définissez le mode sans démon. Cette option est actuellement ignorée car maintenant ffserveur sera toujours
fonctionne en mode sans démon et est obsolète.
Utiliser les valeurs par défaut
Aucune valeur par défaut
Contrôlez si les options de codec par défaut sont utilisées pour tous les flux ou non. Chaque
stream peut écraser ce paramètre pour le sien. La valeur par défaut est Utiliser les valeurs par défaut. Le dernier
l'occurrence remplace la précédente si plusieurs définitions.
Fil d'actualité
Une section Flux définit un flux fourni à ffserveur.
Chaque flux en direct contient une séquence vidéo et/ou audio provenant d'un ffmpeg encodeur ou
une ffserveur. Cette séquence peut être codée simultanément avec plusieurs codecs à
plusieurs résolutions.
Une spécification d'instance de flux est introduite par une ligne sous la forme :
où FEED_FILENAME spécifie le nom unique du flux FFM.
Les options suivantes sont reconnues dans une section Flux.
Déposez votre dernière attestation nom de fichier
Fichier en lecture seule nom de fichier
Définissez le chemin où le fichier de flux est stocké sur le disque.
S'il n'est pas spécifié, le /tmp/FEED.ffm est supposé, où FEED est le nom du flux.
If Fichier en lecture seule est utilisé, le fichier est marqué comme en lecture seule et il ne sera pas supprimé ou
mise à jour.
Tronquer
Tronquez le fichier de flux, plutôt que de l'ajouter à celui-ci. Par défaut ffserveur va ajouter
données dans le fichier, jusqu'à ce que la valeur de taille de fichier maximale soit atteinte (voir TailleMaxFichier
option).
TailleMaxFichier Taille
Définissez la taille maximale du fichier de flux en octets. 0 signifie illimité. Les suffixes "K"
(2^10), "M" (2^20) et "G" (2^30) sont reconnus.
La valeur par défaut est 5M.
Lancement args
Lancer un ffmpeg commande lors de la création ffserveur.
args doit être une séquence d'arguments à fournir à un ffmpeg exemple. La première
l'argument fourni est ignoré, et il est remplacé par un chemin avec le même dirname de
le ffserveur instance, suivi de l'argument restant et terminé par un chemin
correspondant à l'alimentation.
Lorsque le processus lancé se termine, ffserveur lancera une autre instance de programme.
Au cas où vous auriez besoin d'un plus complexe ffmpeg configuration, par exemple si vous devez générer
plusieurs flux FFM avec un seul ffmpeg exemple, vous devriez lancer ffmpeg par la main.
Cette option est ignorée dans le cas où l'option de ligne de commande -n est spécifié.
ACL spec
Spécifiez la liste des adresses IP autorisées ou refusées pour écrire le flux. Plusieurs
Les options ACL peuvent être spécifiées.
Discussions
Une section Stream définit un flux fourni par ffserveur, et identifié par un nom unique.
Le flux est envoyé lors de la réponse à une requête contenant le nom du flux.
Une section de flux doit être introduite par la ligne :
où STREAM_NAME spécifie le nom unique du flux.
Les options suivantes sont reconnues dans une section Stream.
Les options d'encodage sont signalées par le codage tag, et ils sont utilisés pour définir l'encodage
et sont mappés aux options d'encodage libavcodec. Toutes les options d'encodage ne sont pas
pris en charge, en particulier, il n'est pas possible de définir les options privées de l'encodeur. Afin de
remplacer les options d'encodage spécifiées par ffserveur, vous pouvez utiliser le ffmpeg
override_ffserver option de ligne de commande.
Un seul des Fil d'actualité et votre Déposez votre dernière attestation les options doivent être définies.
Fil d'actualité nom_du_flux
Définissez l'alimentation d'entrée. nom_du_flux doit correspondre à un flux existant défini dans un "Flux"
.
Lorsque cette option est définie, les options d'encodage sont utilisées pour configurer l'encodage opéré par
la télécommande ffmpeg processus.
Déposez votre dernière attestation nom de fichier
Définissez le nom de fichier du fichier d'entrée préenregistré à diffuser.
Lorsque cette option est définie, les options d'encodage sont ignorées et le contenu du fichier d'entrée est
rediffusé tel quel.
Format nom_format
Définissez le format du flux de sortie.
Doit être le nom d'un format reconnu par FFmpeg. Si réglé sur statuts, il est traité comme
un flux d'état.
Format d'entrée nom_format
Définir le format d'entrée. S'il n'est pas spécifié, il est automatiquement deviné.
Pré-rouler n
Réglez-le sur le nombre de secondes en arrière dans le temps pour commencer. Notez que la plupart des joueurs
mettra en mémoire tampon 5 à 10 secondes de vidéo, et vous devez également permettre l'apparition d'une image clé
dans le flux de données.
La valeur par défaut est 0.
DémarrerSendOnKey
N'envoyez pas de flux tant qu'il n'a pas obtenu la première image clé. Par défaut ffserveur enverra
données immédiatement.
Durée maximale n
Définissez le nombre de secondes d'exécution. Cette valeur définit la durée maximale du flux a
le client pourra recevoir.
Une valeur de 0 signifie qu'aucune limite n'est définie sur la durée du flux.
ACL spec
Définissez l'ACL pour le flux.
LCA dynamique spec
Option RTSP option
Adresse de multidiffusion propos
Port multidiffusion port
MultidiffusionTTL entier
Pas de boucle
URL de favori url
Définir favicon (icône de favori) pour la page d'état du serveur. Il est ignoré pour les
ruisseaux.
Auteur Plus-value
Commentaires Plus-value
Droits d’auteur Plus-value
Titre Plus-value
Définissez les métadonnées correspondant à l'option. Toutes ces options sont dépréciées au profit de
Métadonnées.
Métadonnées clé Plus-value
Définissez la valeur des métadonnées sur le flux de sortie.
Utiliser les valeurs par défaut
Aucune valeur par défaut
Contrôlez si les options de codec par défaut sont utilisées pour le flux ou non. La valeur par défaut est
Utiliser les valeurs par défaut sauf si désactivé globalement.
Pas de son
Pas de vidéo
Supprimer l'audio/vidéo.
Un codec audio nom_codec (encodage, son)
Définir le codec audio.
Bitrate audio taux (encodage, son)
Définissez le débit binaire du flux audio en kbits par seconde.
Canaux audio n (encodage, son)
Définir le nombre de canaux audio.
TauxÉchantillon Audio n (encodage, son)
Réglez la fréquence d'échantillonnage pour l'audio. Lorsque vous utilisez des débits binaires faibles, vous devez réduire ce
fréquence à 22050 ou 11025. Les fréquences prises en charge dépendent de l'audio sélectionné
codec.
AVOptionAudio [codec:]option Plus-value (encodage, son)
Définissez une option générique ou privée pour le flux audio. L'option privée doit être précédée de
le nom du codec ou le codec doit être défini auparavant.
AVPresetAudio préréglé (encodage, son)
Définir un préréglage pour le flux audio.
Codec vidéo nom_codec (encodage, vidéo)
Définir le codec vidéo.
Bitrate vidéo n (encodage, vidéo)
Définissez le débit binaire du flux vidéo en kbits par seconde.
Plage de débits vidéo gamme (encodage, vidéo)
Définir la plage de débits vidéo.
Une plage doit être spécifiée sous la forme miner-taux max, et précise le miner et votre
taux max options de codage exprimées en kbits par seconde.
VidéoBitRatePlageTolérance n (encodage, vidéo)
Définissez la tolérance de débit vidéo en kbits par seconde.
PixelFormat format_pixel (encodage, vidéo)
Définir le format de pixel vidéo.
Déboguer entier (encodage, vidéo)
Définir la vidéo déboguer option d'encodage.
Strict entier (encodage, vidéo)
Définir la vidéo strict option d'encodage.
Taille du tampon vidéo n (encodage, vidéo)
Définir la taille du tampon ratecontrol, exprimée en Ko.
Frame rate vidéo n (encodage, vidéo)
Définir le nombre d'images vidéo par seconde.
Taille de la vidéo (encodage, vidéo)
Définir la taille de l'image vidéo, doit être une abréviation ou sous la forme WxH. Voir le
Video Taille in le ffmpeg-utils(1) Manuel.
La valeur par défaut est "160x128".
VidéoIntraUniquement (encodage, vidéo)
Transmettre uniquement des trames intra (utile pour les faibles débits, mais tue le taux de trame).
TailleVidéoGop n (encodage, vidéo)
S'il n'y a pas d'intra uniquement, une trame intra est transmise à chaque trame VideoGopSize. Vidéo
la synchronisation ne peut commencer qu'à une trame intra.
Balise vidéo Étiquette (encodage, vidéo)
Définir la balise vidéo.
VidéoHaute Qualité (encodage, vidéo)
Vidéo4MotionVector (encodage, vidéo)
BitExact (encodage, vidéo)
Définir l'indicateur de codage bitexact.
IdctSimple (encodage, vidéo)
Définir un algorithme IDCT simple.
Échelle Q n (encodage, vidéo)
Activez l'encodage de qualité constante et définissez la valeur qscale vidéo (échelle de quantification),
exprimée en n Unités QP.
VidéoQMin n (encodage, vidéo)
VidéoQMax n (encodage, vidéo)
Réglez la vidéo qmin/qmax.
VidéoQDiff entier (encodage, vidéo)
Définir la vidéo qdiff option d'encodage.
LumiMasque flotter (encodage, vidéo)
Masque sombre flotter (encodage, vidéo)
Ensemble lumi_masque/masque_noir options d'encodage.
AVOptionVidéo [codec:]option Plus-value (encodage, vidéo)
Définissez une option générique ou privée pour le flux vidéo. L'option privée doit être précédée de
le nom du codec ou le codec doit être défini auparavant.
AVPresetVidéo préréglé (encodage, vidéo)
Définir un préréglage pour le flux vidéo.
préréglé doit être le chemin d'un fichier prédéfini.
Server statuts courant
Un flux d'état du serveur est un flux spécial utilisé pour afficher des statistiques sur le
ffserveur opérations.
Il doit être spécifié en définissant l'option Format à statuts.
Réorienter
Une section de redirection spécifie où rediriger l'URL demandée vers une autre page.
Une section de redirection doit être introduite par la ligne :
où Nom est le nom de la page qui doit être redirigée.
Il n'accepte que l'option URL, qui spécifient l'URL de redirection.
FLUX EXEMPLES
· JPEG en plusieurs parties
Flux feed1.ffm
Formater mpjpeg
VidéoFrameRate 2
VidéoIntraUniquement
Pas de son
Stricte -1
· JPEG unique
Flux feed1.ffm
format jpeg
VidéoFrameRate 2
VidéoIntraUniquement
Taille de la vidéo 352x240
Pas de son
Stricte -1
· Éclat
Flux feed1.ffm
Formater swf
VidéoFrameRate 2
VidéoIntraUniquement
Pas de son
· Compatible ASF
Flux feed1.ffm
Formater au format asf
VidéoFrameRate 15
Taille de la vidéo 352x240
Débit vidéo 256
Taille du tampon vidéo 40
VidéoGopTaille 30
Débit audio 64
DémarrerSendOnKey
· Son MP3
Flux feed1.ffm
Formater mp2
Codec audio mp3
Débit audio 64
Canaux audio 1
Taux d'échantillonnage audio 44100
Pas de vidéo
· Audio Ogg Vorbis
Flux feed1.ffm
Titre des métadonnées « Titre du flux »
Débit audio 64
Canaux audio 2
Taux d'échantillonnage audio 44100
Pas de vidéo
· Réel avec audio uniquement à 32 kbits
Flux feed1.ffm
Formater rm
Débit audio 32
Pas de vidéo
· Réel avec audio et vidéo à 64 kbits
Flux feed1.ffm
Formater rm
Débit audio 32
Débit vidéo 128
VidéoFrameRate 25
VidéoGopTaille 25
· Pour le flux provenant d'un fichier : il vous suffit de définir le nom du fichier d'entrée et éventuellement
une nouvelle formule.
Fichier "/usr/local/httpd/htdocs/tlive.rm"
Pas de son
Fichier "/usr/local/httpd/htdocs/test.asf"
Pas de son
Auteur de métadonnées "Moi"
Copyright des métadonnées "Super MegaCorp"
Titre des métadonnées « Flux de test à partir du disque »
Commentaire de métadonnées "Commentaire de test"
Utilisez ffserver en ligne à l'aide des services onworks.net