Libavcodec
libavcodec es una biblioteca de códecs gratuita y de código abierto para codificar y decodificar datos de vídeo y audio.
libavcodec es una parte integral de muchas aplicaciones y marcos multimedia de código abierto. Los populares reproductores multimedia MPV, xine y VLC lo utilizan como su principal motor de decodificación integrado que permite la reproducción de muchos formatos de audio y vídeo en todas las plataformas compatibles. También lo utiliza el decodificador de pruebas ffdshow como biblioteca de decodificación principal. libavcodec también se utiliza en aplicaciones de transcodificación y edición de vídeo como Avidemux, MEncoder o Kdenlive tanto para decodificación como para codificación.
libavcodec contiene implementaciones de decodificador y, a veces, de codificador de varios formatos propietarios, incluidos aquellos para los que no se ha publicado ninguna especificación pública. Como tal, un importante esfuerzo de ingeniería inversa es parte del desarrollo de libavcodec. Tener dichos códecs disponibles dentro del marco estándar de libavcodec brinda una serie de beneficios sobre el uso de los códecs originales, en particular una mayor portabilidad y, en algunos casos, también un mejor rendimiento, ya que libavcodec contiene una biblioteca estándar de implementaciones altamente optimizadas de bloques de construcción comunes, como DCT y conversión de espacio de color. Sin embargo, si bien libavcodec se esfuerza por lograr una decodificación que sea un poco exacta a sus implementaciones de formato oficial, los errores ocasionales y las características faltantes en dichas reimplementaciones a veces pueden introducir problemas de compatibilidad de reproducción para ciertos archivos.
Códecs de vídeo implementados
libavcodec incluye decodificadores y/o codificadores de video para los siguientes formatos; esta lista no es exhaustiva:
- Animated GIF
- Asus video format v1 y v2
- AVS (decodificación solamente, codificación a través de libxavs)
- AV1
- Formato CamStudio (decodificación solamente)
- CineForm (decodificación solamente)
- Cinepak
- YUV creativo (CYUV, decodificando solamente)
- Dirac
- DNxHD
- Duck Corporation Truemotion 1, 2, y RT codecs (Decodificación solamente)
- FFV1
- Flash Screen Video v1 y v2
- H.261
- H.262/MPEG-2 Parte 2
- H.263
- H.264/MPEG-4 AVC (decodificador nativo, codificación a través de x264 y codificación de hardware)
- H.265 HEVC (decodificador nativo, codificación a través de x265 y codificación de hardware)
- Huffyuv
- id Software RoQ Video
- Indeo (decodificación solamente)
- Lagarith (decodificación solamente)
- MJPEG
- MPEG-1
- MPEG-4 Parte 2 (el formato utilizado por ejemplo por los populares códigos DivX y Xvid)
- Apple ProRes
- QuickDraw (decodificación solamente)
- QuickTime: Gráficos (sólo decodificación), Video (sólo decodificación) y Animación (RLE)
- RealVideo RV10 y RV20
- RealVideo RV30 y RV40 (sólo decodificación)
- SheerVideo (decodificación solamente)
- Smacker video (decodificación solamente)
- Nieve
- Sorenson Spark bajo el nombre FLV1
- SVQ1
- SVQ3 (decodificación únicamente)
- Theora (decodificador nativo, codificación a través de libtheora)
- TrueMotion v1 y v2 (decodificando solamente)
- VC-1 (decodificación únicamente)
- Sierra VMD Video (decodificación solamente)
- VMware VMnc (decodificación únicamente)
- VP3 (decodificación únicamente)
- VP5 (decodificación únicamente)
- VP6 (decodificación únicamente)
- VP7 (decodificación únicamente)
- VP8 (decodificador nativo, codificación a través de libvpx)
- VP9 (decodificador nativo, codificación a través de libvpx)
- VQA (decodificación únicamente)
- VVC (decodificador nativo)
- WMV versión 7 y 8
- WMV versión 9 (decodificación solamente)
- Windows Media Imagen de vídeo (decodificación únicamente)
- Windows Media Pantalla 1 y 2 (decodificación solamente)
- Wing Commander/Xan Video (decodificación únicamente)
Códecs de audio implementados
libavcodec incluye decodificadores y codificadores para los siguientes formatos:
- 8SVX (decodificación únicamente)
- AAC
- AC-3
- AMR (decodificación solamente)
- AMR-WB (decodificación únicamente)
- Apple Lossless
- ATRAC1, ATRAC3, ATRAC3plus y ATRAC9 (sólo decodificación)
- Codec 2
- Cook Codec (decodificación solamente)
- DTS (el encoder es altamente experimental)
- EA ADPCM (decodificación únicamente)
- E-AC-3
- EVRC (decodificación únicamente)
- FLAC
- G.711 (μ-law y A-law)
- G.722
- G.723.1
- G.726
- G.729 (decodificación únicamente)
- GSM 06.10 (decodificador nativo, codificación a través de libgsm)
- Intel Music Coder and Indeo Audio Coder (decodificación solamente)
- Meridian Lossless Packing / Dolby TrueHD
- Audio de mono (decodificación solamente)
- MP1 (decodificación únicamente)
- MP2
- MP3 (decodificador nativo, codificación a través de LAME)
- Nellymoser Asao Codec en Flash
- Opus (encoder nativo y decodificador, codificación a través de libopus)
- QCELP (decodificación únicamente)
- QDM2 (decodificación únicamente)
- RealAudio 1.0
- RealAudio 2.0 (decodificación solamente)
- Shorten (decodificación solamente)
- Truespeech (decodificando solamente)
- TTA
- TwinVQ (decodificación únicamente)
- Vorbis
- WAV
- WavPack
- Windows Media Audio 1 y 2
- Windows Media Audio 9 Sin pérdida (decodificación solamente)
- Windows Media Audio 9 Profesional (decodificación solamente)
- Windows Media Voz de audio (decodificación solamente)
Aspectos legales
Libavcodec contiene más de 100 códecs, la mayoría de los cuales no solo almacenan datos sin comprimir. La mayoría de los códecs que comprimen información podrían ser reclamados por los titulares de patentes. Tales reclamaciones pueden ser ejecutables en países como Estados Unidos que han implementado patentes de software, pero se consideran inaplicables o nulas en países que no han implementado patentes de software.
Además, muchos de estos códecs sólo se publican bajo términos que prohíben la ingeniería inversa, incluso con fines de interoperabilidad. Estas condiciones de uso están prohibidas en ciertos países. Por ejemplo, algunas naciones de la Unión Europea no han implementado patentes de software y tienen leyes que permiten expresamente la ingeniería inversa con fines de interoperabilidad.
Bibliotecas que dependen de libavcodec
- libavformat (parte de FFmpeg)
- libgegl (parte opcional de GEGL)
- libgimp (parte de GIMP)
- libmpcodecs (parte de MPlayer)
- libmpdemux (parte de MPlayer)
Aplicaciones que utilizan libavcodec
Reproductores de vídeo
- FFplay
- MPlayer
- mpv
- MPC-HC y MPC-BE
- VLC
- xine
Reproductores de audio
- Audaz (Usa en el ffaudio audaz-plugins)
- Rockbox (Includes only FLAC code)
- XMMS2
Reproductores multimedia
- Gnash
- Luna de luz
- swfdec
Editores de vídeo
- Avidemux
- Cinelerra
- Kdenlive
- Kino
Editores de audio
- Audacia (desde 1.3.6)
- SoX (opcional)
Convertidores de vídeo
- avconv
- FFmpeg
- HandBrake
- MEncoder
- SUPER
Bibliotecas de vídeos
- GPAC
- Media Lovin' Toolkit
Autoría de discos ópticos
- K3b
Bibliotecas de gráficos
- GEGL
- ImageMagick
Editores de gráficos 3D
- Blender
VoIP
- Ekiga
- QuteCom
- Linphone
Servidor de transmisión multimedia
- FFserver
- VLC media player
Marcos multimedia
- ffdshow (wraps libavcodec como filtro DirectShow y añade postprocesamiento para mejorar la calidad de imagen; una vez instalado, es utilizado automáticamente por todos los reproductores de vídeo de Windows DirectShow, como Windows Media Player Classic, Winamp, etc. También envuelve libavcodec como un filtro de vídeo para Windows; el marco utilizado por la mayoría de software de edición de vídeo.)
- Filtros LAV
- GStreamer a través del plugin GStreamer FFmpeg
- Perian
- Bellagio OpenMAX Integration Layer – OpenMAX IL API de código abierto
Bibliotecas de visión por ordenador
- OpenCV
Navegadora
(feminine)- Google Chrome
- Mozilla Firefox
Centro multimedia
- MythTV
- Plex
- Kodi (antes XBMC)
Captura de pantalla
- xvidcap
Utilidades del dispositivo
- BitPim – utilidades para teléfonos CDMA
CCTV
- ZoneMinder – suite de seguridad de cámara de vídeo
- Moción – programa de seguridad y vigilancia de cámaras de vídeo
Juegos
- Real – juego de música que incluye canto, banda y baile.
- StepMania
- Ultrastar
- ¡Osu!
Otros
- CorePlayer
- FreeJ
- Ingex Studio – utilizado por BBC
- PulseAudio – incluye sólo código de resamplers
- Servicio de distribución digital Steam
Contenido relacionado
Tabla de métodos virtuales
ALGOL Y
Hacer bucle while
API de repositorio de contenido para Java
Datosflex