InglésFrancésEspañol

icono de página de OnWorks

ffserver: en línea en la nube

Ejecute ffserver en el proveedor de alojamiento gratuito de OnWorks sobre Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS

Este es el comando ffserver que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.

PROGRAMA:

NOMBRE


ffserver - servidor de video ffserver

SINOPSIS


servidor [opciones]

DESCRIPCIÓN


ffserver es un servidor de transmisión de audio y video. Es compatible con varias transmisiones en vivo,
transmisión de archivos y cambio de tiempo en transmisiones en vivo. Puede buscar posiciones en el
pasado en cada transmisión en vivo, siempre que especifique un almacenamiento de alimentación lo suficientemente grande.

ffserver se configura a través de un archivo de configuración, que se lee al inicio. Que no
explícitamente especificado, leerá de /etc/ffserver.conf.

ffserver recibe archivos pregrabados o transmisiones FFM de algunos ffmpeg instancia como entrada,
luego los transmite a través de RTP / RTSP / HTTP.

An ffserver La instancia escuchará en algún puerto como se especifica en el archivo de configuración. usted
puede lanzar una o más instancias de ffmpeg y enviar una o más transmisiones FFM al puerto
donde ffserver espera recibirlos. Alternativamente, puedes hacer ffserver lanzamiento
tal ffmpeg instancias al inicio.

Los flujos de entrada se denominan feeds y cada uno se especifica mediante un " "sección en el
archivo de configuración.

Para cada fuente, puede tener diferentes flujos de salida en varios formatos, cada uno especificado
por un " "sección en el archivo de configuración.

DETALLADO DESCRIPCIÓN


ffserver funciona reenviando secuencias codificadas por ffmpeg, o transmisiones pregrabadas que son
leer desde el disco.

Precisamente, ffserver actúa como un servidor HTTP, aceptando solicitudes POST de ffmpeg adquirir
el flujo para publicar, y servir a los clientes RTSP o clientes HTTP GET solicitudes con el
transmitir contenido multimedia.

Un feed es un FFM flujo creado por ffmpegy enviado a un puerto donde ffserver esta escuchando.

Cada feed se identifica con un nombre único, que corresponde al nombre del recurso.
Publicado en ffserver, y está configurado por una sección dedicada "Feed" en el
archivo de configuración.

La URL de publicación del feed viene dada por:

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

donde dirección_ip_del_servidor_ff es la dirección IP de la máquina donde ffserver esta instalado,
puerto_http es el número de puerto del servidor HTTP (configurado a través del Puerto HTTP opción),
y nombre de la alimentación es el nombre del feed correspondiente definido en el archivo de configuración.

Cada feed está asociado a un archivo que se almacena en el disco. Este archivo almacenado se utiliza para
enviar datos pregrabados a un reproductor lo más rápido posible cuando se agrega contenido nuevo en
tiempo para la corriente.

Una "transmisión en vivo" o "transmisión" es un recurso publicado por ffservery hecho accesible
a través del protocolo HTTP a los clientes.

Una secuencia se puede conectar a una fuente o a un archivo. En el primer caso, la secuencia publicada
se reenvía desde el feed correspondiente generado por una instancia en ejecución de ffmpeg, En la
segundo caso, la secuencia se lee de un archivo pregrabado.

Cada flujo se identifica con un nombre único, que corresponde al nombre del recurso.
servido por ffserver, y está configurado por una sección dedicada "Stream" en la configuración
archivo.

La URL HTTP de acceso a la transmisión viene dada por:

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

La URL RTSP de acceso a la transmisión viene dada por:

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

nombre_corriente es el nombre de la secuencia correspondiente definida en el archivo de configuración.
opciones es una lista de opciones especificadas después de la URL que afecta la forma en que se muestra la transmisión
servido por ffserver. puerto_http y puerto_rtsp ¿Están los puertos HTTP y RTSP configurados con
las opciones Puerto HTTP y Puerto RTSP respectivamente.

En caso de que la transmisión esté asociada a un feed, los parámetros de codificación deben configurarse en
la configuración de la secuencia. Son enviados a ffmpeg al configurar la codificación. Esta
permite ffserver para definir los parámetros de codificación utilizados por el ffmpeg codificadores.

El ffmpeg override_ffserver La opción de línea de comandos permite anular la codificación.
parámetros establecidos por el servidor.

Se pueden conectar varias transmisiones a la misma fuente.

Por ejemplo, puede tener una situación descrita por el siguiente gráfico:

_________ __________
| | | |
ffmpeg 1 ----- | alimentar 1 | ----- | corriente 1 |
\ | _________ | \ | __________ |
\ \
\ \ __________
\ \ | |
\ \ | corriente 2 |
\ | __________ |
\
\ _________ __________
\ | | | |
\ | alimentar 2 | ----- | corriente 3 |
| _________ | | __________ |

_________ __________
| | | |
ffmpeg 2 ----- | alimentar 3 | ----- | corriente 4 |
| _________ | | __________ |

_________ __________
| | | |
| archivo 1 | ----- | corriente 5 |
| _________ | | __________ |

ffm, ffm2 formatos
FFM y FFM2 son formatos utilizados por ffserver. Permiten almacenar una amplia variedad de videos y
transmisiones de audio y opciones de codificación, y puede almacenar un segmento de tiempo en movimiento de un infinito
película o una película completa.

FFM es específico de la versión y hay una compatibilidad limitada de los archivos FFM generados por una
versión de ffmpeg / ffserver y otra versión de ffmpeg / ffserver. Puede funcionar, pero es
no se garantiza que funcione.

FFM2 es extensible mientras mantiene la compatibilidad y debería funcionar entre diferentes
versiones de herramientas. FFM2 es el predeterminado.

Estado stream
ffserver admite una interfaz HTTP que expone el estado actual del servidor.

Simplemente apunte su navegador a la dirección del flujo de estado especial especificado en el
archivo de configuración.

Por ejemplo, si tiene:


Estado de formato

# Permitir que solo la gente local obtenga el estado
ACL permite localhost
ACL permite 192.168.0.0 192.168.255.255


entonces el servidor publicará una página con la información de estado cuando la secuencia especial
estado.html es solicitado

Cómo do I make it funciona?
Como prueba simple, simplemente ejecute las siguientes dos líneas de comando donde INPUTFILE es un archivo
que puedes decodificar con ffmpeg:

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

En este punto, debería poder ir a su máquina con Windows y encender Windows Media
Reproductor (WMP). Vaya a Abrir URL e ingrese

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

Debería (después de un breve retraso) ver el video y escuchar el audio.

ADVERTENCIA: intentar transmitir test1.mpg no funciona con WMP ya que intenta transferir el
archivo completo antes de comenzar a reproducir. Lo mismo ocurre con los archivos AVI.

Deberías editar el ffserver.conf archivo para satisfacer sus necesidades (en términos de velocidad de fotogramas, etc.).
Luego instalar ffserver y ffmpeg, escribe un guión para ponerlos en marcha y listo.

What más can it ¿hacer?
Puede reproducir videos de archivos .ffm que se grabaron anteriormente. Sin embargo, hay una
número de advertencias, incluido el hecho de que los parámetros de ffserver deben coincidir con los originales
parámetros utilizados para grabar el archivo. Si no es así, ffserver elimina el archivo antes
grabando en él. (Ahora que escribo esto, parece roto).

Puede jugar con muchas de las opciones de códec y parámetros de codificación, y hay una
agrupar más parámetros que no puede controlar. Publique un mensaje en la lista de correo si hay
son algunos parámetros "imprescindibles". Busque en ffserver.conf para obtener una lista de los
controles disponibles.

Generará automáticamente los archivos ASX o RAM que se utilizan a menudo en los navegadores. Estas
los archivos son en realidad redirecciones al archivo ASF o RM subyacente. La razón de esto es
que el navegador a menudo recupera el archivo completo antes de iniciar el visor externo. los
Los archivos de redirección son muy pequeños y se pueden transferir rápidamente. [La corriente en sí es
a menudo 'infinito' y, por lo tanto, el navegador intenta descargarlo y nunca termina.]

Propina
* Cuando se conecta a una transmisión en vivo, la mayoría de los reproductores (WMP, RA, etc.) desean almacenar en búfer un cierto
número de segundos de material para que puedan mostrar la señal de forma continua. Sin embargo,
ffserver (por defecto) comienza a enviar datos en tiempo real. Esto significa que hay una pausa de
unos segundos mientras el reproductor realiza el almacenamiento en búfer. La buena noticia es que esto
se puede curar agregando un '? buffer = 5' al final de la URL. Esto significa que la corriente
debe comenzar 5 segundos en el pasado, por lo que los primeros 5 segundos de la transmisión se envían como
tan rápido como la red lo permita. Luego disminuirá la velocidad a tiempo real. Esto notablemente
mejora la experiencia de inicio.

También puede agregar una declaración 'Preroll 15' en ffserver.conf que agregará el 15
segundo almacenamiento previo en búfer en todas las solicitudes que no especifiquen una hora. Además,
ffserver omitirá fotogramas hasta que se encuentre un fotograma clave. Esto reduce aún más el inicio
retraso al no transferir datos que serán descartados.

¿Por Qué de la forma más ?buffer / Pre anuncio detener trabajando después de a ¿hora?
Resulta que (al menos en mi máquina) el número de fotogramas capturados con éxito es
marginalmente menor que el número que debería tomarse. Esto significa que la marca de tiempo en
el flujo de datos codificados se retrasa en tiempo real. Esto significa que si dice 'Preroll 10',
luego, cuando la transmisión se retrasa 10 o más segundos, no queda Preroll.

Arreglar esto requiere un cambio en los aspectos internos de cómo se manejan las marcas de tiempo.

Does de la forma más "? fecha =" cosas extra.
Sí (sujeto a la limitación descrita anteriormente). También tenga en cuenta que siempre que comience
ffserver, borra el archivo ffm (si algún parámetro ha cambiado), borrando así lo que
que había grabado antes.

El formato de "?date=x" es bastante flexible. Debe utilizar uno de los siguientes
formatos (la 'T' es literal):

* AAAA-MM-DDTHH: MM: SS (hora local)
* AAAA-MM-DDTHH: MM: SSZ (UTC)

Puede omitir AAAA-MM-DD y luego se refiere al día actual. Sin embargo, tenga en cuenta que
? fecha = 16: 00: 00 se refiere a las 16:00 del día actual; esto puede ser en el futuro y también lo es
Es poco probable que sea útil.

Puede usar esto agregando? Date = al final de la URL de la transmisión. Por ejemplo:
http://localhost:8080/test.asf?date=2002-07-26T23:05:00.

OPCIONES


Todas las opciones numéricas, si no se especifica lo contrario, aceptan una cadena que representa un
número como entrada, que puede ir seguido de uno de los prefijos de la unidad SI, por ejemplo: 'K',
'M' o 'G'.

Si se agrega 'i' al prefijo de la unidad SI, el prefijo completo se interpretará como un
prefijo de unidad para múltiplos binarios, que se basan en potencias de 1024 en lugar de potencias de
1000. Agregar 'B' al prefijo de la unidad SI multiplica el valor por 8. Esto permite usar,
por ejemplo: 'KB', 'MiB', 'G' y 'B' como sufijos numéricos.

Las opciones que no toman argumentos son opciones booleanas y establecen el valor correspondiente
a la verdad. Se pueden establecer en falso prefijando el nombre de la opción con "no". Por ejemplo
el uso de "-nofoo" establecerá la opción booleana con el nombre "foo" en falso.

Transmite especificadores
Algunas opciones se aplican por flujo, por ejemplo, tasa de bits o códec. Los especificadores de flujo se utilizan para
especificar con precisión a qué flujo (s) pertenece una opción determinada.

Un especificador de flujo es una cadena que generalmente se agrega al nombre de la opción y se separa de ella.
por dos puntos. Por ejemplo, "-codec: a: 1 ac3" contiene el especificador de flujo "a: 1", que coincide con el
segundo flujo de audio. Por lo tanto, seleccionaría el códec ac3 para el segundo flujo de audio.

Un especificador de flujo puede coincidir con varios flujos, de modo que la opción se aplique a todos
ellos. Por ejemplo, el especificador de flujo en "-b: a 128k" coincide con todos los flujos de audio.

Un especificador de flujo vacío coincide con todos los flujos. Por ejemplo, "-codec copy" o "-codec:
copy "copiaría todas las secuencias sin volver a codificar.

Las posibles formas de especificadores de flujo son:

índice_corriente
Coincide con la secuencia con este índice. Por ejemplo, "-threads: 1 4" establecería el recuento de subprocesos para
el segundo flujo a 4.

tipo_transmisión[:índice_corriente]
tipo_transmisión es uno de los siguientes: 'v' o 'V' para video, 'a' para audio, 's' para
subtítulo, 'd' para datos y 't' para archivos adjuntos. 'v' coincide con todas las transmisiones de video, 'V'
solo coincide con transmisiones de video que no son imágenes adjuntas, miniaturas de video o portada
letras. Si índice_corriente se da, entonces coincide con el número de flujo índice_corriente de este
escribe. De lo contrario, coincide con todas las transmisiones de este tipo.

p:programa_id[:índice_corriente]
If índice_corriente se da, luego hace coincidir la secuencia con el número índice_corriente en la categoría Industrial.
programa con la identificación programa_id. De lo contrario, coincide con todas las transmisiones del programa.

#id_transmisión or i:id_transmisión
Haga coincidir la secuencia por la identificación de la secuencia (por ejemplo, PID en el contenedor MPEG-TS).

m:clave[:propuesta de]
Coincide con las transmisiones con la etiqueta de metadatos clave teniendo el valor especificado. Si propuesta de no es
dado, coincide con los flujos que contienen la etiqueta dada con cualquier valor.

u Coincide con los flujos con la configuración utilizable, el códec debe estar definido y lo esencial
debe estar presente información como la dimensión del video o la frecuencia de muestreo de audio.

Tenga en cuenta que en ffmpeg, la coincidencia por metadatos solo funcionará correctamente para los archivos de entrada.

Generic opciones
Estas opciones se comparten entre las herramientas ff *.

-L Mostrar licencia.

-h, - ?, -ayuda, --ayuda [arg]
Mostrar ayuda. Se puede especificar un parámetro opcional para imprimir ayuda sobre un elemento específico.
Si no se especifica ningún argumento, solo se muestran las opciones de herramientas básicas (no avanzadas).

Posibles valores de arg son:

long
Imprima opciones de herramientas avanzadas además de las opciones de herramientas básicas.

ser completados
Imprima la lista completa de opciones, incluidas las opciones compartidas y privadas para codificadores,
decodificadores, demuxers, muxers, filtros, etc.

decodificador =nombre_decodificador
Imprime información detallada sobre el decodificador denominado nombre_decodificador. Utilizar el -decodificadores
opción para obtener una lista de todos los decodificadores.

codificador =nombre_codificador
Imprime información detallada sobre el codificador denominado nombre_codificador. Utilizar el -codificadores
opción para obtener una lista de todos los codificadores.

demuxer =nombre_demuxer
Imprime información detallada sobre el demuxer denominado nombre_demuxer. Utilizar el -formatos
opción para obtener una lista de todos los demuxers y muxers.

muxer =nombre_muxer
Imprime información detallada sobre el muxer denominado nombre_muxer. Utilizar el -formatos
opción para obtener una lista de todos los muxers y demuxers.

filtro =nombre_filtro
Imprime información detallada sobre el nombre del filtro nombre_filtro. Utilizar el -filtros
opción para obtener una lista de todos los filtros.

-versión
Mostrar versión.

-formatos
Muestra los formatos disponibles (incluidos los dispositivos).

-dispositivos
Muestra los dispositivos disponibles.

-códecs
Muestra todos los códecs conocidos por libavcodec.

Tenga en cuenta que el término 'códec' se utiliza a lo largo de esta documentación como un atajo para
lo que se denomina más correctamente formato de flujo de bits de medios.

-decodificadores
Muestra los decodificadores disponibles.

-codificadores
Muestra todos los codificadores disponibles.

-bsfs
Muestra los filtros de flujo de bits disponibles.

-protocolos
Muestra los protocolos disponibles.

-filtros
Muestra los filtros libavfilter disponibles.

-pix_fmts
Muestra los formatos de píxeles disponibles.

-muestra_fmts
Muestre los formatos de muestra disponibles.

-distribuciones
Muestra los nombres de los canales y los diseños de canales estándar.

-colores
Muestra nombres de colores reconocidos.

-fuentes dispositivo[,optar1=val1[,optar2=val2] ...]
Muestra las fuentes detectadas automáticamente del dispositivo de entrada. Algunos dispositivos pueden proporcionar sistema
nombres de fuentes dependientes que no se pueden detectar automáticamente. La lista devuelta no puede ser
se supone que siempre está completo.

ffmpeg -sources pulse, servidor = 192.168.0.4

-fregaderos dispositivo[,optar1=val1[,optar2=val2] ...]
Muestra los sumideros detectados automáticamente del dispositivo de salida. Algunos dispositivos pueden proporcionar sistema
nombres de sumideros dependientes que no se pueden detectar automáticamente. La lista devuelta no se puede asumir
estar siempre completo.

ffmpeg -sinks pulse, servidor = 192.168.0.4

-nivel de registro [repetir +]nivel de registro | -v [repetir +]nivel de registro
Establezca el nivel de registro utilizado por la biblioteca. Agregar "repetir +" indica que se repite
la salida del registro no debe comprimirse en la primera línea y el "Último mensaje repetido n
times "se omitirá la línea." repeat "también se puede usar solo. Si se usa" repeat "
solo, y sin un nivel de registro previo establecido, se utilizará el nivel de registro predeterminado. Si es múltiple
Se dan los parámetros de nivel de registro, el uso de 'repetir' no cambiará el nivel de registro. nivel de registro
es una cadena o un número que contiene uno de los siguientes valores:

tranquilo, -8
No muestre nada en absoluto; estar en silencio.

pánico, 0
Solo muestre errores fatales que podrían hacer que el proceso se bloquee, como y
falla. Actualmente no se usa para nada.

fatal, 8
Muestra solo errores fatales. Estos son errores después de los cuales el proceso no puede
continuar después.

error, 16
Muestra todos los errores, incluidos los que se pueden recuperar.

advertencia, 24
Muestra todas las advertencias y errores. Cualquier mensaje relacionado con posiblemente incorrecto o
Se mostrarán eventos inesperados.

información, 32
Muestre mensajes informativos durante el procesamiento. Esto se suma a las advertencias y
errores. Este es el valor predeterminado.

verboso, 40
Igual que "info", excepto que es más detallado.

depurar, 48
Muestre todo, incluida la información de depuración.

rastro, 56

De forma predeterminada, el programa se registra en stderr, si el terminal admite colorear,
los colores se utilizan para marcar errores y advertencias. El color del registro se puede deshabilitar configurando el
Variable ambiental AV_LOG_FORCE_NOCOLOR or SIN COLOR, o se puede forzar el ajuste de la
Variable ambiental AV_LOG_FORCE_COLOR. El uso de la variable de entorno. SIN COLOR
está en desuso y se eliminará en la siguiente versión de FFmpeg.

-informe
Volcar la línea de comandos completa y la salida de la consola en un archivo llamado
"programa-AAAAMMDD-HHMMSS.log " en el directorio actual. Este archivo puede ser útil para
informes de errores. También implica "-loglevel verbose".

Establecer la variable de entorno INFORME a cualquier valor tiene el mismo efecto. Si el
el valor es una secuencia de clave = valor separada ':', estas opciones afectarán el informe;
los valores de las opciones deben ser de escape si contienen caracteres especiales o las opciones
delimiter ':' (consulte la sección `` Citar y escapar '' en el manual ffmpeg-utils).

Se reconocen las siguientes opciones:

presentar
establezca el nombre de archivo que se utilizará para el informe; % p se expande al nombre del
programa,% t se expande a una marca de tiempo, "%%" se expande a un "%" simple

nivel
establezca el nivel de verbosidad del registro utilizando un valor numérico (consulte "-loglevel").

Por ejemplo, para generar un informe en un archivo llamado ffreport.log usando un nivel de registro de 32
(alias para el nivel de registro "información"):

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

Los errores al analizar la variable de entorno no son fatales y no aparecerán en la
.

-hide_banner
Suprimir la impresión de banner.

Todas las herramientas de FFmpeg normalmente mostrarán un aviso de derechos de autor, opciones de compilación y biblioteca
versiones. Esta opción se puede utilizar para suprimir la impresión de esta información.

-cpuflags banderas (global)
Permite configurar y borrar los indicadores de la CPU. Esta opción está pensada para realizar pruebas. No utilice
a menos que sepa lo que está haciendo.

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

Las posibles banderas para esta opción son:

x86
mmx
mmxext
sse
sse2
sse2lento
sse3
sse3lento
ssse3
átomo
sse4.1
sse4.2
AVX
avx2
xop
fma3
fma4
3d ahora
3dnowext
imc1
imc2
cmov
ARM
armv5te
brazov6
armv6t2
vfp
vfpv3
neón
asistir
AAArch64
brazov8
vfp
neón
PowerPC
altivoc
Ciertas TÉRMICO
pentium2
pentium3
pentium4
k6
k62
athlon
atletismo
k8
-opencl_bench
Esta opción se utiliza para comparar todos los dispositivos OpenCL disponibles e imprimir los resultados.
Esta opción solo está disponible cuando FFmpeg se ha compilado con "--enable-opencl".

Cuando FFmpeg se configura con "--enable-opencl", las opciones para el OpenCL global
el contexto se establece a través de -opciones_opencl. Consulte la sección "Opciones de OpenCL" en ffmpeg-
utils manual para obtener la lista completa de opciones compatibles. Entre otras, estas opciones
incluir la capacidad de seleccionar una plataforma y un dispositivo específicos para ejecutar el código OpenCL
sobre. De forma predeterminada, FFmpeg se ejecutará en el primer dispositivo de la primera plataforma. Mientras que la
Las opciones para el contexto OpenCL global brindan flexibilidad al usuario para seleccionar el
Dispositivo OpenCL de su elección, la mayoría de los usuarios probablemente querrán seleccionar el más rápido
Dispositivo OpenCL para su sistema.

Esta opción ayuda a seleccionar la configuración más eficiente identificando
el dispositivo apropiado para el sistema del usuario. El punto de referencia incorporado se ejecuta en todos los
Dispositivos OpenCL y el rendimiento se mide para cada dispositivo. Los dispositivos en el
La lista de resultados se ordena en función de su rendimiento con el dispositivo más rápido en la lista.
primero. El usuario puede invocar posteriormente ffmpeg utilizando el dispositivo que se considere más
apropiado a través de -opciones_opencl para obtener el mejor rendimiento para OpenCL
código acelerado.

El uso típico para utilizar el dispositivo OpenCL más rápido implica los siguientes pasos.

Ejecute el comando:

ffmpeg-opencl_bench

Anote el ID de la plataforma (pidx) e ID de dispositivo (didx) del primer dispositivo, es decir, más rápido
en la lista. Seleccione la plataforma y el dispositivo con el comando:

ffmpeg -opencl_options platform_idx = : device_idx = ...

-opciones_opencl opciones (global)
Configure las opciones del entorno OpenCL. Esta opción solo está disponible cuando FFmpeg ha sido
compilado con "--enable-opencl".

opciones debe ser una lista de clave=propuesta de pares de opciones separados por ':'. Consulte la sección `` OpenCL
Opciones '' en el manual ffmpeg-utils para ver la lista de opciones admitidas.

AVOpciones
Estas opciones son proporcionadas directamente por libavformat, libavdevice y libavcodec
Bibliotecas. Para ver la lista de AVOpciones disponibles, use el -ayuda opción. Son
separados en dos categorías:

genérico
Estas opciones se pueden configurar para cualquier contenedor, códec o dispositivo. Las opciones genéricas son
enumerados en las opciones de AVFormatContext para contenedores / dispositivos y en AVCodecContext
opciones para códecs.

privada
Estas opciones son específicas del contenedor, dispositivo o códec dado. Opciones privadas
se enumeran en sus correspondientes contenedores / dispositivos / códecs.

Por ejemplo, para escribir un encabezado ID3v2.3 en lugar de un ID3v2.4 predeterminado en un archivo MP3, use
de la forma más versión_id3v2 opción privada del muxer MP3:

ffmpeg -i entrada.flac -id3v2_versión 3 salida.mp3

Todas las AVOptions de códec son por flujo y, por lo tanto, se debe adjuntar un especificador de flujo a
de ellas.

Nota la -noopción la sintaxis no se puede utilizar para AVOptions booleanas, utilice -Opción 0/-Opción 1.

Nota: la antigua forma indocumentada de especificar AVOptions por flujo anteponiendo v / a / s a
el nombre de las opciones ahora está obsoleto y se eliminará pronto.

Main opciones
-f archivo de configuración
Leer archivo de configuración archivo de configuración. Si no se especifica, se leerá de forma predeterminada desde
/etc/ffserver.conf.

-n Habilite el modo sin lanzamiento. Esta opción deshabilita todas las directivas "Launch" dentro del
varios " "secciones. Desde ffserver no lanzará ninguna ffmpeg instancias, tu
tendrá que ejecutarlos manualmente.

-d Habilita el modo de depuración. Esta opción aumenta la verbosidad del registro y dirige los mensajes de registro a
stdout. Cuando se especifica, el Registro personalizado se ignora la opción.

CONFIGURACIÓN ARCHIVO SINTAXIS


ffserver lee un archivo de configuración que contiene opciones y configuraciones globales para cada flujo
y alimentar.

El archivo de configuración consta de opciones globales y secciones dedicadas, que deben ser
presentado por "NOMBRE DE LA SECCIÓN ARGS> "en una línea separada y debe terminar con una línea en
la forma "</NOMBRE DE LA SECCIÓN> ". ARGS es opcional.

Actualmente se reconocen las siguientes secciones: Alimentación, Transmite, Redireccionar.

Una línea que comienza con "#" se ignora y se trata como un comentario.

El nombre de las opciones y las secciones no distingue entre mayúsculas y minúsculas.

ACL sintaxis
Una ACL (Lista de control de acceso) especifica la dirección a la que se le permite acceder a un determinado
stream, o escribir un feed determinado.

Acepta las siguientes formas

· Permitir / denegar el acceso a dirección.

ACL PERMITIR
ACL DENY

· Permitir / denegar el acceso a rangos de direcciones desde primera_dirección a última_dirección.

ACL PERMITIR
ACL DENY

Puede repetir la ACL permitir / denegar tantas veces como desee. Es por flujo. los
el primer partido define la acción. Si no hay coincidencias, el valor predeterminado es el inverso
de la última declaración de ACL.

Por lo tanto, 'ACL allow localhost' solo permite el acceso desde localhost. 'ACL deny 1.0.0.0
1.255.255.255 'negaría toda la red 1 y permitiría a todos los demás.

Global opciones
Puerto HTTP número de puerto
Puerto número de puerto
Puerto RTSP número de puerto
Puerto HTTP establece el número de puerto TCP de escucha del servidor HTTP, Puerto RTSP establece el servidor RTSP
escucha el número de puerto TCP.

Puerto es el equivalente de Puerto HTTP y está en desuso.

Debe seleccionar un puerto diferente de su servidor web HTTP estándar si se está ejecutando
en la misma computadora.

Si no se especifica, no se creará ningún servidor correspondiente.

Dirección de enlace HTTP dirección IP
Vincular dirección dirección IP
Dirección de enlace RTSP dirección IP
Establezca la dirección a la que está vinculado el servidor HTTP / RTSP. Solo es útil si tienes varios
interfaces de red.

Vincular dirección es el equivalente de Dirección de enlace HTTP y está en desuso.

MaxHTTPConexiones n
Establezca el número de conexiones HTTP simultáneas que se pueden manejar. Tiene que ser definido
antes de la forma más MaxClients parámetro, ya que define el MaxClients límite máximo.

El valor predeterminado es 2000.

MaxClients n
Establezca el número de solicitudes simultáneas que se pueden manejar. Ya que ffserver es bien rapido,
es más probable que desee dejar este alto y utilizar El ancho de banda máximo.

El valor predeterminado es 5.

El ancho de banda máximo kbps
Establezca la cantidad máxima de kbit / seg que está preparado para consumir cuando transmite a
clientes.

El valor predeterminado es 1000.

Registro personalizado nombre de archivo
Establecer el archivo de registro de acceso (utiliza el formato de archivo de registro estándar de Apache). '-' es el estándar
salida.

Si no se especifica ffserver no producirá ningún registro.

En caso de que la opción de línea de comandos -d se especifica esta opción se ignora, y el registro es
escrito en salida estándar.

No Daemon
Establezca el modo sin demonio. Esta opción se ignora actualmente desde ahora ffserver siempre
funciona en modo sin demonio y está en desuso.

Usar valores predeterminados
Sin valores predeterminados
Controle si las opciones de códec predeterminadas se utilizan para todas las transmisiones o no. Cada
stream puede sobrescribir esta configuración por sí misma. El valor predeterminado es Usar valores predeterminados. El último
la ocurrencia anula la anterior si hay varias definiciones.

Alimentación .
Una sección Feed define un feed proporcionado a ffserver.

Cada transmisión en vivo contiene una secuencia de video y / o audio proveniente de un ffmpeg codificador o
una alternativa, ffserver. Esta secuencia se puede codificar simultáneamente con varios códecs en
varias resoluciones.

Una especificación de instancia de feed se introduce mediante una línea con el siguiente formato:



donde FEED_NOMBRE DE ARCHIVO especifica el nombre exclusivo de la secuencia FFM.

Las siguientes opciones se reconocen dentro de una sección de Feed.

Archive nombre de archivo
Archivo de solo lectura nombre de archivo
Establezca la ruta donde se almacena el archivo de alimentación en el disco.

Si no se especifica, el /tmp/FEED.ffm se asume, donde FEED es el nombre del feed.

If Archivo de solo lectura se utiliza el archivo se marca como de solo lectura y no se eliminará ni
actualizada.

Truncar
Truncar el archivo de noticias en tiempo real, en lugar de adjuntarlo. Por defecto ffserver agregará
datos al archivo, hasta que se alcance el valor de tamaño máximo de archivo (consulte Tamaño máximo de archivo
opción).

Tamaño máximo de archivo tamaño
Establezca el tamaño máximo del archivo de alimentación en bytes. 0 significa ilimitado. Los sufijos "K"
Se reconocen (2 ^ 10), "M" (2 ^ 20) y "G" (2 ^ 30).

El valor predeterminado es 5M.

Lanzamiento args
Lanzar un ffmpeg comando al crear ffserver.

args debe ser una secuencia de argumentos que se proporcionarán a un ffmpeg ejemplo. El primero
El argumento proporcionado se ignora y se reemplaza por una ruta con el mismo nombre de directorio de
de la forma más ffserver instancia, seguido del argumento restante y terminado con una ruta
correspondiente a la alimentación.

Cuando finaliza el proceso iniciado, ffserver lanzará otra instancia del programa.

En caso de que necesite un más complejo ffmpeg configuración, por ejemplo, si necesita generar
múltiples feeds FFM con un solo ffmpeg ejemplo, deberías lanzar ffmpeg a mano.

Esta opción se ignora en caso de que la opción de línea de comandos -n está especificado.

ACL especulación
Especifique la lista de direcciones IP permitidas o denegadas para escribir el feed. Múltiple
Se pueden especificar opciones de ACL.

Transmite .
Una sección de flujo define un flujo proporcionado por ffserver, e identificado por un solo nombre.

La transmisión se envía al responder a una solicitud que contiene el nombre de la transmisión.

Una sección de flujo debe ser introducida por la línea:



donde STREAM_NOMBRE especifica el nombre exclusivo de la secuencia.

Las siguientes opciones se reconocen dentro de una sección de Stream.

Las opciones de codificación están marcadas con el codificación etiqueta, y se utilizan para establecer la codificación
parámetros y se asignan a las opciones de codificación libavcodec. No todas las opciones de codificación son
admitido, en particular, no es posible configurar las opciones privadas del codificador. Con el fin de
anular las opciones de codificación especificadas por ffserver, puedes usar el ffmpeg
override_ffserver opción de línea de comandos.

Solo uno de los Alimentación y Archive Deben establecerse opciones.

Alimentación nombre de la alimentación
Configure la alimentación de entrada. nombre de la alimentación debe corresponder a un feed existente definido en un "Feed"
.

Cuando se establece esta opción, las opciones de codificación se utilizan para configurar la codificación operada por
el mando a distancia ffmpeg .

Archive nombre de archivo
Establezca el nombre de archivo del archivo de entrada pregrabado para transmitir.

Cuando se establece esta opción, las opciones de codificación se ignoran y el contenido del archivo de entrada se
re-transmitido como está.

Formato nombre_formato
Establezca el formato de la secuencia de salida.

Debe ser el nombre de un formato reconocido por FFmpeg. Si se establece en estado, se trata como
una secuencia de estado.

formato de entrada nombre_formato
Establecer formato de entrada. Si no se especifica, se adivina automáticamente.

Pre anuncio n
Ajústelo al número de segundos hacia atrás en el tiempo para comenzar. Tenga en cuenta que la mayoría de los jugadores
almacenará en búfer de 5 a 10 segundos de video, y también debe permitir que aparezca un fotograma clave
en el flujo de datos.

El valor predeterminado es 0.

InicioEnviarEnClave
No envíe la transmisión hasta que obtenga el primer fotograma clave. Por defecto ffserver enviará
datos inmediatamente.

MaxTiempo n
Establezca la cantidad de segundos para ejecutar. Este valor establece la duración máxima de la transmisión a
el cliente podrá recibir.

Un valor de 0 significa que no se establece ningún límite en la duración de la transmisión.

ACL especulación
Configure ACL para la transmisión.

ACL dinámico especulación
Opción RTSPO opción
Dirección de multidifusión dirección
Puerto de multidifusión Puerto
multidifusiónTTL entero
sin bucle
FaviconURL url
Establezca favicon (icono favorito) para la página de estado del servidor. Se ignora por regular
arroyos.

Autor propuesta de
Comentario propuesta de
Derechos de Autor propuesta de
Título propuesta de
Configure los metadatos correspondientes a la opción. Todas estas opciones están obsoletas a favor de
metadatos.

metadatos clave propuesta de
Establezca el valor de los metadatos en el flujo de salida.

Usar valores predeterminados
Sin valores predeterminados
Controle si las opciones de códec predeterminadas se utilizan para la transmisión o no. El valor predeterminado es
Usar valores predeterminados a menos que esté deshabilitado a nivel mundial.

Sin audio
No hay video
Suprime audio / video.

códec de audio nombre_códec (codificación, audio)
Configure el códec de audio.

Tasa de bits de audio y (codificación, audio)
Establezca la tasa de bits para la transmisión de audio en kbits por segundo.

Canales de audio n (codificación, audio)
Establecer el número de canales de audio.

Tasa de muestra de audio n (codificación, audio)
Configure la frecuencia de muestreo para el audio. Cuando use tasas de bits bajas, debe reducir este
frecuencia a 22050 o 11025. Las frecuencias admitidas dependen del audio seleccionado
códec.

AVOptionAudio [códec:]opción propuesta de (codificación, audio)
Establezca una opción genérica o privada para la transmisión de audio. La opción privada debe tener el prefijo
El nombre del códec o el códec deben definirse antes.

AVPresetAudio preestablecido (codificación, audio)
Establecer un preajuste para la transmisión de audio.

Códec de vídeo nombre_códec (codificación, video)
Configure el códec de video.

Bitrate de vídeo n (codificación, video)
Establezca la tasa de bits para la transmisión de video en kbits por segundo.

Rango de tasa de bits de video distancia (codificación, video)
Establece el rango de velocidad de bits de video.

Se debe especificar un rango en el formulario minrate-máxima calificación, y especifica el minrate y
máxima calificación opciones de codificación expresadas en kbits por segundo.

VideoBitRateRangoTolerancia n (codificación, video)
Establezca la tolerancia de la tasa de bits de video en kbits por segundo.

PixelFormat formato de píxel (codificación, video)
Establecer formato de píxel de video.

Depurar entero (codificación, video)
Configurar video depurar opción de codificación.

Estricto entero (codificación, video)
Configurar video estricto opción de codificación.

Tamaño del búfer de vídeo n (codificación, video)
Establezca el tamaño del búfer de control de velocidad, expresado en KB.

Velocidad de fotogramas de vídeo n (codificación, video)
Establece el número de fotogramas de video por segundo.

Tamaño de vídeo (codificación, video)
Establecer el tamaño del cuadro de video, debe ser una abreviatura o en el formulario WxH. Vea de la forma más
Video tamaño . in de la forma más utilidades ffmpeg(1) manual.

El valor predeterminado es "160x128".

VídeoIntraOnly (codificación, video)
Transmita solo cuadros intra (útil para velocidades de bits bajas, pero elimina la velocidad de cuadros).

VideoGopTamaño n (codificación, video)
Si no es solo intra, se transmite un intracuadro cada fotograma de VideoGopSize. Video
la sincronización solo puede comenzar en un intracuadro.

Etiqueta de video etiqueta (codificación, video)
Establecer etiqueta de video.

Video de alta calidad (codificación, video)
Vídeo4MovimientoVector (codificación, video)
BitExacto (codificación, video)
Establecer marca de codificación bitexact.

IdctSimple (codificación, video)
Establezca un algoritmo IDCT simple.

Qescala n (codificación, video)
Habilite la codificación de calidad constante y establezca el valor de qscale (escala de cuantificación) de video,
Expresado en n Unidades QP.

VídeoQMin n (codificación, video)
VídeoQMax n (codificación, video)
Establecer video qmin / qmax.

VídeoQDiff entero (codificación, video)
Configurar video q diferencia opción de codificación.

Máscara luminosa flotar (codificación, video)
máscara oscura flotar (codificación, video)
Set máscara_lumi/máscara_oscura opciones de codificación.

AVOptionVideo [códec:]opción propuesta de (codificación, video)
Establezca una opción genérica o privada para la transmisión de video. La opción privada debe tener el prefijo
El nombre del códec o el códec deben definirse antes.

AVPresetVideo preestablecido (codificación, video)
Establecer un ajuste preestablecido para la transmisión de video.

preestablecido debe ser la ruta de un archivo predeterminado.

Server estado stream

Un flujo de estado del servidor es un flujo especial que se utiliza para mostrar estadísticas sobre el
ffserver operaciones.

Debe especificarse configurando la opción Formato a estado.

Redireccionar .
Una sección de redireccionamiento especifica dónde redirigir la URL solicitada a otra página.

Una sección de redireccionamiento debe ser introducida por la línea:



donde NOMBRE es el nombre de la página que se debe redireccionar.

Solo acepta la opción Enlance, que especifica la URL de redireccionamiento.

STREAM EJEMPLOS


· JPEG de varias partes


Feed feed1.ffm
Formato mpjpeg
Velocidad de fotogramas de vídeo 2
VídeoIntraOnly
Sin audio
Estricto -1


· JPEG único


Feed feed1.ffm
Formatear jpeg
Velocidad de fotogramas de vídeo 2
VídeoIntraOnly
Tamaño de video 352x240
Sin audio
Estricto -1


· Destello


Feed feed1.ffm
Formato swf
Velocidad de fotogramas de vídeo 2
VídeoIntraOnly
Sin audio


· Compatible con ASF


Feed feed1.ffm
Formatear asf
Velocidad de fotogramas de vídeo 15
Tamaño de video 352x240
Velocidad de bits de vídeo 256
VideoBufferTamaño 40
VideoGopTamaño 30
Tasa de bits de audio 64
InicioEnviarEnClave


· Audio MP3


Feed feed1.ffm
Formato mp2
códec de audio mp3
Tasa de bits de audio 64
Canales de audio 1
Tasa de muestra de audio 44100
No hay video


· Audio Ogg Vorbis


Feed feed1.ffm
Título de metadatos "Título de la transmisión"
Tasa de bits de audio 64
Canales de audio 2
Tasa de muestra de audio 44100
No hay video


· Real con audio solo a 32 kbits


Feed feed1.ffm
Formato rm
Tasa de bits de audio 32
No hay video


· Real con audio y video a 64 kbits


Feed feed1.ffm
Formato rm
Tasa de bits de audio 32
Velocidad de bits de vídeo 128
Velocidad de fotogramas de vídeo 25
VideoGopTamaño 25


· Para la transmisión que proviene de un archivo: solo necesita establecer el nombre del archivo de entrada y, opcionalmente,
un nuevo formato.


Archivo "/usr/local/httpd/htdocs/tlive.rm"
Sin audio



Archivo "/usr/local/httpd/htdocs/test.asf"
Sin audio
Autor de metadatos "Yo"
Copyright de los metadatos "Super MegaCorp"
Título de metadatos "Probar transmisión desde disco"
Comentario de metadatos "Comentario de prueba"


Use ffserver en línea usando los servicios de onworks.net


Servidores y estaciones de trabajo gratuitos

Descargar aplicaciones de Windows y Linux

  • 1
    MSYS2
    MSYS2
    MSYS2 es una colección de herramientas y
    bibliotecas que le proporcionan una
    entorno fácil de usar para la construcción,
    instalar y ejecutar Windows nativo
    software. Con ...
    Descargar MSYS2
  • 2
    libjpeg-turbo
    libjpeg-turbo
    libjpeg-turbo es un códec de imagen JPEG
    que usa instrucciones SIMD (MMX, SSE2,
    NEON, AltiVec) para acelerar la línea de base
    Compresión y descompresión JPEG activadas
    x86, x8 ...
    Descargar libjpeg-turbo
  • 3
    Xtreme Download Manager
    Xtreme Download Manager
    El proyecto tiene ahora un nuevo hogar:
    https://xtremedownloadmanager.com/ For
    desarrolladores:
    https://github.com/subhra74/xdm Xtreme
    Download Manager es una poderosa herramienta pa...
    Descarga el administrador de descargas Xtreme
  • 4
    TTGO VGA32 Lite
    TTGO VGA32 Lite
    Características: 4:3 y 16:9 de baja resolución
    Salida VGATeclado y mouse PS/2
    interfaz de usuario basada en inputText (TUI)
    con administrador de diálogo Unicode parcial
    soporteDispositivo esclavo...
    Descargar TTGO VGA32 Lite
  • 5
    Cargador de arranque Clover EFI
    Cargador de arranque Clover EFI
    El proyecto se ha trasladado a
    https://github.com/CloverHackyColor/CloverBootloader..
    Características: Arranque macOS, Windows y Linux
    en UEFI o en modo heredado en Mac o PC con
    UE...
    Descarga el gestor de arranque Clover EFI
  • 6
    rpmsunidos
    rpmsunidos
    ¡Únase a nosotros en Gitter!
    https://gitter.im/unitedrpms-people/Lobby
    Habilite el repositorio URPMS en su
    sistema -
    https://github.com/UnitedRPMs/unitedrpms.github.io/bl...
    Descargar unitedrpms
  • Más "

Comandos de Linux

Ad