Realice el acoplamiento del protocolo RTSP de las cámaras de vigilancia en el sistema Linux a Tencent Cloud Live

Realice el acoplamiento del protocolo RTSP de las cámaras de vigilancia en el sistema Linux a Tencent Cloud Live

Instalación 1.ffmpeg

sudo yum localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-7.noarch.rpm
yum -y install ffmpeg

Instalación y configuración 2.nginx-rtmp

Instalar componentes de nginx

yum -y install gcc openssl-devel pcre-devel zlib-devel

Descarga nginx-rtmp-module

//方式一:git命令下载
git clone https://github.com/arut/nginx-rtmp-module.git

//方式二:下载nginx-rtmp-module-1.2.0.tar.gz
//解压
tar -zxvf nginx-rtmp-module-1.2.0.tar.gz
//重命名
mv nginx-rtmp-module-1.2.0 nginx-rtmp-module

Instalar nginx

tar zxvf nginx-1.14.2.tar.gz 
cd nginx-1.14.2/

Compilar e instalar

./configure --prefix=/usr/local/nginx  --add-module=../nginx-rtmp-module  --with-http_ssl_module 
make 
make install 

3. Abra Tencent Cloud Live

(1) Haga clic para activar el servicio inmediatamente

Inserte la descripción de la imagen aquí

(2) Haga clic en la herramienta auxiliar para seleccionar el generador de direcciones para generar la dirección de inserción

Inserte la descripción de la imagen aquí

4. configuración de nginx-rtmp

(1) Cree el directorio de almacenamiento de archivos local nginx

mkdir -p /mnt/share/html/hls

(2) configuración rtmp

vim /usr/local/nginx/conf/nginx.conf


#文件末尾追加
rtmp {

server {

    listen 1935;  #监听的端口  

    chunk_size 4000;

    # rtmp推流请求路径 
    application hls {   
        live on;
        hls on;
        # 本地保存hlv格式文件
        hls_path /mnt/share/html/hls; 
        hls_fragment 10s;
        # 转推[腾讯云](https://l.gushuji.site/tencent)
        push rtmp://106630.livepush.myqcloud.com/live/rtsptest?txSecret=b8d28c20ab68f2467727b837eefcb4a2&txTime=5F140099;
    }
  }
} 

(3) Compruebe si la configuración es correcta

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

(4) Iniciar nginx

/usr/local/nginx/sbin/nginx

5. ffmpeg extrae la transmisión de video de la cámara

ffmpeg -rtsp_transport tcp -i "rtsp://admin:[email protected]:554/cam/realmonitor?channel=1&subtype=0" -vcodec copy -acodec aac -ar 44100 -strict -2 -ac 1 -f flv -s 4000x3000 -q 10 -f flv "rtmp://127.0.0.1:1935/hls"

Nota: Si a la izquierda -rtsp_transportpuede reportar Could not find codec parameters for stream 0 (Video: h264, none)un error, ffmpeg usando el modo de transmisión udp por defecto, use: avformat_find_stream_info situación devolverá codec_id == AV_CODEC_ID_NONE aparecerá;

Si id = none, definitivamente se informará un error al abrir el decodificador, por lo que es necesario juzgar la validez de la información del video al ejecutar avformat_find_stream_info.

Antes de que avformat_open_input abra la dirección de flujo, forzar a ffmpeg a transmitir por tcp puede resolver el retorno anterior de none.

6. Detección

(1) Compruebe si ffmpeg extrae la transmisión de la cámara a nginx-rtmp; si tiene éxito, puede ver:

[aac @ 0x12fb900] Queue input is backward in time0:01:59.57 bitrate=4261.0kbits/s speed=0.934x    
[flv @ 0x12e37a0] Non-monotonous DTS in output stream 0:1; previous: 119622, current: 119605; changing to 119622. This may result in incorrect timestamps in the output file.
[aac @ 0x12fb900] Queue input is backward in time0:02:14.50 bitrate=4266.0kbits/s speed=0.933x    
[flv @ 0x12e37a0] Non-monotonous DTS in output stream 0:1; previous: 134622, current: 134605; changing to 134622. This may result in incorrect timestamps in the output file.
[aac @ 0x12fb900] Queue input is backward in time0:02:29.15 bitrate=4263.7kbits/s speed=0.932x    
[flv @ 0x12e37a0] Non-monotonous DTS in output stream 0:1; previous: 149621, current: 149606; changing to 149621. This may result in incorrect timestamps in the output file.
[aac @ 0x12fb900] Queue input is backward in time0:02:44.50 bitrate=4267.9kbits/s speed=0.931x    
[flv @ 0x12e37a0] Non-monotonous DTS in output stream 0:1; previous: 164621, current: 164606; changing to 164621. This may result in incorrect timestamps in the output file.
[flv @ 0x12e37a0] Failed to update header with correct duration.ate=4267.0kbits/s speed=0.93x     
[flv @ 0x12e37a0] Failed to update header with correct filesize.
frame= 4333 fps= 23 q=-1.0 Lsize=   90306kB time=00:02:53.47 bitrate=4264.6kbits/s speed=0.931x    
video:86498kB audio:3599kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.231989%
[aac @ 0x12fb900] Qavg: 1180.000
Exiting normally, received signal 2.
[root@localhost hls]# ll
总用量 54324
-rw-r--r--. 1 nobody nobody 5484336 7月  16 07:03 live-10.ts
-rw-r--r--. 1 nobody nobody 6584324 7月  16 07:03 live-11.ts
-rw-r--r--. 1 nobody nobody 5495052 7月  16 07:03 live-12.ts
-rw-r--r--. 1 nobody nobody 5491292 7月  16 07:04 live-13.ts
-rw-r--r--. 1 nobody nobody 5482456 7月  16 07:04 live-14.ts
-rw-r--r--. 1 nobody nobody 5491104 7月  16 07:04 live-15.ts
-rw-r--r--. 1 nobody nobody 4022072 7月  16 07:04 live-16.ts
-rw-r--r--. 1 nobody nobody 5485652 7月  16 07:02 live-7.ts
-rw-r--r--. 1 nobody nobody 5487720 7月  16 07:03 live-8.ts
-rw-r--r--. 1 nobody nobody 6585452 7月  16 07:03 live-9.ts
-rw-r--r--. 1 nobody nobody     155 7月  16 07:04 live.m3u8

(2) Compruebe si desea enviar a Tencent Cloud

Si la inserción es exitosa, puede ver las palabras en la transmisión en vivo en el estado de la interfaz de administración de transmisión.

Inserte la descripción de la imagen aquí

Haga clic en la prueba en funcionamiento para ver el video en vivo de la cámara de la siguiente manera:

Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/NicolasLearner/article/details/112938221
Recomendado
Clasificación