VideoLAN Streaming Howto Alexis de Lattre Johan Bilien Anil Daoud Clément Stenac Antoine Cellerier Jean-Paul Saman Copyright © 2002-2005 del proyecto VideoLAN Se concede permiso para copiar, distribuir y / o modificar este documento bajo los términos de la GNU General Public License publicada por la Fundación para el Software Libre, ya sea la versión 2 de la Licencia, o (a su elección) cualquier versión posterior. El texto de la licencia se puede encontrar en el apéndice. Licencia Pública General GNU . Resumen Este documento explica cómo se debe transmitir, codificar y guardar secuencias utilizando la solución VideoLAN Tabla de contenidos 1. Streaming, Muxers y códecs Introducción Muxers y códecs 2. Fácil de streaming Introducción Streaming con el Asistente Streaming usando la interfaz gráfica de usuario 3. Avanzada de streaming utilizando la línea de comandos Estructura de la producción corriente Descripción de los módulos Ejemplos 4. Ejemplos de uso avanzado de la producción corriente de VLC (transcodificación, múltiples streaming, etc ..) Transcodificación Múltiples streaming Transcodificación y streaming de múltiples Transmisión HTTP RTP streaming RTSP MMS / MMSH streaming de Windows Media Player
Utilice el es el módulo 5. VLM - Múltiples streaming y vídeo a la carta VLM Ejemplos 6. Recibir y salvar un arroyo Recibir un flujo con VLC Guardar un flujo con VLC Recibir un flujo con un set-top-box 7. Transmitir un archivo Transmitir un archivo con VLC 8. Flujo de un DVD Flujo de un DVD con VLC 9. Flujo de un canal DVB (satélite o televisión digital terrestre) Instalar los drivers DVB Stream con VLS Flujo con VLC 10. Corriente de las tarjetas de codificación y otros periféricos de captura Hardware de las tarjetas de codificación Software de codificación de tarjetas Stream con DirectShow 11. Transmisión desde una videocámara DV Instale el libraw1394 y libavc1394 Corriente con DV 12. Streaming a través de IPv6 Streaming a través de IPv6 A. Licencia pública general GNU Preámbulo TÉRMINOS Y CONDICIONES para la copia, distribución y modificación Cómo aplicar estos términos a sus nuevos programas
Capítulo 1. Streaming, Muxers y códecs Tabla de contenidos Introducción Muxers y códecs
Introducción Información general VideoLAN es una solución de software completa para transmisión de vídeo, desarrollada por estudiantes de la Ecole Centrale Paris y desarrolladores de todo el mundo, bajo la GNU General Public License (GPL). VideoLAN está diseñado para transmitir vídeo MPEG en redes de gran ancho de banda. La solución VideoLAN incluye: • VLS (VideoLAN Server), que puede transmitir archivos MPEG-1, MPEG-2 y MPEG-4, DVD, canales digitales de satélite, canales digitales de televisión terrestre y vídeo en vivo sobre la red en unicast o multicast • VLC (inicialmente VideoLAN Client), que puede ser usado como servidor para transmitir archivos MPEG-1, MPEG-2 y MPEG-4, DVD y vídeo en vivo sobre la red en unicast o multicast, o utilizarse como un cliente para recibir, decodificar y visualizar flujos MPEG en varios sistemas operativos He aquí una ilustración de la solución VideoLAN completa:
[D]
VideoLAN solución global Más detalles sobre el proyecto se puede encontrar en el sitio web de VideoLAN .
VideoLAN software VLC Media Player VLC funciona en muchas plataformas: Linux, Windows, Mac OS X, BeOS, * BSD, Solaris, Linux Familiar, Yopy / Linupy y QNX. Se puede leer: • MPEG-1, MPEG-2 y MPEG-4 / ... archivos DivX desde un disco duro, una unidad de CD-ROM, • DVD y VCD • desde una tarjeta de satélite (DVB-S) • de una cámara de vídeo (DV) • MPEG-1, MPEG-2 y MPEG-4 de la red enviados por la salida de VLS o VLC VLC también puede ser utilizado como un servidor para escuchar: • MPEG-1, MPEG-2 y MPEG-4 / DivX, • DVD,
• •
desde una tarjeta codificadora MPEG, desde una videocámara DV,
a: una máquina (pe a una dirección IP): esto se llama unicast , un grupo dinámico de máquinas que los clientes puedan conectarse o desconectarse (pe a una dirección IP multicast): esto se llama multicast , en IPv4 o IPv6. Para obtener la lista completa de las posibilidades de VLC en cada plataforma, consulte la página de características de VLC . • •
Nota VLC no funciona en Mac OS 9, y probablemente no lo hará nunca.
Mini-SAP-servidor Usted puede agregar un servicio de información de canal basado en el estándar SAP / SDP para la solución VideoLAN. El mini-servidor-SAP envía anuncia sobre los programas de multidifusión en la red en IPv4 o IPv6, y VLCs recibir estos ANUNCIA y añadir automáticamente los programas anunciados a su lista de temas. Las obras mini-servidor-SAP en Linux y Mac OS X.
Muxers y códecs ¿Qué es un codec? Para entender completamente la solución VideoLAN, se debe entender la diferencia entre un codec y un formato de contenedor Un códec es un algoritmo de compresión, utilizado para reducir el tamaño de un arroyo. Hay codecs de audio y codecs de vídeo. MPEG-1, MPEG-2, MPEG-4, Vorbis, DivX, ... son los codecs
¿Qué es un formato contenedor? Para empezar, piense en un formato de contenedor como una caja de envío estándar. Usted recibe una caja en el correo y usted piensa, "Cool! ¿Qué hay dentro." Usted realmente no se preocupan por la propia caja, usted se preocupa por lo que hay en esa caja. El problema? No se puede ver en el cuadro. Entonces, ¿qué haces? Usted obtiene un cuchillo y lo abrió. Un formato de contenedor sigue esta misma idea básica. Contiene uno o varios flujos ya codificados por codecs. Muy a menudo, hay un flujo de audio y vídeo. AVI, OGG, MOV, ASF, MP4 ... son formatos de envase. Los flujos de contenidos pueden ser codificados utilizando diferentes codecs. En un mundo perfecto, se puede poner cualquier codec en cualquier formato contenedor. Desafortunadamente, hay algunas incompatibilidades. Usted puede encontrar una matriz de posibles codecs y formatos contenedor en la página de características
Codificación de un vídeo Este es el primer paso en el que se va a crear la caja de envío. En primer lugar usted necesita para codificar el archivo. Esto significa que un archivo, tanto como si es un archivo de audio, vídeo, es comprimido a otro formato que normalmente ocupa menos espacio en el disco físico que el formato anterior. Los métodos comunes de codificación de vídeo son DivX, MPEG-1, MPEG-2, MPEG4 ... método de codificación de audio más comunes es el formato MP3 o Ogg Vorbis. Entonces usted tiene que MUX (o múltiple). Esto significa, básicamente, un proceso en distintas partes del video (o secuencias) se unen en un solo archivo.
Reproducción de un vídeo
Ahora que tiene su caja, es necesario abrirlo antes para ver el contenido. Eso es exactamente lo que VLC va a hacer. Para descodificar un flujo, VLC primero demultiplexa ella. Esto significa que lee el formato contenedor y separa, audio, vídeo y subtítulos, si los hubiere. archivos demuxing no debilita la calidad de audio ni de vídeo, no hace nada por estos flujos de datos, que justs simplemente los guarda en archivos separados, cada uno con uno de los elementos del archivo original. Luego, cada uno de estos se pasan decodificadores que hacer el procesamiento matemático para descomprimir los flujos. Hay una cosa en particular sobre MPEG: • MPEG es un codec. Hay varias versiones de él, llamado MPEG-1, MPEG-2, MPEG-4, ... • MPEG también es un formato contenedor, a veces se denomina Sistema de MPEG. Hay varios tipos de MPEG: ES, PS, TS. Al reproducir un vídeo MPEG de un DVD, por ejemplo, el flujo MPEG en realidad está compuesto de varias corrientes (llamados flujos elementales, ES): existe una corriente de video, uno para el audio, otro para subtítulos, y así sucesivamente. Estas diferentes corrientes se mezclan en una sola corriente del Programa (PS). Así, el VOB. Archivos que se encuentran en un DVD son realmente ficheros MPEG-PS. Pero este formato PS no está adaptado para el streaming de vídeo a través de una red o por satélite, por ejemplo.Así que, otro formato llamado Transport Stream (TS) fue diseñado para el streaming de videos MPEG a través de dichos canales.
Capítulo 2. Fácil de streaming Tabla de contenidos Introducción Streaming con el Asistente Streaming usando la interfaz gráfica de usuario
Introducción La manera más fácil para empezar a visualizar con VLC es mediante el uso de una de las interfaces gráficas de usuario: wxWindows para Windows y GNU / Linux, el skinnable Windows y GNU / Linux o interfaz de la interfaz de Mac OS X nativo.
Streaming con el Asistente El Streaming / Asistente de transcodificación te lleva paso a paso en el proceso de streaming de medios de comunicación en una red o guardarlo en tu disco duro. Este asistenteofrece menús fáciles de usar, pero proporciona un conjunto limitado de opciones.
Nota El asistente sólo está disponible en la interfaz wxWindows.
Inicio del asistente Para iniciar el Streaming / Asistente para la transcodificación , abra el menú "Archivo" y seleccione la opción "Asistente.
[D]
Inicio del asistente
Asistente de diálogo Primero, seleccione el tipo de tarea: • Corriente a la red : seleccione esta opción si desea transmitir contenido multimedia en la red. • Transcodificación / Guardar en el archivo : Elija esta opción si desea cambiar de un codec de audio de archivos y / o códec de vídeo, su tasa de bits, y / o método de encapsulación.
[D]
El cuadro de diálogo Asistente para
Selección de entrada Seleccione una corriente (como un archivo, una secuencia de red, un disco, un dispositivo de captura ...) mediante la selección de la Elegir ... de diálogo o un elemento existente en su lista de temas, utilizando la lista de reproducción actual número de opciones. Extracto parcial : Para leer sólo una parte de la corriente, marque la casilla "Activar" casilla de verificación y elija fecha de inicio y final (en segundos). Esta opción sólo debe utilizarse con corrientes que usted puede controlar, tales como archivos o discos, pero no flujos de red o dispositivos de captura.
[D]
Asistente de selecci贸n de entrada
[D]
Asistente de selección de entrada de la lista de temas
Streaming métodos Si elige la corriente a la red de opción, puede especificar el método de transmisión. Los métodos disponibles son: • UDP Unicast : Stream a un solo equipo. Introduzca la dirección IP del cliente al (en el 0.0.0.0 - Cadena 223.255.255.255). • UDP Multicast : Stream a múltiples ordenadores en multidifusión. Introduzca la dirección IP del grupo multicast (en el rango de 224.0.0.0 a 239.255.255.255). • HTTP : Stream utilizando el protocolo HTTP. Si deja el destino de cuadro de texto vacío, VLC se escucha en todas las interfaces de red del servidor en el puerto 8080.Especifique una dirección, el puerto y la ruta en la que escuchar con la siguiente sintaxis [IP] [: puerto] [/ ruta]. Por ejemplo, 192.168.0.1:80 / arroyo hará VLC escuchar en la interfaz de llevar la dirección IP 192.168.0.1, en el puerto TCP 80, en la corriente / de archivos virtual .
[D]
Asistente para la transmisión de método
Transcodificación opciones Si elige la transcodificación / Guardar archivo de opción, usted ahora puede especificar el nuevo audio y codecs de vídeo y velocidades de bits que desea convertir a la entrada. (Ver Videos, Muxers y códecs )
[D]
Asistente para transcodificar
Método de encapsulación Elija el formato de método. La UDP streaming MPEG métodos requieren encapsulación TS. El método de transmisión HTTP se puede utilizar con el PS MPEG, TS MPEG, MPEG 1, OGG, RAW o encapsulación ASF. Guardar en un archivo se puede hacer utilizando cualquier formato de encapsulación compatible con los codecs elegido. (Ver Videos, Muxers y códecs )
[D]
Asistente método de encapsulación
Opciones de transferencia de Si opta por la corriente a la red ahora puede especificar varias opciones. • Time to Live (TTL) Esto establece el número de enrutadores que el flujo puede ir a través, por unidifusión UDP y acceder a los métodos de unidifusión. Si usted no sabe lo que esto significa, debe dejar el valor por defecto.
Nota
•
Con multicast UDP, el TTL predeterminado se establece en 1, lo que significa que su corriente no conseguirá a través de cualquier router. Usted lo desea, puede aumentar si usted quiere dirigir su secuencia de multidifusión. SAP anuncian Para anunciar su flujo en la red cuando se utiliza el método de transmisión UDP, usando el protocolo SAP, escriba el nombre de la corriente en la entrada de texto y marque la casilla. Esto no está disponible para la transmisión método HTTP.
[D]
Asistente para la transmisi贸n de las opciones
Guardar archivo de destino Si elige transcodificaci贸n / Guardar archivo ahora puede especificar el archivo que desea guardar la secuencia de.
[D]
Asistente para guardar el archivo - interfaz wxWindows Ahora puede seleccionar el acabado botón para iniciar la transmisión / conversión de la fuente.
Streaming usando la interfaz gráfica de usuario Introducción Una segunda forma de crear una instancia de streaming con VLC es mediante la corriente de salida del panel en el Abierto de ... de diálogo de la wxWindows (Windows / GNU Linux), personalizable (Windows / GNU Linux) y Mac OS X interfaces. métodos de Streaming y opciones que se utilizan el 99% del tiempo debería estar disponible en este panel. Para transmitir los medios de comunicación abierto, marque la casilla "Stream de salida" en la casilla "Abrir Archivo / Disco / Red Corriente / Dispositivo de captura" de diálogo y haga clic en el botón "Configuración".
[D]
Abrir el archivo de diรกlogo - Interfaz wxWindows
[D]
De diรกlogo Abrir archivo - interfaz de Mac OS X
El cuadro de diรกlogo de salida Corriente
[D]
Flujo de salida de diรกlogo - Interfaz wxWindows
[D]
Flujo de salida de diálogo - Interfaz wxWindows
Corriente de salida LMR En la interfaz wxWindows, un cuadro de texto muestra el flujo de salida LMR (los medios de comunicación Ressource Locator). Este se actualiza a medida que cambia las opciones en el diálogo de salida de corriente. Para obtener más información sobre cómo modificar el flujo de salida LMR lectura avanzada de streaming utilizando la línea de comandos .
Los métodos de producción •
•
Escuchar localy : Indicar la secuencia en la pantalla. Esto permite mostrar el vídeo en streaming son en realidad. Efectos de la transcodificación, reescalar, etc .. se puede controlar localmente utilizando esta función. Archivo : Guardar la corriente a un archivo. El volcado de la entrada en bruto opción permite guardar la secuencia de entrada, ya que leer por VLC, sin ningún tipo de procesamiento.
• •
HTTP : Utilice el método de transmisión HTTP. Especifique la dirección IP y el número de puerto TCP en el que a escuchar. MMSH : Este método permite el acceso para escuchar a Microsoft Windows Media Player. Especifique la dirección IP y el número de puerto TCP en el que a escuchar.
Nota •
Esto sólo funcionará con la ASF método enacpsulation. UDP : transmitir en unicast, proporcionando una dirección en el 0.0.0.0 223.255.255.255 rango o multicast, proporcionando una dirección en el 224.0.0.0 - 239.255.255.255 rango. También es posible para escuchar a direcciones IPv6.
Nota •
Esto sólo funcionará con el TS método de encapsulación. RTP : Utilizar el protocolo de transferencia de Tiempo-Real. Al igual que UDP, se puede utilizar tanto unicast y multicast electrónico.
Nota UDP, HTTP, RTP MMSH y métodos requieren para seleccionar la corriente opción en la interfaz de Mac OS X (Ver Videos, Muxers y códecs )
Método de encapsulación Seleccione un método de encapsulación que se ajuste a los codecs y método de acceso de su corriente, entre MPEG TS, PS MPEG, MPEG 1, OGG, RAW, ASF, AVI, MP4 y MOV. (Ver Videos, Muxers y códecs )
Transcodificación opciones Habilitar la transcodificación de vídeo por el control de la "Video Codec" casilla de verificación. Elegir un códec de la lista. También puede especificar una tasa de bits promedio, la magnitud de entrada. (Ver Videos, Muxers y códecs ) Habilitar la transcodificación de audio por control de la "Audio Codec" casilla de verificación. Elegir un códec de la lista. También puede especificar una tasa de bits promedio y el número de canales de audio a codificar. (Ver Videos, Muxers y códecs )
diversas opciones Seleccionar métodos de anunciar su corriente. Usted puede utilizar SAP (Servicio anuncian Protocol) o SLP (Service Location Protocol). También debe especificar un nombre del canal. La interfaz de Mac OS X también permite exportar la descripción (SDP) de archivo de una sesión de RTP con el interior servidor HTTP o RTSP de VLC, o como un archivo.Esto puede hacerse utilizando las casillas de verificación de acuerdo. La dirección URL SDP cuadro de texto permite dar la url o destino en el archivo PSD estará disponible.
Capítulo 3. Avanzada de streaming utilizando la línea de comandos Tabla de contenidos Estructura de la producción corriente Descripción de los módulos Ejemplos
Estructura de la producción corriente Stream de salida es el nombre de la función de VLC que permite a la salida de cualquier flujo de leer por VLC en un archivo o una secuencia de red en lugar de mostrarla. Diferentes tipos de tratamiento se puede aplicar a la corriente durante este proceso (transcodificación, y de dimensión, los filtros, de re-multiplexado ...) Salida de corriente incluye diferentes módulos, cada uno de ellos con capacidades diferentes. Puede cadena de módulos para mejorar las posibilidades. Esta es la lista de los módulos disponibles actualmente: • estándar permite enviar la corriente a través de una salida de acceso del módulo: por ejemplo, UDP, archivo, HTTP, ... Probablemente querrá usar este módulo al final de sus cadenas. • transcodificación se usa para codificar (decodificar y volver a codificar la secuencia de uso de un codec diferente y / o tasa de bits), el audio y el vídeo de la secuencia de entrada. Si la entrada o el método de acceso de salida no permite controlar el ritmo (de red, dispositivos de captura), este hecho "al vuelo", en tiempo real. Esto puede requerir una gran cantidad de potencia de CPU, dependiendo de los parámetros establecidos. Otras corrientes, tales como archivos y discos se transcodifican lo más rápido que el sistema lo permite. • duplicados le permite crear una segunda cadena, donde el flujo manejado de manera independiente. • pantalla le permite visualizar el flujo de entrada, como VLC haría normalmente. Usado con el duplicado del módulo, esto le permite controlar la corriente, mientras que el procesamiento. • RTP en flujo continuo por RTP (un puerto UDP para cada corriente primaria). Este módulo también permite el soporte de RTSP. • es permite realizar por separado las corrientes elementales (ES) de un flujo de entrada. Esto puede ser usado para almacenar audio y vídeo a los archivos separados, por ejemplo. Cada uno de estos módulos puede tener opciones. Aquí es la sintaxis que debe utilizar: vlc input_stream - sout "# Module1 opcion1 = {{parámetro1 parámetro} opcion1, opcion2 = parámetro2}: {modulo2 opción1 =..., opción2 =...}:..." %
Nota Algunas de las opciones del módulo (opcion1 en el ejemplo) tienen que ser establecidos, otros son opcionales. Opción parámetros (parámetro-opcion1 en el ejemplo) son
siempre opcional. Estos parámetros de opciones son también a menudo configuración muy avanzada. Si usted no entiende su descripción, esto ciertamente significa que usted no los necesita. También puede utilizar la siguiente sintaxis: vlc input_stream - sout-Module1-opcion1 =... - Sout-Module1-opción2 =... - Sout-modulo2-opcion1 =... - Sout-modulo2-opción2 =... ... %
Por ejemplo, para codificar una corriente y enviarlo, utilice: %
vlc input_stream - sout '# transcode {} opciones: estándar {opciones}
Descripción de los módulos estándar (alias std) En este módulo se guarda la secuencia de un archivo o lo envía a través de una red, después de haberlo multiplexados. Las opciones disponibles son:
acceso = Esta opción permite configurar el medio utilizado para guardar o enviar la secuencia. Esta es una opción obligatoria. Las opciones disponibles son: • archivo: guarda la secuencia en un archivo. Utilice el añadir la opción de añadir el flujo a un archivo existente en lugar de reemplazarla. • udp: flujos con una unidifusión UDP o dirección de multidifusión. opciones del artículo son: el almacenamiento en caché <tiempo = en ms> para ajustar la hora VLC debe búfer de datos antes de enviarlo, ttl = <ttl> para establecer el TTL de los paquetes UDP enviados, grupo = <cantidad de packets> a los paquetes enviados por explosión en lugar de uno por uno, a finales = <tiempo en ms> para descartar los paquetes que llegan demasiado tarde en esta etapa de la cadena, en bruto si no quieres esperar hasta que el MTU se llena antes de enviar el paquete. • http:streams a través de HTTP. opciones del artículo son: usuario <nombre = para permitir la autenticación básica HTTP y establezca el usuario, pwd = <contraseña> para establecer la contraseña de autenticación básica, mimo = <tipo <mime para establecer el tipo MIME devuelto por el servidor. • https: corrientes a través de HTTP, utilizando una conexión SSL segura. opciones del artículo son los mismos que para http y: cert = <ruta de acceso a certificate> para establecer el certificado que se utilizará, = <ruta de acceso clave para clave> para establecer la clave privada del servidor de archivos debe usar para la conexión SSL, ca <= ruta a> certificado para establecer la ruta de acceso a la entidad emisora de certificados raíz de utilizar para SSL, crl = <ruta de acceso a certificate> para establecer la revocación del certificado a utilizar para la conexión SSL. • mmsh: secuencias utilizando el protocolo Microsoft MMS. Este protocolo se utiliza como método de transporte por muchos softwares de Microsoft. Tenga en cuenta que sólo una pequeña parte del protocolo MMS es compatible (MMS encapsulado en HTTP). opciones del artículo son los mismos que para el módulo http. • RTP: flujo continuo por RTP Esto sólo se puede utilizar para transmitir archivos MPEG-TS sobre plano RTP. El apoyo a esta opción ha sido eliminada en VLC
0.9.0 y la última. Debe utilizar el rtp corriente módulo de salida en su lugar. Las opciones son las mismas que para el udp ajuste.
MUX = Esta opción le permite definir el método de encapsulación usado para la secuencia resultante. Esta opción tiene que ser establecido. Las opciones disponibles son: • TS: la muxer MPEG2/TS. Esta norma muxer la utiliza para transmitir archivos MPEG 2. Este muxer se puede utilizar con cualquier acceso método. codecs soportados son MPEG 1/2/4, MJPEG, H263, H264, I263, WMV 1 / 2 y Theora para vídeo, audio MPEG, AAC y a52 de la secuencia de audio. opciones del artículo son: pid = <pid>-video para establecer el PID de la pista de vídeo, de audio pid = <pid> para establecer el PID de la pista de audio, pidSPU = <pid> para establecer el PID de los subtítulos pista, pid-PMT = <pid> para establecer el PID del PMT (Programa Mapa tabla), TSID = <id> para configurar el ID de la ST flujo resultante, la configuración de retardo = <shaping en ms> para establecer el intervalo mínimo durante el cual la tasa de bits de la corriente se mantendrá constante, de velocidad de bits variable arroyos, el uso de clave-los marcos que utiliza marcos como los límites para los intervalos de la formación, la polimerización en cadena en el intervalo de <PCR = ms> permite establecer en qué intervalo Programa de Referencias de reloj se enviado, dts-delay = <DELAY en ms> permite retrasar PTS (Presentación Tiempo sellos) de la EDE (decodificación de marca de tiempo) desde el momento dado, la cripta de audio permite habilitar el cifrado de la pista de audio usando el algoritmo CSA, CSA -ck = <key como un personaje word> 16 permite establecer la clave utilizada para el cifrado de CSA. • pd: la muxer MPEG2/PS. Esta norma muxer la de MPEG 2 archivos (. Mpg). Puede ser utilizado con el archivo y la salida de los métodos de http. codecs soportados son MPEG 1 / 2 y MJPEG para vídeo, audio MPEG y a52 de los flujos de audio. La única opción disponible es el punto dst-delay = <DELAY en ms> . Permite retrasar PTS (Presentación Tiempo sellos) de la EDE (decodificación de marca de tiempo) del momento. • mpeg1: el estándar MPEG 1 muxer. Este muxer deben utilizarse en lugar de ps con secuencias de vídeo MPEG 1, cuando se guarda en un archivo o escuchados a través de HTTP. codecs soportados son MPEG 1 y MPEG. Artículos opciones son las mismas que para el muxer PS. • ogg: la muxer ogg. Este es el muxer del proyecto Xiph. Se puede utilizar con los protocolos HTTP y salida de los métodos de archivo. codecs soportados son MPEG 1/2/4, WMV MJPEG 1 / 2 y Theora, los flujos de audio se puede Vorbis, FLAC Speex, a52 o de audio MPEG. No hay ninguna opción para este tema muxer. • asf: la ASF muxer Microsoft. Este es el muxer estándar utilizado para streaming de software de Microsoft. También se utiliza como contenedor de archivos de audio WMA.Este muxer se puede utilizar con el archivo y la salida de los métodos HTTP. codecs soportados son MPEG-4, MJPEG, WMV 1 / 2 para vídeo, audio MPEG, a52 de los flujos de audio. opciones del artículo son: título = <title> , autor = <author> , los derechos de autor mensaje> <copyright = , comentario = <comments> , calificación = <rating>le permiten establecer lo que se muestra en el campo de acuerdo de los comentarios corriente .
•
•
•
asfh: se trata de una versión especial de la muxer ASF, que se debe utilizar para MMSH streaming. MMSH es el método apropiado para la producción solamente. codecs soportados son los mismos que para ASF. opciones del artículo son los mismos que para ASF. AVI: AVI muxer Microsoft. Esta es la encapsulación formato muy común para los archivos MPEG-4. La salida método admitido sólo archivo. codecs soportados son MPEG 1/2/4, H263, H264 y para video, MPEG y audio a52 de los flujos de audio I263. No hay opción para este tema muxer. mpjpeg: la muxer jpeg de varias partes. Este formato de encapsulación se utiliza sobre todo en las cámaras de vídeo vigilancia con una red integrada de servidor. Estas corrientes suelen ser incrustados en páginas web y he visto con navegadores de Internet estándar, ya que son vistos como una sucesión de imágenes jpeg. La salida método admitido sólo HTTP. El códec utilizables sólo es MJPEG. No hay banda sonora puede ser multiplexados en tales corrientes. No hay opción de artículo está disponible para este muxer.
dst = Esta opción permite dar información sobre el lugar donde la corriente en realidad se debe guardar o enviar. Este es el significado de la DST opción dependiendo del parámetro que se utiliza para el acceso a la opción. • Si el archivo se utiliza el método de salida, horario de verano es la ruta completa donde se debe guardar el archivo. • Si el udp o rtp método de salida se utiliza, dst es la dirección de destino multicast o unicast y, opcionalmente, el puerto UDP, en la forma siguiente dirección: puerto . • Si el http , https o mmsh método de salida que se elija, dst es la dirección, el puerto y la ruta de la interfaz de red local en el que el servidor debe escuchar las solicitudes. Si no hay una dirección se da, VLC se escucha en todas las interfaces de red. Estas informaciones tienen que ser suministrados con la dirección: puerto / ruta de sintaxis.
savia Utilice esta opción si desea enviar VLC SAP (Protocolo de Anuncio de Sesión) anuncia. SAP es un protocolo de descubrimiento de servicios, que utiliza una dirección de multidifusión especial para enviar una lista de los arroyos en un servidor.
Nota Esta opción sólo se puede activar con el udp método de salida.
grupo = Esta opción permite especificar el nombre de un facultativo del grupo de los arroyos. Un VLC utiliza como cliente utilizará este campo para clasificar a la corriente.
Nota Esta opción utiliza una extensión privada del protocolo SAP. VLC será el cliente sólo puede leer este campo. Esta opción sólo se puede utilizar es la savia de opción se ha habilitado.
SAP-ipv6 Utilice esta opción si desea que el SAP anuncia que se envíe con el IPv6, el protocolo en vez de IPv4 .
Nota
Esta opción sólo se puede utilizar es la savia de opción se ha habilitado.
slp SLP significa Service Location Protocol . Es una alternativa a SAP para el anuncio de la reunión. Utilice esta opción si desea enviar como anuncia.
name = Utilice esta opción para especificar el nombre de la secuencia que se enviará en SAP y anuncia SLP.
Nota Esta opción sólo puede ser usado de la savia o slp opción ha sido activada.
pantalla Este módulo puede ser utilizado para mostrar la secuencia. Esto es particularmente útil en un duplicado de la cadena, con el fin de supervisar una corriente mientras se está guardando o escuchados. opciones disponibles son:
novideo Usted puede utilizar esta opción para deshabilitar vídeo que aparecen en la corriente.
noaudio Usted puede utilizar esta opción para desactivar el sonido en el flujo de muestra.
delay = Usted puede utilizar esta opción para introducir un retraso en la presentación de la corriente. Retraso tiene que ser dada en ms.
rtp Este módulo puede ser utilizado para enviar una corriente con el RTP (Real Time Protocol) protocolo (vea RFC 3550).
Nota Aunque el uso de RTSP es posible con este módulo, no le permiten realizar vídeo a la carta. Por favor, eche un vistazo a la descripción del módulo de VLM para eso. Las distintas opciones disponibles son:
dst = Esta opción permite dar la dirección IP de destino (para UDP y UDP-Lite) o la escucha de direcciones IP (por DCCP, SCTP y TCP). Puede ser una dirección de host o una dirección de grupo multicast.
puerto de vídeo = Esta opción define el número de puerto el primer video stream elemental será enviado a. Este puerto tiene que ser uniforme.
puerto de audio = Esta opción define el número de puerto los primeros de audio stream elemental será enviado a. Este puerto tiene que ser uniforme.
port = Esta opción especifica el número de puerto el primer otras flujo elemental será enviado a. Este puerto tiene que ser uniforme. Otras corrientes se transmitirá utilizando incluso los puertos directamente sobre éste.
sdp = Esta opción permite establecer la forma en que el SDP (Session Description Protocol) archivo correspondiente la corriente deberán ser puestos a disposición.
Las opciones son: • file: / / <ruta de acceso al archivo de , al exportar el SDP como un archivo local • local> interfaz IP:port/path> http:// , para hacer el registro que puede utilizar el servidor HTTP integrado de VLC.
Nota •
La interfaz IP local argumento es opcional. Si no se da, VLC se escucha en todas las interfaces disponibles. rtsp: / / IP:port/path> interfaz local> , para que el archivo PSD disponible utilizando el RTSP protocolo (vea RFC 2326).
Nota •
La interfaz IP local argumento es opcional. Si no se da, VLC se escucha en todas las interfaces disponibles. savia , para exportar el SDP utilizando el SAP (Protocolo de Anuncio de Sesión, vea RFC 2974).
ttl = Esta opción se puede utilizar para ajustar el TTL (Time to Live) de los enviados los paquetes UDP.
MUX = Esta opción permite establecer el método de encapsulación usado para enviar la corriente. Ver MUX = opciones del estándar de módulo para una descripción de los métodos disponibles. Sólo TS es posible para RTP. De forma predeterminada, cada corriente elemental es enviado como un archivo de medios RTP, es decir, no encapsulado se realiza.
RTCP-MUX Esta opción permite RTP / RTCP multiplexado (véase el proyecto-ietf-AVT-RTP y RTCP--MUX), es decir, envía y recibe paquetes RTCP en los números de puerto igual que los paquetes RTP. De forma predeterminada, los paquetes RTCP se envían y reciben en el puerto siguiente.
proto = Se selecciona el protocolo de transporte para llevar los paquetes RTP. Los valores posibles son: • DCCP : aceptar conexiones entrantes DCCP en la dirección IP (dst =), • sctp : SCTP aceptar conexiones en la dirección IP (dst =), aún no implementadas, • TCP : aceptar conexiones TCP a la dirección IP (dst =) y el uso RFC4571 elaboración de RTP, aún no implementadas, • udp : envía paquetes UDP al destino especificado (ya sea unicast o multicast) este es el valor por defecto, • udplite : envía paquetes UDP-Lite al destino especificado (ya sea unicast o multicast).
name = Esta opción se puede utilizar para establecer el nombre que se mostrará en el cliente recibe la corriente.
descripción = Esta opción se puede utilizar para dar una descripción adicional de la corriente.
url = Esta opción permite dar la dirección de una página web con información adicional acerca de la secuencia.
email = Esta opción permite dar una dirección de correo electrónico
es El es el módulo se puede utilizar para separar los diferentes flujos elementales de un arroyo, y guardar cada uno de ellos en un archivo diferente o enviarlo a un destino independiente. Los parámetros disponibles son los siguientes:
acceso-video = Utilice esta opción para establecer el medio utilizado para guardar o enviar el vídeo corrientes elementales . Los valores posibles y opciones de punto son los mismos que para elacceso de elección de la norma del módulo (véase más arriba).
el acceso de audio = Utilice esta opción para establecer el medio utilizado para guardar o enviar el audio corrientes elementales . Los valores posibles y opciones de punto son los mismos que para elacceso de elección de la norma del módulo (véase más arriba).
acceso = Esta opción puede utilizarse en lugar de tanto acceso de vídeo y de audio acceso a las opciones, cuando comparten la misma configuración.
MUX-video = Utilice esta opción para establecer el método de encapsulación usado para el video flujos elementales . Los valores posibles y opciones de punto son los mismos que para el MUXelección del estándar de módulo (véase más arriba).
MUX-audio = Utilice esta opción para establecer el método de encapsulación usado para el audio corrientes elementales . Los valores posibles y opciones de punto son los mismos que para elMUX elección del estándar de módulo (véase más arriba).
MUX = Esta opción puede utilizarse en lugar de los dos MUX-vídeo y de audio MUX opciones, cuando comparten la misma configuración.
dst-video = Utilice esta opción para establecer la ubicación donde el video flujos elementales deben ser guardados, enviados o puestos a disposición. El significado exacto de esta opción depende del valor del acceso de vídeo opción y es la misma que para la url de la opción estándar de módulo (véase más arriba).
Nota Si se utiliza el % d cadena en el campo url, VLC lo reemplazará por el número de la pista de audio o vídeo en cuenta. El % c cadena será reemplazado por el nombre (fourcc) del codec de la pista.
dst-audio = Utilice esta opción para establecer la ubicación donde el audio corrientes elementales deben ser guardados, enviados o puestos a disposición. El significado exacto de esta opción depende del valor del acceso de audio opción y es la misma que para la url de la opción estándar de módulo (véase más arriba).
Nota Si se utiliza el % d cadena en el campo url, VLC lo reemplazará por el número de la pista de audio o vídeo en cuenta. El % c cadena será reemplazado por el nombre (fourcc) del codec de la pista.
dst = Esta opción puede utilizarse en lugar de tanto dst-vídeo y de audio-dst opciones, cuando comparten la misma configuración.
transcodificar Puede utilizar este módulo para codificar una secuencia, es decir, cambiar sus codecs o tasas de bits de la codificación. Algunos de procesamiento adicional se puede hacer durante este proceso, tales como re-escalado, desentrelazado, muestreo, etc
Nota Dependiendo de la velocidad de bits de la secuencia original y de las opciones elegidas, transcodificación puede ser una tarea muy intensivo de la CPU. Como consecuencia, la transmisión de un tiempo real transcodificado corriente puede conducir a la pérdida de fotogramas o una imagen y el sonido entrecortado en algunos casos, cuando se ejecuta sin recursos. Las opciones disponibles son:
vcodec = Esta opción permite especificar el codec de las pistas de vídeo de la secuencia de entrada debe ser transcodificado al. Lista de codecs disponibles se pueden encontrar en la página de características de transmisión .
VB = Esta opción permite configurar la velocidad de bits de la secuencia de vídeo codificadas, en kbit / s
VENC = Esto permite ajustar el codificador a utilizar para codificar la secuencia de videos. Las opciones disponibles son: • ffmpeg : es el módulo de codificación de libavcodec. Maneja una gran variedad de codecs diferentes (la lista se pueden encontrar en la página de características de transmisión . opciones del artículo son: keyint = <número de frames> permite establecer la cantidad máxima de fotogramas entre dos fotogramas clave, prisa en marcha permite al codificador para disminuir la calidad de la corriente si la CPU no puede mantenerse al día con la velocidad de codificación, entrelazado permite mejorar la calidad de la codificación de flujos entrelazados, de reducción de ruido <noise factor> = reducción permite a un algoritmo de reducción de ruido (se requiere disminuir la tasa de bits en el costo de los detalles en la imagen), VT = tolerancia bitrate <en kbit / s> permite establecer niveles de tolerancia de la tasa de bits de la secuencia de vídeo outputted,bframes = <cantidad de frames> permite establecer la cantidad de fotogramas B entre dos fotogramas clave, qmin <quantizer> = permite establecer la escala de cuantizador mínimo, qmax = <quantizer> permite establecer la escala de cuantizador máximo, QSCALE <quantizer scale> = permite especificar una escala de cuantizador fijo para codificaciones VBR, icuantitativo del factor = factor> <quantization permite establecer el factor de cuantización de fotogramas I, en comparación a los marcos P,hq =
•
•
<calidad> permite elegir el nivel de calidad de la codificación de los vectores de movimiento (los argumentos son simples, tercera o bits, por defecto es FIXME * simple *), estricta = <level de compliance> permite obligar a un cumplimiento más estricto estándar (valores posibles son -1, 0 y 1, por defecto es 0), estricta-rc permite un algoritmo de tasa de control estricto, rc-buffer-size = <size del búfer en bits> permite elegir el tamaño de la búfer utilizado para el control de velocidad (más grande significa más control eficiente de la tarifa), rcbuffer-agresividad = <float en representación de la aggressiveness> permite establecer el control de la frecuencia agresividad tampón FIXME * *, antes de que me permite activar la estimación de movimiento pre, MPEG4- matriz de permitir el uso de la cuantización de la matriz con MPEG2 MPEG4 arroyos, la mejora de la calidad, manteniendo la compatibilidad con decodificadores MPEG2, enrejado permite cuantización trelli (mejor calidad, pero más lento el procesamiento). Theora : El codificador Theora Xiph.org. El módulo se utiliza para producir theora arroyos. Theora es una patente y libre de codec de vídeo de regalías. La única opción disponible es el tema de calidad nivel> <quality = . Esta opción permite crear un flujo de VBR, anulando vb ajuste. el nivel de calidad debe ser un entero entre 1 y 10. Cuanto más alto mejor. x264 . x264 es un país libre de código abierto codificador H264. H264 (o MPEG4-AVC) es una muy reciente códec de vídeo de alta calidad. opciones del artículo son: keyint = <número de frames> permite establecer la cantidad máxima de fotogramas entre dos fotogramas clave, idrint = <número de frames>permite establecer la máxima cantidad de cuadros entre dos cuadros IDR, bframes = <cantidad de cuadros > permite establecer la cantidad de fotogramas B entre un yo y un marco de P, qp = parámetro> <quantizer permite especificar un cuantizador fijo (entre 1 y 51), -max = qp <quantizer parámetro> permite establecer el valor máximo para el cuantificador, qp-min parámetro> <quantizer = permite establecer el valor mínimo para el cuantificador, CABAC permite al CABAC (Context-Adaptive aritmética binaria de codificación) algoritmo (más lento, pero mejora la calidad), loopfilter permite desbloqueo filtro de lazo, analizar permite analizar el modo, frameref = <cantidad de frames> permite establecer el número de fotogramas anteriores utilizados como indicadores, scenecut = <sensibilidad < permite controlar la agresividad con el codificador de insertar debo extramarco, el cambio de escena.
fps = Esta opción permite configurar la velocidad de fotogramas del video transcodificado, en el cuadro por segundo. la reducción de la tasa de fotogramas del vídeo se puede ayudar a disminuir su tasa de bits.
desentrelazado Esta opción permite activar el desentrelazado de vídeo entrelazado arroyos antes de la codificación.
croptop = Esta opción permite recortar la parte superior de la fuente de video mientras transcodifica. El argumento es el número de líneas que el video debe ser recortada.
cropbottom = Esta opción permite recortar la parte inferior de la fuente de vídeo. El argumento es la coordenada de la primera línea que va a cortar.
cropleft Esta opción permite recortar la parte izquierda de la fuente de video mientras transcodifica. El argumento es el número de columnas que el vídeo debe ser recortada.
cropright = Esta opción permite recortar la parte derecha de la fuente de vídeo. El argumento es la coordenada X de la primera columna que va a cortar.
escala = Esta opción permite al indicar la relación de la que el vídeo debe ser reescalado mientras se transcodifica. Esta opción puede ser especialmente útil para ayudar a reducir la tasa de bits de un arroyo.
href = Esta opción permite dar el ancho del video transcodificado en píxeles.
altura Esta opción permite dar a la altura del video transcodificado, en píxeles.
acodec = Esta opción permite especificar el codec de las pistas de audio de la secuencia de entrada debe ser transcodificado al. Lista de codecs disponibles se pueden encontrar en la página de características de transmisión .
ab = Esta opción permite configurar la velocidad de bits de la secuencia de audio codificadas, en kbit / s
AENC = Esto permite ajustar el codificador a utilizar para codificar la secuencia de audio. Las opciones disponibles son: • ffmpeg : es el módulo de codificación de libavcodec. Maneja una gran variedad de codecs diferentes (la lista se pueden encontrar en la página de características de transmisión . • vorbis . Este módulo utiliza el codificador vorbis del proyecto Xiph.org. Vorbis es un país libre, abierto, sin licencia codec de audio con pérdida. opciones del artículo son: la calidad nivel> <quality = permite utilizar VBR (bitrate variable) en lugar de la codificación por defecto CBR (bitrate constante), y para establecer el nivel de calidad (entre 1 y 10, más alto es mejor), Maxbitrate = <bitrate en kbit/s> permite configurar el bitrate máximo, para la codificación VBR, min-bitrate <bitrate = en kbit/s> permite establecer la velocidad mínima, para la codificación VBR, cbr cbr permite forzar la codificación. • Speex . Este módulo utiliza el codificador Speex del proyecto Xiph.org. Speex es un codec de audio con pérdida, el mejor ajuste para bitrates muy bajos (alrededor de 10 kbit / s) y, en particular la videoconferencia.
de muestreo = Esta opción permite ajustar la frecuencia de muestreo de la secuencia de audio codificadas, en Hz. La reducción de la tasa de muestreo es una manera de reducir la tasa de bits de la secuencia de audio resultante.
canales = Esta opción permite establecer el número de canales de la corriente de audio resultante. Esto es útil para los codecs que no tiene soporte para más de 2 canales, de reducir la tasa de bits de una secuencia de audio.
scodec = Esta opción permite especificar el formato de subtítulos de la película pistas de la secuencia de entrada debe ser convertido a. Lista de codecs disponibles se pueden encontrar en la página de características de transmisión .
SENC = Esto permite ajustar el convertidor a utilizar para codificar el flujo de subtítulos. El codificador de subtítulos único que tenemos en este momento es dvbsub .
soverlay Esta opción permite hacer subtítulos directamente en vídeo, mientras que la transcodificación. No hay que confundir esta opción con SENC / scodec que codificar los subtítulos y arroyos que
sFilter = Esta opción permite hacer algunas imágenes generadas por un llamado subimagen filtro (por ejemplo, un logotipo, una cadena de texto, etc) en la parte superior del vídeo. Lista de los filtros de subimagen se pueden encontrar en la página de características de transmisión . Las opciones de este artículo módulos se puede encontrar utilizando el siguiente comando: %
vlc-p - <nombre de avanzada <modulo
las discusiones = Esta opción permite configurar la cantidad de hilos que se debe utilizar para codificar los flujos. El aumento de este número a la cantidad de procesadores en el equipo, (o dos veces este número en los procesadores Intel P4 HT) debería mejorar el rendimiento de transcodificación.
sincronización de audioCuando se activa esta opción, VLC gota / duplicar los fotogramas de vídeo para sincronizar la pista de vídeo en la pista de audio.
duplicado Este módulo puede ser utilizado para duplicar la corriente, y así el proceso a través de varias cadenas diferentes. Las opciones disponibles son:
dst = Esta opción permite dar a la cadena a través del cual se debe duplicar el flujo de procesado.
Nota Varios dst = opciones tienen que ser utilizados en el duplicado de un mismo bloque de duplicar efectivamente la corriente. Cualquiera de los módulo de salida de la corriente descrito anteriormente se puede utilizar como parámetro de esta opción.
select = Esta opción se puede utilizar para duplicar sólo una parte flujos elementales de una corriente completa.
Varios criterios se pueden dar, por la separación de cada uno de ellos con una coma. Para los criterios de que es necesario un parámetro, como es y programa , también puede especificar un rango, utilizando la sintaxis de los criterios = num_startnum_end . Los parámetros disponibles son los siguientes: • = programa : duplicar sólo flujos elementales pertenecientes al programa seleccionado (o SID). Esta opción sólo funciona con MPEG2/TS arroyos. • noprogram = : no duplicar las corrientes elementales que pertenecen al programa seleccionado (o PID). Esta opción sólo funciona con MPEG2/TS arroyos. • = es : duplicar sólo el flujo elemental con el id seleccionado. • = noes : no duplicar el flujo elemental con el id seleccionado. • vídeo : duplicado de vídeo sólo flujos elementales . • novideo : no duplicado de vídeo corrientes elementales . • de audio : audio duplicados sólo flujos elementales . • noaudio : no duplicados de audio corrientes elementales . • SPU : duplicar los subtítulos sólo flujos elementales . • nospu : no duplicar los subtítulos corrientes elementales . Ejemplo: # Duplicado {dst = std {...}, select = "programa = 100-200, novideo"}
Esta duplicación de la cadena sólo la producción del video no corrientes elementales pertenecientes a los programas que PID son entre 100 y 200.
Varios He aquí algunas opciones globales adicionales:
- Sout-todos, - no todos-SoutHabilitar la transmisión de todos los ES (por defecto desactivado). Por defecto se VLC sólo una corriente de ES de audio y un vídeo ES (los primeros). Si habilita Sout-todos, todos los ES (audio, video y SPU) será transmitido.
- Sout-mantener, - no Sout-mantenerMantenga sout abierto (por defecto desactivado): utilizar la instancia sout misma a través de la colección de artículos varios, si es posible.
- No-Sout-audio Esta opción permite desactivar el sonido en el flujo de outputted.
- No-Sout-video Esta opción permite deshabilitar el video en el flujo de outputted.
Sintaxis simplificada La salida de corriente también ofrece una sintaxis simplificada, con el que sólo se puede utilizar el estándar de las principales opciones del módulo: %
vlc input_stream - Acceso sout / MUX: url
donde el acceso , MUX y url : las definidas en las opciones del módulo estándar.
Ejemplos Para entender completamente la compleja sintaxis de la producción corriente de VLC, por favor mire los ejemplos en la siguiente sección.
Capítulo 4. Ejemplos de uso avanzado de la producción corriente de VLC (transcodificación, múltiples streaming, etc ..) Tabla de contenidos Transcodificación Múltiples streaming Transcodificación y streaming de múltiples Transmisión HTTP RTP streaming RTSP MMS / MMSH streaming de Windows Media Player Utilice el es el módulo
Transcodificación Transcodificar el flujo de entrada y enviarlo a una dirección IP multicast con los asociados de SAP anuncian: vlc-vvv input_stream - sout '# transcode {vcodec mp4v = = mpga, acodec vb = 800, ab = 128, desentrelazado}: {rtp del mux = ts, dst = 239.255.12.42, port = 5004, sdp = savia : / /, nombre = "TestStream"} ' %
Muestra el flujo de entrada, que transcodificar y enviarlo a una dirección IP multicast con los asociados de SAP anuncian:
vlc-vvv input_stream - sout '# duplicado {dst = pantalla, dst = "transcode {vcodec = mp4v, acodec = mpga, vb = 800, ab = 128, desentrelazado}: {rtp del mux = ts, dst = 239.255. 12.42, port = 5004, sdp = savia: / /, nombre = "TestStream "}"}' %
Transcodificar el flujo de entrada, la pantalla del flujo de transcodificación y enviarlo a una dirección IP multicast con los asociados de SAP anuncian: vlc-vvv input_stream - sout '# transcode {vcodec mp4v = = mpga, acodec vb = 800, ab = 128, desentrelazado}: {duplicar dst = pantalla, dst = {rtp del mux = ts, dst = 239.255.12.42 , port = 5004, sdp = savia: / /, nombre = "TestStream"}} " %
Múltiples streaming Enviar un arroyo a una dirección IP multicast y una dirección de unidifusión IP: vlc-vvv input_stream - sout '# duplicar dst = {{rtp del mux = ts, dst = 239.255.12.42, port = 5004, sdp = savia: / /, nombre = "TestStream"}, {dst = rtp MUX = ts, dst = 192.168.1.2, puerto = 50000}} %
Mostrar el arroyo y lo envía a dos direcciones IP de unidifusión: vlc-vvv input_stream - sout '# duplicado {dst = pantalla, dst = {rtp del mux = ts, dst = 192.168.1.12, Puerto = 50002}, {dst = rtp del mux = ts, dst = 192.168.1.42, el puerto = 50004}} %
Enviar partes de un programa de flujo de entrada múltiple: vlc-vvv multiple_program_input_stream - sout '# duplicar dst = {{rtp del mux = ts, dst = 239.255.12.42, port = 5004}, seleccione = "programa = 12345", dst = {rtp del mux = ts, dst = 239.255 .12.43, port = 5004}, seleccione = "de vídeo, el programa de 1234-2345 ="} " %
Este comando envía el programa de la corriente de entrada que id es 12345 a 239.255.12.42 y todos los programas de vídeo con el ID entre 1234 y 2345 a 239.255.12.43.
Transcodificación y streaming de múltiples Transcodificar el flujo de entrada, la pantalla del flujo de transcodificación y enviarlo a una dirección IP multicast con los asociados y SAP anuncian una dirección IP de unidifusión: vlc-vvv input_stream - sout '# transcode {vcodec mp4v = = mpga, acodec vb = 800, ab = 128, desentrelazado}: {duplicar dst = pantalla, dst = {rtp del mux = ts, dst = 239.255.12.42 , sdp = savia: / /, nombre = "TestStream"}, {dst = rtp del mux = ts, dst = 192.168.1.2, puerto = 50006}} %
Muestra el flujo de entrada, que codificar y enviar a dos direcciones IP de unidifusión: vlc-vvv input_stream - sout '# duplicado {dst = pantalla, dst = "transcode {vcodec = mp4v, acodec = mpga, vb = 800, ab = 128}: duplicar dst = {{rtp del mux = ts, dst = 192.168.1.2, puerto = 50008}, {dst = rtp del mux = ts, dst = 192.168.1.12, Puerto = 50010} "} %
Enviar el flujo de entrada a una dirección IP multicast y la corriente transcodificado a otra dirección IP multicast con los asociados de SAP anuncia: vlc-vvv input_stream - sout '# duplicar dst = {{rtp del mux = ts, dst = 239.255.1.2, puerto = 5004, sdp = savia: / /, nombre = %
"OriginalStream"}, dst = "transcode {vcodec = mp4v, = mpga, acodec vb = 800, ab = 128}: {rtp MUX = ts, dst = 239.255.1.3, puerto = 5004, sdp = savia: / /, nombre = "TranscodedStream "}"}'
Transmisión HTTP Stream en HTTP: • en el servidor, ejecute: •
%
•
en el cliente (s), ejecute:
•
%
vlc-vvv input_stream - sout '# estándar {= http, MUX acceso = ogg, dst = server.example.org: 8080} "
vlc http://server.example.org:8080
Transcodificación y la corriente en HTTP: vlc-vvv input_stream - sout '# transcode {vcodec mp4v = = mpga, acodec vb = 800, ab = 128}: {estándar de acceso = http, mux = ogg, dst = server.example.org: 8080} " %
Por ejemplo, si usted quiere para escuchar un CD de audio en formato Ogg / Vorbis a través de HTTP: vlc-vvv cdda: / / / dev / cdrom - sout '# transcode {acodec vorb = ab = 128}: {estándar de acceso = http, mux = ogg, dst = server.example.org: 8080} " %
RTP streaming Stream en RTP: • en el servidor, ejecute: •
%
•
en el cliente (s), ejecute:
•
%
vlc-vvv input_stream - sout 'rtp # {dst = 192.168.0.12, port = 1234, sdp = rtsp: / / server.example.org: 8080/test.sdp}
vlc rtsp: / / server.example.org: 8080/test.sdp
Nota Puede reemplazar los rtsp URL por un http uno, una ruta de archivo (con el prefijo file: / / ) o savia: / / para exportar el archivo sdp usando uno de estos métodos en lugar de RTSP.
RTSP Ver VLM - Múltiples streaming y vídeo a la carta
MMS / MMSH streaming de Windows Media Player vlc-vvv input_stream - sout '# transcode {vcodec = div3, vb = 256, escala = 1, acodec = mp3, ab = 32, los canales = 2}: {std acceso mmsh = = asfh MUX, dst =: 8080} ' %
VLC media player se puede conectar a esto usando el siguiente enlace: mmsh: / / dirección_ip_servidor: 8080. Windows Media Player puede conectarse a este mediante el siguiente enlace: mms: / / dirección_ip_servidor: 8080.
Utilice el es el módulo Separar audio y video en dos archivos PS: vlc-vvv input_stream - sout '# {es el acceso a archivos = ps MUX, url_audio = = audio c.% m%, url_video =-c%% m vídeo} %
Extracto de la pista de audio de la secuencia de entrada a un archivo TS: vlc-vvv input_stream - sout '# {es access_audio archivo = = ts, url_audio mux_audio = audio% c.% m} %
Secuencia de unidifusión en la pista de audio en un puerto y la pista de vídeo en otro puerto (NOTA: Esto no sólo funcionará con VLC 0.8.6 o más - FIXME) • en el lado del servidor: •
%
•
en el lado del cliente: para recibir el audio:
•
%
vlc-vvv input_stream - sout '# {es el acceso rtp = = ts, url_audio MUX = 192.168.1.2:50002, url_video = 192.168.1.2:50004}
vlc rtp ://@: 50002
para recibir el vídeo: %
vlc rtp ://@: 50004
Secuencia de multidifusión en el vídeo y descargar el audio en un archivo: vlc-vvv input_stream - sout 'es # {acceso video = udp, Mux = tsvideo, video-dst = 239.255.12.42, conexión de audio = archivo, MUXaudio = ps, dst-audio = audio- c.%% m} %
Nota También puede combinar los es el módulo con los otros módulos de configurar una solución aún más compleja.
Capítulo 5. VLM - Múltiples streaming y vídeo a la carta Tabla de contenidos VLM Ejemplos
VLM VideoLAN Manager es un gestor de medios pequeños diseñado para controlar múltiples corrientes con una sola instancia de VLC . Permite múltiples streaming y video por demanda (VoD). Este gestor de ser una nueva característica, sólo puede ser controlado por la interfaz telnet o la interfaz HTTP.
Interfaces Telnet interfaz Puede iniciar la interfaz telnet como una interfaz común con la línea de comandos:
% %
vlc - telnet intf vlc - telnet extraintf
La interfaz telnet también se puede iniciar en la interfaz wxWindows:
[D]
Inicio de la interfaz Telnet - Interfaz wxWindows El puerto predeterminado es 4212. La contraseña por defecto es "admin". Éstos se pueden cambiar usando - Puerto <entero>-telnet y --password telnet <cadena> opciones de línea de comandos. También se puede cambiar en el panel de preferencias cuando se utiliza la interfaz wxWindows en los Módulos -> Interfaz > telnet sección (ver la opciones avanzadas de casilla de verificación).
Interfaz HTTP Inicio de la interfaz HTTP se describe en el Play-con-VLC Howto. Para acceder a la sección de VLM de la interfaz HTTP, utilice la siguiente URL: http://host:port/vlm.html ( http://host:port/vlm/ para VLC 0.8.4 en adelante).
VLM Elementos Medios de comunicación A los medios de comunicación se compone con una lista de entradas (el vídeo y audio que desee para escuchar), una salida (cómo y dónde quiere transmitir ellos) y algunas opciones. Hay dos tipos de medios de comunicación: • vod : A los medios de comunicación vod se utiliza comúnmente para vídeo a la carta. Se pondrá en marcha sólo si el cliente lo pide vod. • de difusión : Una radio y la televisión está muy cerca de un programa de TV o el canal. Se puso en marcha, o hace una pausa por el administrador y se puede repetir varias veces. El cliente no tiene control sobre este medio.
Horarios Una lista es una secuencia de comandos con una fecha. Cuando la fecha de programación que se alcance, la secuencia de comandos es lanzado. Hay varias opciones disponibles como un punto o un número de repeticiones.
Comando sintaxis de la línea Líneas de comandos • •
ayuda : Muestra una exhaustiva lista de líneas de comando nuevo (nombre) vod | difusión | calendario [propiedades] : Crear un nuevo vídeo a la carta, difusión o elemento de programación. Los nombres de elementos debe ser único y no puede ser "medios" o "programa". Usted puede especificar las propiedades en esta línea de comandos o más adelante mediante la configuración de comandos.
• •
•
•
•
•
de configuración (nombre) (unidades) : Establecer una propiedad de los elementos. Ver Propiedades de los medios de comunicación . mostrar el resultado de [(nombre) | Medios | calendario] : Visualización de los estados elemento actual y configuraciones. o mostrar el resultado de (nombre) - Especifique el nombre de un elemento para mostrar toda la información relativa a este elemento. o show mediático muestra un resumen de los estados medios de comunicación. o mostrar el calendario muestra un resumen de los estados de horario. del (nombre) | todos | los medios de comunicación | Horarios : Eliminar un elemento o un grupo de elementos. Si el elemento no se detuvo, primero se detuvo antes de ser eliminado. o del (nombre) - Eliminar el nombre) elemento (. o del todo - Eliminar todos los elementos o del los medios de comunicación - Eliminar todos los elementos de los medios de comunicación. o del calendario - Eliminar todos los elementos de programación de control (nombre) [instance_name] (comando) : Cambia el estado de la instance_name) instancia (de (nombre) los medios de comunicación. Si (instance_name) no se especifica, el comando de control afecta a la instancia predeterminada. Ver comandos de control para los comandos de control disponibles. guardar (archivo_config) : Guarde todos los medios de comunicación y las configuraciones de horario especificado en el archivo de configuración. La ruta del archivo de configuración es relativa al directorio en el que se puso en marcha vlc. Si el archivo existe, se sobrescribirá. Tenga en cuenta que los estados, tales como reproducción, pausa o parada, no se guardan. Consulte los archivos de configuración para más información. carga (archivo_config) : Carga un archivo de configuración. La ruta del archivo de configuración es relativa al directorio en el que se puso en marcha vlc. Consulte los archivos de configuración para más información.
Propiedades del soporte
Nota Salvo el "añadir" la propiedad, todas las propiedades pueden ser seguidos por otro. • de entrada (input_name) : Añadir una entrada al final de la lista de entrada los medios de comunicación. • de salida (output_name) : Definir los medios de comunicación de la salida. La sintaxis es la misma que la "vlc: =..." sout opción vlc pero no tiene que poner el ": =..." soutcadena. Ver avanzada de streaming utilizando la línea de comandos para obtener más información sobre salidas de flujo (Sout).
Nota •
•
No es necesario especificar una salida para los elementos de vod. opción (option_name) [= valor] : añade el (option_name) a la lista de opciones de medios de comunicación. La sintaxis es equivalente a la ": ()=..." opción opción, pero usted no tiene que poner el "" cadena:. Las opciones son globales: se aplican a todas las entradas de los medios de comunicación. enabled | disabled : habilitar o deshabilitar los medios de comunicación. Si un medio está deshabilitado, no pueden ser escuchados, se detuvo, lanzado por un horario, o jugaron como video bajo demanda.
•
lazo | unloop (emisión solamente) : Si un medio de comunicación con el "lazo" opción recibe el "juego" de comandos, se reiniciará automáticamente para jugar la lista de entrada una vez que el final de la lista de entrada que se llegó.
Nota •
lazo | unloop sólo se utiliza para los medios de difusión tipos. MUX (mux_name) : Esta opción sólo se debe especificar si desea que los flujos elementales que se enviará encapsulado en lugar de materias primas. El (mux_name) debe ser especificada como un identificador de cuatro caracteres de longitud como mp2t para TS MPEG o MP2P de MPEG PS. Ver Streaming, Muxers y códecs .
Nota El mux de propiedad sólo se utiliza para los tipos de medios de comunicación vod.
Lista de propiedades • •
habilitado | discapacidad : un programa con discapacidad no se pondrá en marcha. append (command_until_rest_of_the_line) : Agregar un comando a la línea de comandos iluminado. La línea de comandos puede ser cada comando VLM puede entender.
Nota •
•
•
El resto de la línea serán consideradas como parte de la línea de comandos. No se puede poner otra opción después de agregar uno. fecha (año) / (mes) / (día) - (horas): (minutos): (segundos) | ahora : especifique la primera fecha el programa debería ponerse en marcha. Puede especificar una fecha con el(año) / (mes) / (día) - (horas): (minutos): (segundos) en formato (por ejemplo: 2004/11/16-00: 43:12), o utilizando el ahora palabra clave. Si ahora se utiliza, el programa se pondrá en marcha tan pronto como sea posible (es decir, tan pronto como se activa) y la fecha actual se utiliza como la primera fecha del calendario. período (years_aka_12_months) / (months_aka_30_days) / (días) - (horas): (minutos): (gundos seg) : especifique el periodo de tiempo que un programa debe esperar a lanzarse otra vez. (Meses se consideran como 30 días, años como 12 meses) Si se especifica un período sin una repetición de la propiedad, el programa se pondrá en marcha sin cesar. repetición (number_of_repetitions) : Especifique el número de veces que se puso en marcha el programa de nuevo. Por ejemplo, si un programa se repiten 11 , será lanzado en 12 ocasiones.
Comandos de control •
• • •
juego : Stat un medio de difusión. Los medios de comunicación empieza a poner en marcha el primer elemento de la lista de entrada, a continuación, lanza la siguiente y así sucesivamente. (Como una lista de reproducción) pausa : Poner los medios de difusión en estado de pausa. Parada : Detener la radio y la televisión. buscar (porcentaje) : Buscar en el elemento de juego actual de la lista de entrada.
Archivos de configuración Un archivo de configuración VLM es una lista de líneas de comando: una línea corresponde a una línea de comandos.
Para crear un archivo de configuración, sólo editar un archivo de texto y escriba una lista de comandos de VLM. Tenga cuidado con las llamadas recursivas: que uno ponga una carga (archivo) en un archivo de configuración que puede dar lugar a la inclusión recursiva del mismo archivo y el resultado de la caída VLC. A partir de las versiones> 0.8.1, cualquier línea donde el primer carácter no es un espacio en blanco # es considerado como un comentario.
Ejemplos Esta sección incluye varios pequeños archivos de configuración de VLM.
Múltiples streaming Simple de radiodifusión nuevo canal 1 de difusión permitido la configuración de entrada de canal 1 http://host.mydomain/movie.mpeg configuración canal 1 de salida # {rtp del mux = ts, dst = 239.255.1.1, puerto = 5004, sdp = savia: / /, nombre = "Canal 1 "Canal 2} nueva emisión permitido la configuración de entrada de Canal 2 rtp: / / @ 239.255.12.42:1234 configuración de salida de Canal 2 # {rtp del mux = ts, dst = 239.255.1.2, puerto = 5004, sdp = savia: / /, nombre =" Canal 2 "} control de canal 1 de control de reproducción canal2 jugar
Programadas de radiodifusión my_media nueva emisión permitido la configuración de entrada my_media my_video.mpeg rtp de entrada de configuración de salida my_other_movie.mpeg my_media # {MUX = ts, dst = 239.255.1.1, puerto = 5004, sdp = savia: / /, nombre = "Mis Medios"} nueva my_sched horario permitido a la fecha de instalación my_sched 2012/12/12-12: 12:12 configuración my_sched anexar my_media de control de reproducción
Video On Demand Ejemplo básico En primer lugar poner en marcha el vlc vlc - ttl 12 vvv - color-I telnet --password videolan telnet - rtspanfitrión 0.0.0.0:5554 %
donde: 12 es el valor de la TTL (Time To Live) de los paquetes IP (lo que significa que la corriente va a ser capaz de atravesar 11 routers). • telnet lanza la interfaz telnet del vlc. • VideoLAN es la contraseña para conectarse a la interfaz telnet. • 0.0.0.0 es la dirección de host. • 5554 es el puerto en el que la corriente. Luego se conecta a la interfaz telnet vlc y crear el objeto vod •
nueva prueba vod permitido la configuración de entrada de prueba my_video.mpg
Puede acceder a la corriente con: %
vlc rtsp: / / servidor: 5554/Test
donde: •
servidor es la dirección del servidor de streaming (IP o DNS)
Capítulo 6. Recibir y salvar un arroyo Tabla de contenidos Recibir un flujo con VLC Guardar un flujo con VLC Recibir un flujo con un set-top-box
Recibir un flujo con VLC Reciba una secuencia de unidifusión %
vlc-vvv rtp ://@: 5004
Recibir un flujo multicast %
vlc-vvv rtp: / / @ 239.255.12.42:5004
donde 239.255.12.42 es la dirección IP multicast que desea unirse y 5004 el número de puerto UDP.
Reciba una HTTP / FTP / stream MMS Utilice una de las siguientes líneas de comandos: •
%
•
donde http://example/stream.xyz es la dirección HTTP de la secuencia;
•
%
•
donde ftp://example/stream.xyz es la dirección FTP del flujo;
•
%
•
vlc-vvv http://example/stream.xyz
vlc-vvv ftp://example/stream.xyz
vlc-vvv mms: / / viptvr.yacast.fr / encoderfranceinfo
en mms: / / viptvr.yacast.fr / encoderfranceinfo es la dirección de la corriente de MMS.
Recibir un flujo RTP disponibles a través de RTSP %
vlc-vvv rtsp: / / www.hardradio.com / tonbeme.mov
donde rtsp: / / www.hardradio.com / tonbeme.mov es la dirección de la corriente.
Recibir un flujo descrito por un archivo SDP %
vlc-vvv http://server.example.org/stream.sdp
Guardar un flujo con VLC VLC puede guardar la secuencia en el disco. Para hacer esto, utilice la salida de Arroyo de VLC: usted puede hacerlo a través de la interfaz gráfica, o que puede agregar a la línea de comandos el siguiente argumento: - Sout archivo / muxer: stream.xyz
donde: •
•
muxer es uno de los formatos soportados por el flujo de salida de VLC, es decir: o ogg para el formato OGG, o ps para el formato MPEG2-PS, o TS -PS para el formato MPEG2. y stream.xyz es el nombre del archivo que desea guardar la secuencia para, con la extensión correcta.
Recibir un flujo con un set-top-box Algunos set-top-boxes con tarjetas Ethernet puede recibir MPEG2-TS corrientes a través de UDP y multicast de apoyo. Set-top-boxes sabe que funciona con VLC son: • Ritmo decodificadores. (DSL de Pace Micro 4000) • Aminocom decodificadores. (Todos los modelos con MPEG2) • tuxia / TCG-allwell (MPEG4 y MPEG2) sigma designs8174 chipset • i3micro mood200 (MPEG4 y MPEG2 Transport Stream)
Capítulo 7. Transmitir un archivo Tabla de contenidos Transmitir un archivo con VLC
Transmitir un archivo con VLC %
vlc-vvv video1.xyz - sout udp: 192.168.0.42 - ttl 12
donde: es el archivo que quiere transmitir, 192.168.0.42 es: o la dirección IP de la máquina que desea unicast; o o el nombre DNS de la máquina que desea unicast; o o una dirección IP multicast. • 12 es el valor de la TTL (Time To Live) de los paquetes IP (lo que significa que la corriente va a ser capaz de atravesar 11 routers). Si usted quiere transmitir el archivo continuamente, añadir el - ciclo opción. • •
video1.xyz
Capítulo 8. Flujo de un DVD Tabla de contenidos Flujo de un DVD con VLC
Nota Bajo Unix / Linux, debe tener acceso de escritura al dispositivo correspondiente a su unidad de DVD. Por eso, usted debe estar en el disco o CD-ROM del grupo (ver los permisos en / dev ). Si no es así, usted agregar al grupo: #
your_login disk_or_cdrom adduser
a continuación, reinicie la sesión.
Flujo de un DVD con VLC vlc-vvv - dvdsimple color: / / / dev / dvd - sout '# {rtp del mux = ts, dst = 192.168.0.12, port = 5004}' - ttl 12 - sout-todos %
donde: es el nombre de la unidad de DVD (poner D: en Windows, si D es la letra de la unidad de DVD) o en el directorio donde ha copiado de DVD, • 192.168.0.42 es: o la dirección IP de la máquina que desea unicast; o o el nombre DNS de la máquina que desea unicast; o o una dirección IP multicast. • 12 es el valor de la TTL (Time To Live) de los paquetes IP (lo que significa que la corriente va a ser capaz de atravesar 11 routers). • Sout-todos le permite escuchar todas las bandas sonoras y subtítulos Si quieres el DVD para escuchar continuamente, añadir el - ciclo opción. •
/ Dev / dvd
Capítulo 9. Flujo de un canal DVB (satélite o televisión digital terrestre) Tabla de contenidos Instalar los drivers DVB Stream con VLS Flujo con VLC
Nota Esto es posible bajo GNU / Linux.
Instalar los drivers DVB Si usted quiere ser capaz de transmitir desde una tarjeta DVB (una tarjeta de satélite o una tarjeta de TV digital terrestre), es necesario instalar los drivers DVB: • si utiliza un núcleo Linux 2.6.x, sólo tiene que seleccionar los módulos de la derecha en la configuración del kernel. • si usted está usando un núcleo Linux 2.4.x, debe descargar la última versión de los drivers DVB de la página de descarga de controladores de DVB de la LinuxTV proyecto. En las secciones siguientes se supone que tiene una instalación de trabajo linux-dvb, ya sea a partir de núcleos existentes o 2.6 del kernel 2.4 con parches de DVB. Si usted tiene cualquier problema con los controladores del dvb-linux, por favor, informe del problema a los mantenedores de los conductores, no a nosotros. Gracias.
Stream con VLS Nota VLS es actualmente obsoleto y no se ha mantenido durante años. Se recomienda encarecidamente utilizar VLC lugar, que ahora es compatible con las mismas características que VLS, y muchos más. La única ventaja de VLS es apoyar a la sintaxis del archivo dvbrc, y requiere un poco menos potencia de la CPU. Sin embargo, no son compatibles con VLS por más tiempo. Ponga una . dvbrc archivo que contiene los canales DVB (satélite o por canales de TV digital terrestre) que quiere transmitir en su directorio personal (algunos se encuentran en ellibdvb paquete de archivos para los canales de satélite). Ejecutar VLS con el siguiente comando: %
vls-vs-udp d: 192.168.0.42 dvb: "PUMA" - ttl 12
donde: • •
"PUMA" es el canal que quiere transmitir como está escrito en tu ~ /. dvbrc archivo, 192.168.0.42 es: o la dirección IP de la máquina que desea unicast; o o el nombre DNS de la máquina que desea unicast;
o una dirección IP multicast. 12 es el valor de la TTL (Time To Live) de los paquetes IP (lo que significa que la corriente va a ser capaz de atravesar 11 routers). o
•
Flujo con VLC Nota VLC tiene muchas características más de VLS. En primer lugar, puede utilizar las opciones avanzadas de flujo de salida como la codificación y todo tipo de soportes de salida. En segundo lugar VLC puede tomar ventaja de la interfaz común con el apoyo de algunos adaptadores de DVB para descodificar uno o varios servicios. Actualmente lanzado versiones de VLC sólo soportan el API de bajo nivel por lo que algunos adaptadores no funcionarán (funcionan las tarjetas de presupuesto-ci, Twinhan no). Algunos módulos CAM no son compatibles con algunas tarjetas DVB, consulte la documentación de linux-dvb para más información.Los llamados "profesionales" módulos CAM son capaces de decodificar hasta doce servicios, mientras que los módulos orientados al cliente son a menudo limitados a los servicios de uno o dos a menos que se especifique lo contrario. VLC se debe compilar con - enable-dvb y necesitas las cabeceras DVB-linux instalado en su sistema. Un ejemplo de comando de línea es el siguiente: % vlc-vvv - color - ttl 12 - ct-es-id-pid - Programas = 8508,8505 dvb: \ - dvb-frecuencia = 11739000 - dvb-srate = 27500000 - dvb-tensión = 13 \ - sout estándar de acceso = udp - soutestándar del mux = ts - sout \ '# duplicar dst = {{rtp dst = dirección1, mux = ts}, seleccione = "programa = 8508", dst RTP = {dst = address2, Mux = ts}, seleccione = "programa = 8505"} '
El ejemplo anterior muestra el conjunto mínimo de opciones necesarias para escuchar a dos servicios. Aquí está una lista de opciones de interfaz, dependiendo del tipo de interfaz: • opciones comunes o dvb-adaptador : especifica el adaptador para usar en caso de tener varios adaptadores en el equipo (por el uso del adaptador por defecto 0) o dvb-dispositivo : especifica el nombre del dispositivo DVB a usar (no se necesita con un linux-dvb instalación estándar) o dvb-srate : especifica la velocidad de símbolo de la señal modulada, en símbolos / s o dvb-inversión : especifica si la señal se invierte o no (por defecto es la detección automática) o dvb-presupuesto de modo : entra en un modo especial en que todos los IDPs son recuperados por el conductor, sino que ya no debería ser necesaria como VLC debe filtrar quería IDPs • satélite frontend (QPSK) o dvb-frecuencia : especifica la frecuencia para sintonizar en kHz, de acuerdo con el rango de frecuencias, VLC detecta automáticamente la banda de usar: S (2.5 a 2.7 GHz), C-inferior (3,4-4,2 GHz), C-superior ( 4,5-4,8 GHz), Ku (10.7 a 13.25 GHz) o de frecuencia directa BPI (0,95 a 2,15 GHz), es obligatorio suministrar la DVB-srate opción de satélite interfaces o dvb-tensión : especifica el voltaje de aplicarse en la SI; LNBs más se comportan de manera diferente cuando se alimentan con 13 V o 18 V; LNB universal seleccionar la polaridad vertical y horizontal de 13 V con 18 V, también puede seleccionar de 0 V si su LNB tiene otra fuente de alimentación (por defecto es de 13 V)
dvb-tono : especifica si se debe enviar un pulso de 22 kHz tono al LNB; LNB universal cambiar a alta banda cuando este pulso es enviado, por omisión VLC adopta automáticamente la conducta correcta si la frecuencia es suministrado en la banda Ku (otras bandas no necesitan esto) o dvb-FEC : especifica el código de cambio a utilizar para Forward Error Correction, el tipo en el primer número del código de orden, para 2 / 3 uso - dvb-tasa = 2, etc (por defecto es de 9, es decir, la detección automática ) o dvb-alta tensión : permite un modo especial del adaptador DVB para compensar la pérdida de tensión en los cables muy largos (que yo sepa que está en la API, pero no necesita adaptador de DVB en realidad implementa) o dvb-lnb-LOF1, dvb-lnb-lof2, dvb-lnb-SLoF : especifica las frecuencias de los osciladores locales de segunda y primera, y la frecuencia con la que kHz se debe pulsar el 22 activado para que el segundo oscilador, por omisión VLC utiliza los valores de LNB universal, si la frecuencia es suministrado en la banda Ku (otras bandas no necesitan esto) • cable de interfaz (QAM) o dvb-frecuencia : especifica la frecuencia para sintonizar en Hz, es obligatorio suministrar la DVB-srate opción de cable de interfaces o dvb-modulación : especifica la modulación de la señal analógica, los valores válidos son -1 (QPSK), 0 (QAM automática, por defecto), 16 (QAM16), 32 (QAM32), 64 (QAM64) 128 (QAM128), 256 ( QAM256) • interfaz terrestre (OFDM) o dvb-frecuencia : especifica la frecuencia para sintonizar en Hz, es obligatorio suministrar el ancho de banda de DVB- opción, todos los demás parámetros son opcionales o dvb-ancho de banda : especifica el ancho de banda del canal OFDM (6, 7 u 8 MHz, dependiendo del país) o dvb-jerarquía : especifica si el canal OFDM utiliza la información jerárquica, los valores permitidos son 1 (sin jerarquía), 0 (, por defecto automática), 1, 2 y 4 o dvb-código-tasa-CV, dvb-código-tasa-lp : especifica el código de cambio a utilizar para las jerarquías superiores e inferiores, respectivamente (automático por defecto, misma sintaxis que dvb-FEC ) o dvb-protector : especifica el intervalo de guarda; valores válidos son 0 (automático, default), 4 (1 / 4), 8 (1.8), 16 (16.01) y 32 (1 / 32) o dvb-transmisión : especifica el modo de transmisión; valores válidos son 0 (automático, por defecto), 2 (2K) y 8 (8K) También debe explicar las demás opciones no específicas dvb-de la línea de comandos de ejemplo: • TS-es-id-pid : esta opción es necesaria si se utiliza el # duplicar la producción corriente de filtro para separar el múltiplex en varias salidas, no hay necesidad de usar # duplicados ni ts-es-id-pid si usted tiene un programa de sólo • programas, el programa, Sout-todo : hay varias maneras de especificar los servicios que seleccione (y, opcionalmente, descodificar): o programas : se utiliza para especificar uno o programas serveral para seleccionar; VLC selecciona todos los conocidos flujos elementales de estos programas, lo que es el actualmente recomendado manera o
programa : se utiliza para especificar un programa para seleccionar, que difiere del uso de programas con un solo programa en que esta opción sólo seleccionar el canal de audio en primer lugar, y no hay flujo de subtítulos, sino que se debe utilizar si va a cambiar de programa y de audio con una interfaz gráfica de usuario o Sout-todo : le dice a VLC para seleccionar todos los programas, lo que no se recomienda debido a la carga de la CPU extra necesario para demultiplexar programas no deseados, y porque no es compatible con la CAM desaleatorización Las otras opciones son las opciones estándar de salida de la corriente y se describen en los demás capítulos de esta documentación. o
•
Capítulo 10. Corriente de las tarjetas de codificación y otros periféricos de captura Tabla de contenidos Hardware de las tarjetas de codificación Software de codificación de tarjetas Stream con DirectShow
Hardware de las tarjetas de codificación Nota Esto es posible bajo GNU / Linux. VideoLAN es compatible con dos tipos de tarjetas de codificación MPEG-2: • Hauppauge WinTV-PVR-250 y la WinTV-PVR-350, • Kfir Visiontech. El WinTV-PVR-250/350 Hauppauge da resultados mucho mejor y es más barato que el Kfir Visiontech.
Stream con la tarjeta de Hauppauge WinTV-PVR250/350 Instale los controladores En primer lugar, tendrá que parchear el kernel (versión 2.4) para apoyar la API v4l2 (Video 4 Linux versión 2). El parche está disponible en la sede Video4Linux . Si utiliza un kernel 2.6, sólo tiene que conseguir apoyo I2C y el BT848 vídeos de módulo de Linux. Una vez que su núcleo está listo, instale la versión CK (actualmente en desarrollo) de los controladores de Linux para la WinTV-PVR-250/350 Hauppauge. Ellos están alojados en ck ivtv . Usted tendrá que parchear el kernel para usarlo con un 2.4. También puede utilizar la versión CVS están disponibles aquí: ivtv.sourceforge.net (esta versión no se desarrolla más).A continuación, tendrá que crear el dispositivo y cargar los módulos, por esto, por favor consulte la documentación suministrada con los controladores.
Flujo con VLC
Nota Usted debe agregar - enable-pvr a configurar. / Para utilizar esta función. vlc-vvv - color pvr: / / / dev/video0: norma SECAM =: size = 720x576: frecuencia = 576250: tasa de bits = 3000000: maxbitrate = 4000000 cr-media de 1000 - sout '# rtp = {MUX ts, dst = 192.168.0.42, port = 5004} '- ttl 12 %
donde: • •
/ Dev/video0 es el dispositivo que corresponde a la tarjeta de codificación, norma SECAM = es el nombre de la norma de la señal analógica (los posibles valores son PAL, SECAM y NTSC),
• • • • • •
•
size = 720x576 es el tamaño del vídeo que quiere transmitir, frecuencia = 567250 es la frecuencia en kHz del canal que quiere transmitir, bitrate = 3000000 es la tasa de bits promedio de la corriente, maxbitrate = 4000000 es la tasa de bits máxima de la corriente, 1000 es un valor secreto para evitar un error de la tarjeta. 192.168.0.42 es: o la dirección IP de la máquina que desea unicast; o o el nombre DNS de la máquina que desea unicast; o o una dirección IP multicast. 12 es el valor de la TTL (Time To Live) de los paquetes IP (lo que significa que la corriente va a ser capaz de atravesar 11 routers).
Corriente con la tarjeta Visiontech Kfir Instale los controladores Si usted quiere ser capaz de transmitir desde una tarjeta de Kfir Visiontech, es necesario instalar sus drivers de Linux. Descarga la última versión de los controladores de la página de descarga de controladores del sitio web LinuxTV . Descomprimir el archivo tar y seguir las instrucciones escritas en el INSTALAR archivo para compilar e instalar los controladores.
Nota Si tiene un chipset VIA, es necesario desactivar el USB en el BIOS.
Corriente vlc-vvv - Kfir color: / / / dev / video - sout '# {rtp del mux = ts, dst = 192.168.0.42, port = 5004}' - ttl 12 %
donde: • •
•
/ Dev / video
es el dispositivo que corresponde a la tarjeta de Kfir,
192.168.0.42 es: o la dirección IP de la máquina que desea unicast; o o el nombre DNS de la máquina que desea unicast; o o una dirección IP multicast. 12 es el valor de la TTL (Time To Live) de los paquetes IP (lo que significa que la corriente va a ser capaz de atravesar 11 routers).
Software de codificación de tarjetas Bajo GNU / Linux Instale los controladores de vídeo para Linux Si usted quiere transmitir desde una tarjeta capturadora o una webcam, un conductor de video4linux debe estar disponible para él. Puede encontrar más información sobre video4linux y los dispositivos compatibles aquí . Compile el módulo adecuado para el dispositivo, e insertarlo en el kernel. Algunos módulos video4linux se envían con la 2.4.xy 2.6.x de Linux kernel, el parche está disponible en lasede Video4Linux . Usted puede probar su dispositivo mediante cualquiera de los programas enumerados en el vídeo: TV y PVR / DVR sección de esta página . Tenga en cuenta que los módulos de v4l2 también funcionará con VLC.
Flujo con VLC
Nota Usted debe agregar - enable-v4l a configurar. / Para utilizar esta función.
vlc-vvv - color v4l: / / / dev / video: norma SECAM =: frecuencia = 543250: tamaño: 640x480: canal = 0: ADEV = / dev / dsp: audio = 0 sout '# transcode {vcodec = mp4v, = mpga, acodec vb = 3000, ab = 256, VENC ffmpeg = {keyint = 80, date prisa en marcha, vt = 800000}, desentrelazado}: {rtp del mux = ts, dst = 239.255.12.13, puerto = 5004 } '- ttl 12 %
Nota Usted puede encontrar todas las opciones de transcodificación en esta página: Avanzada streaming usando la línea de comandos . donde: • / Dev / video es el dispositivo correspondiente a su tarjeta de adquisición o la webcam, • norma SECAM = es el nombre de la norma de la señal analógica (los posibles valores son PAL, SECAM y NTSC), • frecuencia = 543250 es la frecuencia del canal en kHz ( Advertencia: para VLC <0.6.1, La frecuencia es la frecuencia del canal en MHz multiplicada por 16), • size = 640x480 es el tamaño del vídeo que quieres (también se puede poner el tamaño estándar como SubQCIF (128x96), QSIF (160x120), QCIF (176x144), SIF(320x240), CI F (352x288) o VGA (640x480)) , • canal = 0 es el número del canal (normalmente 0 es para el sintonizador, 1 para compuesto y 2 para svideo), • ADEV = / dev / dsp es el dispositivo de audio, • de audio = 1 es el número del canal de audio (normalmente 0 es para mono y 1 para estéreo), • vcodec mp4v = es el formato de vídeo que desea codificar en un ( mp4v es MPEG-4, mpgv es MPEG-1, y también hay h263 , DIV1 , DIV2 , div3 , I420 , I422 , I444 ,RV24 , YUY2 ), • acodec = mpga es el formato de audio que desea codificar en un ( mpga es MPEG audio layer 2, a52 es A52 sonido AC3 por ejemplo), • vb = 3000 es la tasa de bits de vídeo en Kbit / s • ab = 256 es el bitrate de audio en Kbit / s • VENC ffmpeg = permite ajustar el codificador a utilizar, en la que: o keyint = 80 es la cantidad máxima de fotogramas entre dos fotogramas clave o Urgente permite al codificador para disminuir la calidad de la corriente si la CPU no puede mantenerse al día con la velocidad de codificación o VT = 800000 es la tolerancia en kbit / s para el bitrate del video outputted • deinterlace indica a VLC desentrelazar el vídeo sobre la marcha, • 192.168.0.42 es: o la dirección IP de la máquina que desea unicast; o o el nombre DNS de la máquina que desea unicast; o o una dirección IP multicast. • 12 es el valor de la TTL (Time To Live) de los paquetes IP (lo que significa que la corriente va a ser capaz de atravesar 11 routers).
Stream con DirectShow Nota Esto sólo es posible en Windows
Instale los controladores de periféricos Es necesario instalar los periféricos bajo Windows con los controladores adecuados. Nada más es necesario.
Flujo con VLC en la línea de comandos C: \ Archivos de programa \ VideoLAN \ VLC \ vlc.exe-vvv-I rc - ttl 12 dshow: / / vdev = "VGA USB Camera" ADEV = "USB Camera" size = "640x480" - sout = # rtp {MUX = ts, dst = 239.255.42.12, port = 5004} %
Nota Es necesario precisar la ruta completa para encontrar el programa VLC o lanzar el comando desde el directorio correcto. • vvv es activar el modo detallado • rc es activar la interfaz de control remoto (MS / DOS consola) • 12 es el valor de la TTL (Time To Live) de los paquetes IP (lo que significa que la corriente va a ser capaz de atravesar 11 routers), • vdev = "VGA USB Camera" es el nombre del video periférico que se utiliza DirectShow (esto es sólo un ejemplo), • ADEV = "USB Camera" es el nombre del audio periférica, • size = "640x480" es la resolución (también se puede poner el tamaño estándar como SubQCIF (128x96), QSIF (160x120), QCIF (176x144), SIF (320x240), C IF(352x288) o VGA (640x480)). • 239.255.42.12 es: o la dirección IP de la máquina que desea unicast o o el nombre DNS de la máquina que desea unicast o o una dirección IP multicast.
Capítulo 11. Transmisión desde una videocámara DV Tabla de contenidos Instale el libraw1394 y libavc1394 Corriente con DV
Nota Esto es posible bajo GNU / Linux.
Instale el libraw1394 y libavc1394 Si usted quiere ser capaz de transmitir desde una videocámara DV, entonces usted necesita para instalar las bibliotecas libraw1394 y libavc1394:
• • • • •
• • • • •
si utiliza una distribución de Fedora Core, solo tienes que instalar las bibliotecas mediante: % %
yum update yum install libraw1394 libavc1394
si desea instalar las bibliotecas de la fuente entonces debe descargar desde el libraw1394 y libavc1394 desde su página web los proyectos. si usted tiene una distribución que usa udev , a continuación, debe agregar o cambiar la siguiente línea en el archivo de 50 udev.rules en el archivo / etc / udev / rules.d. %
vi / etc/udev/rules.d/50-udev.rules
# IEEE1394 (Firewire) dispositivos (debe ser antes de dispositivos sin formato a continuación) KERNEL == "raw1394", NAME = "% k" KERNEL == "dv1394", NAME = "dv1394 /% k" KERNEL == "video1394 *", NAME = "/ n% video1394"
En las secciones siguientes se supone que tiene una instalación de Linux que trabajan con el estándar IEEE 1394 (Firewire) bibliotecas instaladas, ya sea manualmente desde el código fuente oa través de su mecanismo de distribución de actualización.
Corriente con DV Conecte la cámara de vídeo digital con un cable Firewire al ordenador, y compruebe la creación del archivo / dev/raw1394 . Ejecutar VLC con el siguiente comando: vlc-vvv dv / DV nativo: / / / dev/raw1394 - dv-caché 10000-sout '# transcode {vcodec = WMV2, vb = 512, escala = 1, acodec = mp3, ab = 192, canales = 2} : std {acceso mmsh = = asfh MUX, url =: 8080} 'sout-transcode-fps = 25.0 %
donde: • • •
•
dv / DV nativo: / / es la entrada DV y / dev/raw1394 el archivo de dispositivo, dv-caché es el retraso es milisegundos (ms) (empezar con un valor alto, 10 o así, y lo baja más adelante), sout es la cadena de salida de la corriente que se utiliza para escuchar la videocámara DV como una transmisión de datos multimedia en la red. La transcodificación sintaxis se explica en el capítulo acerca de la transcodificación. En el ejemplo que figura anterior genera un flujo multimedia que es compatible con Windows Media Player, sout-transcode-fps es el número de imágenes por segundo 25.0 que el módulo de transcodificación debe generar el audio solicitado / codec de vídeo.
Capítulo 12. Streaming a través de IPv6 Tabla de contenidos Streaming a través de IPv6
Streaming a través de IPv6 Este capítulo trata los aspectos específicos de streaming a través de IPv6. Todavía deberá leer los capítulos anteriores si no está cómodo con el streaming en general.
Requisitos Es obvio que se necesita un sistema operativo con IPv6. Que incluye Windows XP/2003, Linux 2.6, Mac OS X (a partir de la versión 10.2). Windows 2000 y Linux 2.4
son compatibles también, pero sus pilas de IPv6 no son tan buenos, por lo que si se puede actualizar. IPv6 debe estar correctamente configurado y funcionando en su sistema y de red. En Linux, el ipv6 módulo de kernel debe cargarse (o en el programa compilado). En Windows, la suite de protocolos IPv6 se puede instalar ejecutando "ipv6 install" desde la línea de comandos, o mediante el panel de configuración de red.
Nota En Windows 2000, debe agregar manualmente una ruta multicast IPv6 por defecto, con el siguiente comando: #
ipv6 rtu ss:: / 8 4
en el último número ( 4 en este ejemplo) es el número de su verdadero interfaz de IPv6. Para tener una lista de las interfaces de IPv6, ejecute ipv6 si .
Advertencia En Windows XP Service Pack 1, puede tener problemas con un firewall IPv6 oculto. Para resolver el problema, vaya a la lista de servicios de Windows y detenga el servicio de cortafuegos de IPv6. Usted debe considerar la actualización a Service Pack 2, que proporciona un firewall integrado IPv4/IPv6 que se pueden configurar a través de la interfaz gráfica de usuario.
Advertencia Si está utilizando VMware en Linux, tendrá que dejar de VMware y descargar los módulos del kernel de VMware, ya que nos dimos cuenta que impidió IPv6 streaming!
Limitaciones Todavía hay algunas características del VLC media player que no son compatibles con IPv6. En particular, no es posible utilizar RTSP sobre IPv6 porque la biblioteca subyacente, Live.com, no es compatible con IPv6 en el momento de la escritura. Additionnaly, tenga en cuenta que en este momento, por defecto de VLC usando IPv4 sobre todo cada, ya que es lo que más utiliza la gente. Eso podría ser cambiado a algo más transparentes en futuras versiones.
Streaming con VLC Con el Asistente para streaming (GUI) El asistente de streaming acepta direcciones IPv6 entre llaves, por ejemplo: [2002:8 AC3: 802D: 1242:211:11 ss: Fe25: e6b4] . Si se especifica una dirección de enlace local, que probablemente más la necesitan para especificar la interfaz de red para su uso. En Unix, que se puede hacer de esta manera: [fe80:: 211:11: ss Fe25: e6b4% eth0]para conectar a eth0. Del mismo modo, en Windows, puede especificar [fe80:: 211:11 ff: Fe25: e6b4% 1] donde 1 es el número de la interfaz de red tal como se define por el sistema operativo. Si usted es de streaming a través de HTTP, tenga en cuenta que IPv6 se utiliza automáticamente de forma predeterminada (para que IPv6 e IPv4 clientes podrán). Si desea especificar el nombre de host DNS, tenga en cuenta que los valores por defecto de VLC a IPv4 resolución. Usted debe especificar nombres de host que sólo se resuelve con una dirección IPv6, o permitir que el "Grupo de IPv6" avanzada opción en Preferencias / Opciones generales / de entrada .
Desde la línea de comandos El - ipv6 opción de línea de mando de la fuerza el uso de IPv6 por defecto (es decir, IPv6 es siempre intentado antes IPv4).
vlc-vvv video1.xyz - sout '# {rtp del mux = ts, dst = ff08:: 1}' ttl 12 %
donde: •
•
•
es el archivo que quiere transmitir (también se puede poner dvdsimple: / / / dev / dvd para escuchar un DVD o cualquier otra configuración de entrada), ff08:: 1 es: o la dirección IPv6 de la máquina que desea unicast; o o la dirección IPv6 multicast. 12 es el valor de la TTL (Time To Live) de los paquetes IP (lo que significa que la corriente va a ser capaz de atravesar 11 routers). video1.xyz
Nota Puede que tenga que especificar la interfaz de red de salida: vlc-vvv video1.xyz - sout '# {rtp del mux = ts, dst = ff02:: 1% eth0}' - ttl 12 %
donde eth0 es el nombre de la interfaz de red (en Linux las interfaces de red se denominan ethX , bajo Mac OS X es enX y en Windows es la X , donde X es el número apropiado).
Recibir un flujo de IPv6 Con la interfaz gráfica de usuario Seleccione Archivo / Abrir secuencia de red. Para recibir una UDP / RTP secuencia de unidifusión enviados a su sistema, debe seleccionar la opción de IPv6 de la Fuerza (y, posiblemente, ajustar la UDP puerto de destino). Para recibir una secuencia de multidifusión UDP, seleccione la UDP / RTP Multicast opción y especifique la dirección de multidifusión a suscribir entre corchetes. La sintaxis de direcciones IPv6 es la misma que se explica en el streaming a través de IPv6 sección de este capítulo.
Desde la línea de comandos IPv6 se utiliza de forma automática si están disponibles (con la versión 0.8.6 o más). %
vlc-vvv - ipv6 rtp ://@[ ff08:: 1]: 5004
Nota Bajo Unix / Linux, puede que tenga que proteger a los corchetes de la dirección IPv6: %
vlc-vvv-rtp: @ / / \ [ff08:: 1 \]: 5004
Nota Puede que tenga que especificar la interfaz de red de salida: %
vlc-vvv rtp ://@[ ff02:: 1% eth0]: 5004 - ttl 12
donde eth0 es el nombre de la interfaz de red (en Linux las interfaces de red se denominan ethX , bajo Mac OS X es enX y en Windows es la X , donde X es el número apropiado).
Apéndice A. Licencia pública general GNU Versión 2, junio de 1991 Copyright © 1989, 1991 Free Software Foundation, Inc. Fundación para el Software Libre, Inc. 59 Temple Place, Suite 330 , Boston , MA 02111-1307 EE.UU. . Se permite la copia y distribución de copias literales de este documento de licencia, pero no está permitido. Versión 2, junio de 1991 Tabla de contenidos Preámbulo TÉRMINOS Y CONDICIONES para la copia, distribución y modificación Cómo aplicar estos términos a sus nuevos programas
Preámbulo Las licencias de la mayoría del software están diseñadas para quitarle a usted la libertad de compartirlo y modificarlo. Por el contrario, la Licencia Pública General GNU pretende garantizarle la libertad de compartir y modificar software libre - para asegurarse de que el software es libre para todos sus usuarios. Esta Licencia Pública General se aplica a la mayoría de software de la Free Software Foundation ya cualquier otro programa si sus autores se comprometen a utilizarla. (Existe otro software de Software Libre Foundation que está cubierto por la GNU Licencia Pública General en su lugar.) Usted también puede aplicarla a sus propios programas.
Cuando hablamos de software libre, nos estamos refiriendo a la libertad, no de precio. Nuestras Licencias Públicas Generales están diseñadas para asegurarse de que usted tiene la libertad de distribuir copias de software libre (y cobrar por ese servicio si quiere), que recibe el código fuente o que pueda conseguirlo si lo quiere, de que puede cambiar el software o piezas de uso de él en nuevos programas libres, y que usted sepa que puede hacer estas cosas. Para proteger sus derechos necesitamos algunas restricciones que prohiban a cualquiera negarle estos derechos o pedirle que renuncie a ellos. Estas restricciones se traducen en ciertas obligaciones que le afectan si distribuye copias del software, o si lo modifica. Por ejemplo, si distribuye copias de tal programa, ya sea gratuitamente oa cambio de una contraprestación, debe dar a los receptores todos los derechos que usted tiene. Usted debe asegurarse de que ellos también reciban o puedan conseguir el código fuente. Y debe mostrarles estas condiciones de forma que conozcan sus derechos. Nosotros protegemos sus derechos con dos pasos: 1. los derechos de autor del software, y 2. le ofrecemos esta licencia que le da permiso legal para copiar, distribuir y / o modificar el software. Además, para la protección de cada autor y la nuestra, queremos asegurarnos de que todo el mundo entiende que no hay ninguna garantía para este software libre. Si el software es modificado por alguien y lo distribuye, queremos que sus receptores sepan que lo que tienen no es el original, por lo que cualquier problema introducido por otros no afecte a la reputación de los autores originales. Por último, cualquier programa libre está constantemente amenazado por las patentes de software. Queremos evitar el peligro de que los redistribuidores de un programa libre obtengan licencias de patentes, en efecto así patentar el programa. Para evitar esto, hemos dejado claro que cualquier patente debe ser pedida para el uso libre de cualquiera o no ser pedida. Los términos exactos y las condiciones para la copia, distribución y modificación.
TÉRMINOS Y CONDICIONES para la copia, distribución y modificación Sección 0 Esta Licencia se aplica a cualquier programa u otro trabajo que contenga una nota colocada por el tenedor del copyright diciendo que puede ser distribuido bajo los términos de esta Licencia Pública General. El "Programa", a continuación, se refiere a cualquier programa o trabajo, y un " trabajo basado en el Programa "se referirá bien al Programa oa cualquier trabajo derivado de él según la ley del copyright: es decir, un trabajo que contenga el Programa o una porción de él, bien en forma literal o con modificaciones y / o traducido a otro idioma. (En lo sucesivo, la traducción está incluida sin limitaciones en el término " modificación ".) Cada beneficiario es asimilable a" usted ". Cualquier otra actividad que no sea la copia, distribución y modificación no están cubiertas por esta Licencia, está fuera de su alcance. El acto de ejecutar el Programa no está restringido, y los resultados del Programa están cubiertos únicamente si sus contenidos constituyen un trabajo basado en el Programa (independientemente de haberlo producido mediante la ejecución del Programa). El que esto se cumpla, depende de lo que haga el programa.
Sección 1
Usted puede copiar y distribuir copias exactas del código fuente del Programa, según lo has recibido, en cualquier medio, siempre que adecuada y bien visible publique en cada copia un anuncio de copyright adecuado y un repudio de garantía, mantenga intactos todos los anuncios que se refieran a esta Licencia ya la ausencia de cualquier garantía, y proporcione a cualquier otro receptor del programa una copia de esta licencia junto con el Programa. Puede cobrar un precio por el acto físico de transferir una copia, y puede, según su libre albedrío, ofrecer garantía a cambio de una cuota.
Sección 2 Puede modificar su copia o copias del Programa o cualquier porción de él, formando de esta manera un trabajo basado en el Programa, y copiar y distribuir esa modificación o trabajo bajo los términos de la Sección 1 anterior, siempre que además cumpla las siguientes condiciones : 1. Debe hacer que los ficheros modificados lleven anuncios prominentes indicando que usted cambió los archivos y la fecha de cualquier cambio. 2. Debe hacer que cualquier trabajo que distribuya o publique y que en todo o en parte contenga o sea derivado del Programa o parte de ella, sea licenciada como un todo, sin cargo alguno para terceras partes, bajo los términos de esta licencia. 3. Si el programa modificado lee normalmente órdenes interactivamente cuando es ejecutado, debe hacer que, cuando comience su ejecución para ese uso interactivo de la forma más habitual, muestre o escriba un mensaje que incluya un anuncio de copyright y un anuncio de que no hay ninguna garantía (o por el contrario que sí se ofrece garantía) y que los usuarios pueden redistribuir el programa bajo estas condiciones, e indicando al usuario cómo ver una copia de esta licencia.
Excepción: Si el propio programa es interactivo pero normalmente no muestra ese anuncio, su trabajo basado en el Programa no tiene la obligación de imprimir un anuncio). Estos requisitos se aplican al trabajo modificado como un todo. Si partes identificables de ese trabajo no son derivadas del Programa, y se puede considerar razonablemente trabajos independientes y separados por ellos mismos, entonces esta Licencia y sus términos no se aplican a esas partes cuando sean distribuidas como trabajos separados. Pero cuando usted distribuye las mismas secciones como parte de un todo que es un trabajo basado en el Programa, la distribución del todo debe ser según los términos de esta licencia, cuyos permisos para otros licenciatarios se extienden al todo completo, y por lo tanto a cada y cada parte, independientemente de quién la escribió. Por lo tanto, no es la intención de este apartado reclamar derechos o desafiar sus derechos sobre trabajos escritos totalmente por usted, sino que la intención es ejercer el derecho a controlar la distribución de trabajos derivados o colectivos basados en el Programa. Además, el simple agregado de otro trabajo no basado en el Programa con el Programa (o con un trabajo basado en el Programa) en un volumen de almacenamiento o de distribución de media no que dicho trabajo entre dentro del ámbito de esta Licencia.
Sección 3 Usted puede copiar y distribuir el Programa (o un trabajo basado en él, según la sección 2 en código objeto o en formato ejecutable según los términos de las Secciones 1 y 2 , supuesto que además cumpla una de las siguientes: 1. Acompañarlo con el código fuente completo correspondiente en formato electrónico, que debe ser distribuido bajo los términos de los apartados 1 y 2
anteriores, en un medio habitualmente utilizado para el intercambio de programas, o 2. Acompañarlo con una oferta por escrito, válida durante al menos tres años, para dar a cualquier tercero, por un costo no mayor que el coste de la distribución física, de una copia completa en formato electrónico del código fuente correspondiente, que será distribuido bajo los términos de las Secciones 1 y 2 anteriores, en un medio habitualmente utilizado para el intercambio de programas, o 3. Acompañarlo con la información que recibiste ofreciendo distribuir el código fuente correspondiente. (Esta opción se permite sólo para distribución no comercial y sólo si usted recibió el programa como código objeto o en formato ejecutable con tal oferta, de acuerdo con el apartado b anterior.) El código fuente de un trabajo significa la forma preferida del trabajo para hacer modificaciones a la misma. Para un trabajo ejecutable, el código fuente completo significa todo el código fuente de todos los módulos que contiene, más cualquier fichero asociado de definición de interfaz, más los guiones utilizados para controlar la compilación e instalación del ejecutable. Sin embargo, como excepción especial, el código fuente distribuido no necesita incluir nada que sea distribuido normalmente (bien como fuente, bien en forma binaria) con los componentes principales (compilador, kernel y similares) del sistema operativo en el cual funciona el ejecutable, a menos que el propio componente acompañe al ejecutable. Si la distribución del ejecutable o del código objeto se realiza ofreciendo acceso a copias desde un lugar designado, entonces el ofrecer acceso equivalente para copiar el código fuente desde el mismo lugar como distribución del código fuente, incluso aunque terceras partes no estén forzadas a copiar el fuente junto con el código objeto.
Sección 4 Usted no puede copiar, modificar, sublicenciar o distribuir el Programa excepto como prevé expresamente esta Licencia. Cualquier intento de copiar, modificar, sublicenciar o distribuir el Programa es nulo, y terminará automáticamente sus derechos bajo esta Licencia. Sin embargo, las partes que hayan recibido copias, o derechos de usted bajo esta Licencia no verán terminadas sus licencias siempre y cuando esas partes continúen cumpliéndola.
Sección 5 Usted no está obligado a aceptar esta licencia, ya que no la ha firmado. Sin embargo, nada más que le proporcione permiso para modificar o distribuir el Programa o sus trabajos derivados. Estas acciones están prohibidas por la ley si no acepta esta Licencia. Por lo tanto, si modifica o distribuye el Programa (o cualquier trabajo basado en el Programa), está indicando que acepta esta Licencia para poder hacerlo, y todos sus términos y condiciones para copiar, distribuir o modificar el Programa o trabajos basados en él.
Sección 6 Cada vez que redistribuya el Programa (o cualquier trabajo basado en el Programa), el receptor recibe automáticamente una licencia del licenciatario original para copiar, distribuir o modificar el Programa sujeto a estos términos y condiciones. Usted no puede imponer ninguna restricción más sobre el ejercicio de los destinatarios de los derechos aquí garantizados.Usted no es responsable de asegurar el cumplimiento por parte de terceros de esta Licencia.
Sección 7
Si, como consecuencia de una resolución judicial o alegación de infracción de patente o por cualquier otra razón (no limitada a asuntos relacionados con patentes), se le imponen condiciones (ya sea por orden judicial, acuerdo o de otra manera) que contradigan las condiciones de esta Licencia, no le exime de cumplir las condiciones de esta Licencia. Si no puede realizar distribuciones de forma que se satisfagan simultáneamente sus obligaciones bajo esta licencia y cualquier otra obligación pertinente, entonces, como consecuencia, no puede distribuir el Programa de ninguna forma. Por ejemplo, si una patente no permite la distribución sin derechos de autor del Programa por todos aquellos que reciban copias directa o indirectamente a través de usted, entonces la única forma en que podría satisfacer tanto esa condición como esta Licencia sería evitar completamente la distribución de la Programa. Si cualquier porción de este apartado se considera inválida o imposible de cumplir bajo cualquier circunstancia particular, el saldo de la sección está destinada a aplicarse y la sección en su conjunto está destinado a aplicarse en otras circunstancias. No es el propósito de este apartado inducirle a infringir ninguna patente ni ningún otro derecho de propiedad o impugnar la validez de ninguna de dichas reivindicaciones Este apartado tiene el único propósito de proteger la integridad del sistema de distribución de software libre, que se realiza mediante las prácticas de licencia pública. Mucha gente ha hecho contribuciones generosas a la gran variedad de software distribuido mediante ese sistema con la confianza en la aplicación coherente de dicho sistema, es responsabilidad del autor / donante quien decida si él o ella está dispuesto a distribuir software mediante cualquier otro sistema y una licenciatario no puede imponer esa elección. En esta sección se pretende dejar completamente claro lo que se cree que es una consecuencia del resto de esta Licencia.
La Sección 8 Si la distribución y / o uso del Programa está restringida en ciertos países, bien por patentes o por interfaces bajo copyright, el tenedor del copyright que coloca este Programa bajo esta Licencia puede añadir una limitación explícita de distribución geográfica excluyendo esos países, de modo que la distribución se permita sólo en o entre los países no excluidos de esta manera. En ese caso, esta Licencia incorpora la limitación como si estuviese escrita en el cuerpo de esta Licencia.
Sección 9 La Free Software Foundation puede publicar versiones revisadas y / o versiones nuevas de la Licencia Pública General de vez en cuando. Tales versiones nuevas serán similares en espíritu a la presente versión, pero pueden diferir en detalles para considerar nuevos problemas o preocupaciones. Cada versión tiene un número de versión que la distingue. Si el Programa especifica un número de versión de esta Licencia que se refiere a ella ya «cualquier versión posterior", usted tiene la opción de seguir los términos y condiciones, bien de esa versión, bien de cualquier versión posterior publicada por la Free Software Foundation. Si el Programa no especifica un número de versión de esta Licencia, puedes escoger cualquier versión publicada por la Free Software Foundation.
Sección 10 Si usted desea incorporar partes del Programa en otros programas libres cuyas condiciones de distribución son diferentes, escribe al autor para pedirle permiso. Si el software es propiedad de la Free Software Foundation, escriba a la Free Software Foundation: algunas veces hacemos excepciones en estos casos. Nuestra decisión estará guiada por el doble objetivo de preservar la libertad de todos los derivados de nuestro software libre y promover el intercambio y la reutilización del software en general.
NO HAY GARANTÍA Sección 11 Como el programa se licencia libre de cargas, no se ofrece ninguna garantía sobre el programa, en LA EXTENSIÓN PERMITIDA POR LA LEY APLICABLE. EXCEPTO CUANDO SE INDIQUE POR ESCRITO LOS TITULARES DE DERECHOS DE AUTOR Y / O DE OTRAS PARTES DEL PROGRAMA "TAL CUAL" SIN GARANTÍA DE NINGÚN TIPO, YA SEA EXPRESA O IMPLÍCITA, INCLUYENDO, SIN LIMITACIÓN, LAS GARANTÍAS DE COMERCIALIZACIÓN Y APTITUD PARA UN PROPÓSITO PARTICULAR . EL RIESGO EN CUANTO A LA CALIDAD Y LA EJECUCIÓN DEL PROGRAMA ES CON USTED. SI EL PROGRAMA TIENE defectuoso, asume el coste de cualquier servicio, reparación o corrección.
Artículo 12 EN NINGÚN CASO, A MENOS QUE REQUIERE LA LEY O ACUERDO POR ESCRITO DE AUTOR, O CUALQUIER OTRA PARTE QUE PUEDEN MODIFICAR Y / o redistribuya el Programa según se permite en esta Licencia será responsable ante usted por daños, INCLUYENDO CUALQUIER general, especial, incidental o DAÑOS DERIVADOS DEL USO O LA IMPOSIBILIDAD DE USO DEL PROGRAMA (INCLUYENDO PERO NO LIMITADO A LA PÉRDIDA DE DATOS O DE DATOS INCORRECTOS O pérdidas sufridas por usted o por terceras partes oa un fallo del Programa al funcionar con cualquier otro programa), INCLUSO si dicho tenedor u otra parte ha sido INFORMADO DE LA POSIBILIDAD DE TALES DAÑOS. FIN DE TÉRMINOS Y CONDICIONES
Cómo aplicar estos términos a sus nuevos programas Si usted desarrolla un nuevo programa, y usted quiere que sea del mayor uso posible para el público, la mejor manera de conseguirlo es convirtiéndolo en software libre que cualquiera pueda redistribuir y cambiar bajo estos términos. Para hacerlo, añada los siguientes anuncios al programa. Lo más seguro es añadirlos al principio de cada fichero fuente para transmitir lo más efectivamente posible la ausencia de garantía, y cada archivo debe tener al menos la línea de copyright y un indicador a dónde puede encontrarse el anuncio completo. <una línea para indicar el nombre del programa y una rápida idea de lo que does.> Copyright (C) <año> <nombre del autor> Este programa es software libre, puede redistribuirlo y / o modificarlo bajo los términos de la GNU General Public License publicada por la Free Software Foundation, bien de la versión 2 de la Licencia, o (a su elección) cualquier versión posterior. Este programa se distribuye con la esperanza de que sea útil, pero SIN NINGUNA GARANTÍA, incluso sin la garantía implícita de COMERCIALIZACIÓN o IDONEIDAD PARA UN PROPÓSITO PARTICULAR. Consulte la GNU General Public License para más detalles. Debería haber recibido una copia de la Licencia Pública General GNU junto con este programa, si no, escriba a la Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 EE.UU. Añada también información sobre cómo contactar con usted por correo electrónico y postal. Si el programa es interactivo, haga que muestre un pequeño anuncio como el siguiente, cuando comienza a funcionar en modo interactivo:
Gnomovision versión 69, Copyright (C) año nombre del autor Gnomovision no ofrece ABSOLUTAMENTE NINGUNA GARANTÍA; para más detalles escriba «show w». Este es software libre, y usted está invitado a redistribuirlo bajo ciertas condiciones, el tipo `show c 'para más detalles. Los comandos hipotéticos `show w 'y` show c »deberían mostrar las partes adecuadas de la Licencia Pública General. Por supuesto, los comandos que use pueden llamarse de cualquier otra `show w 'y` show c', sino que podría incluso ser pulsaciones del ratón o elementos de menú - cualquiera que sea apropiado para su programa. También deberías conseguir que su empleador (si trabaja como programador) o su escuela, en su caso, a firmar una "renuncia de copyright" para el programa, si es necesario. Aquí está un ejemplo, altere los nombres: Yoyodyne, Inc., por la presente renuncia a cualquier interés en el programa Gnomovision (que hace pasadas a compiladores) escrito por James Hacker. <firma de Coon> Ty 1 de abril de 1989 Ty Coon, Presidente del Vicepresidente Esta Licencia Pública General no permite que incluya sus programas en programas propietarios. Si su programa es una biblioteca de subrutinas, puede considerar más útil el permitir el enlazado de aplicaciones propietarias con la biblioteca. Si esto es lo que quieres hacer, utilizar la GNU Licencia Pública General en lugar de esta Licencia.