FFmpeg no es solo una herramienta de codificación y decodificación de audio y video, sino también un conjunto de kits de desarrollo de codificación de audio y video. Como kit de desarrollo de codificación, proporciona a los desarrolladores interfaces de llamada ricas para el procesamiento de audio y video.
FFmpeg proporciona encapsulación y desencapsulación de una variedad de formatos de medios, incluida una variedad de codificación de audio y video, transmisión de medios de una variedad de protocolos, una variedad de conversión de formato colorido, una variedad de conversión de tasa de muestreo, una variedad de conversión de tasa de código, etc.; El marco FFmpeg proporciona una variedad de módulos de complementos, incluidos complementos para empaquetar y desencapsular, complementos para codificar y decodificar, etc. Al mismo tiempo, también se puede usar para grabar, convertir audio digital, video y convertirlo en un programa de computadora de código abierto para transmisión. Adopte la licencia LGPL o GPL. Proporciona una solución completa para grabar, convertir y transmitir audio y video.
Directorio de artículos
1. Descarga e instala FFmpeg
- Descargar (versión personalizada: http://www.ffmpeg.org/releases/)
wget http://www.ffmpeg.org/releases/ffmpeg-5.1.tar.gz
- descomprimir
tar -zxvf ffmpeg-5.1.tar.gz
- Compilar e instalar (lleva mucho tiempo)
/home/ffmpeg es el directorio de instalación especificado por sí mismo
cd ffmpeg-5.1
./configure --prefix=/home/ffmpeg
hacer && hacer instalar
- Configurar variables de entorno (fácil de usar en cualquier lugar)
vi /etc/perfil
Agregue la variable de entorno al final de PATH:
export PATH=$PATH:$JAVA_HOME/bin:/home/ffmpeg/bin
fuente /ect/perfil
- Verificar instalación correcta
ffmpeg-versión
Dos, instala nginx
1. Instalar dependencias
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
- Descargar, compilar e instalar
# 下载
wget http://nginx.org/download/nginx-1.21.5.tar.gz
# 解压缩
tar -zxvf nginx-1.21.5.tar.gz
cd nginx-1.21.5/
# 执行配置并加载ssl模块
./configure --prefix=/usr/local/nginx --with-http_ssl_module
# 编译安装(默认安装在/usr/local/nginx)
make
make install
- puesta en marcha
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
# 进入:/usr/local/nginx/sbin
1 启动 ./nginx
2 停止 ./nginx -s stop
3 重启 ./nginx -s reload
4. Configure nginx (recuerde abrir el número de puerto en el servidor de red externo y reiniciar nginx y firewall)
server {
listen 82;
location / {
types{
application/vnd.apple.mpegurl m3u8;
video/mp2t ts;
}
root /home/ffmpeg/video/; #root后的路径改为转码后的视频文件夹路径
add_header Cache-Control no-cache;
add_header Access-Control-Allow-Origin *;
}
}
3. Comienza a transcodificar
nohup ffmpeg -i reemplazado con rtsp stream address -c copy -y /home/ffmpeg/video/AK_PHAROS1_000003/1ZNBJ4800C006B/video.m3u8 2>/dev/null 2>&1 &
Nota:
El primer lugar en negrita se cambia a su dirección RTSP para garantizar una reproducción normal (puede usar la herramienta vlc para probar) el
segundo lugar es la ruta de ubicación donde se almacena la transmisión de video después de transcodificar
PD: este comando se ejecuta en segundo plano, si desea poner en primer plano Ejecutar para eliminar el nohup al principio y 2>/dev/null al final 2>&1 &
Se accede al video después de la transcodificación exitosa a través de nginx, y la dirección de reproducción del resultado después de ejecutar el método anterior es:
http://dirección IP:82/AK_PHAROS1_000003/1ZNBJ4800C006B/video.m3u8
Pruébelo en VLC: